Authorization
Every request to the MCP server carries an Authorization: Bearer header. What the token is decides who the assistant acts as.
| Sign in with Monotree (OAuth) | API token | |
|---|---|---|
| Header | OAuth access token issued by Monotree | mono_ token from the CMS |
| Acts as | The signed-in person | The admin who created the token |
| Who can use it | Admins, global and group editors, managers | Anyone holding the token |
| Visibility | The person's CMS visibility: managers and group editors see their own groups | Company-wide, limited by the token's scopes |
| Tools offered | Filtered by role | Filtered by scope |
| Typical client | Claude, ChatGPT, Gemini | Claude Code, Cursor, scripts |
| Revoke | CMS → Open API → AI Connectors, or remove in the client | CMS → Open API → API Tokens |
Signing in with Monotree
The server implements OAuth 2.1 with PKCE and dynamic client registration, so supported clients configure themselves from the URL. Discovery documents are published at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server.
- Only admins, editors and managers can approve a connection. Other employees see a message that their role does not permit connecting AI clients.
- The role check runs on every request. If a person loses their role, their assistant loses access immediately.
- Access tokens last 12 hours and refresh automatically. A connection that goes unused for 90 days expires.
- One OAuth scope exists,
mcp:use. What the assistant can do is decided per tool by the person's role.
Automatic registration accepts callback URLs on claude.ai, claude.com, chatgpt.com, chat.openai.com, gemini.google.com and http://localhost. Other domains are rejected; see Connect a client.
Using an API token
An Open API token works on the MCP server as well. Create MCP token on the AI Connectors tab creates one with the right scopes, but any token works and only the tools whose scope it carries are offered.
- The assistant acts as the token's user, so drafts are attributed to that admin.
- Tokens are not limited by group membership. Use the sign-in flow when a manager should only see their own departments.
- A token with an IP restriction is rejected when the client's IP does not match. Leave the restriction empty for AI clients.
- The
call_open_apitool is never offered to tokens. It is reserved for signed-in admins.
What each role can do
| Role | Read | Write |
|---|---|---|
| Admin | Everything | Everything, including creating groups and the raw Open API fallback |
| Global editor | All content, content statistics and reach | Content drafts, chapters, quizzes, journeys, assignments |
| Group editor | Content targeted at the groups they edit | Drafts targeted at those groups |
| Manager | Content targeted at them, statistics and reports for the departments they manage | Announcement and event drafts for their departments, course assignments |
The Tools reference lists the roles per tool.
Feature flag and limits
- The MCP server is enabled per company by Monotree. When it is off,
/mcpreturns403and the discovery documents return404. - Requests are limited to 60 per minute per signed-in person or token, the same default as the Open API. The limit can be raised per company.
- Tools that belong to features that are off for your company (org chart, Manager Hub, to-do lists) are not offered.