The two ways in
An e-mail address such as assistant@pilot-company.example does not by itself give any app access. cMCP trusts only the company login (Keycloak). There are two ways in, and both start with a person or an administrator.
Who is the app working as?
A. As a person's helper (Claude Code, Claude Desktop)
The app acts for one person and never has more rights than that person.
- The person existsAn account admin has created their company login (user name, password, one-time code).
- Add the serverIn the app:
https://api.pilot.example/mcpwith client IDcmcp-mcp. - Person signs inA browser opens at the login site: password + one-time code. Nobody else can do this step.
- TokenThe app receives a short token (15 minutes, renewed while the session lasts: 2 h idle, 8 h at most).
- cMCP checksWho is the person? Which account? Active? Then the app appears under My apps.
- Works within limitsReads what the person may read; saves to its own Agent memory or the person's User memory.
More only by choice of people: a lead gives a time-limited grant to write to a team or project; the person switches Personal access on per app. Approving is never possible for an app.
B. As its own worker (a "bot", for example bot-jira-triage)
The app has its own identity and runs without a person signing in. A person is always responsible for it.
- Org admin adds the botName, purpose, requests per hour and a sponsor (a real person) in People and bots.
- Super-user creates the loginA server command makes the bot's login client; its secret goes into a root-only file.
- The app is configuredWith the client name and secret (never typed into a chat or stored in a repo).
- App signs in aloneClient credentials: no browser, no person. cMCP checks that the sponsor is still active.
- Starts smallReads its home team and the organization only. Never Personal, restricted or Client memory.
- GrantsA lead gives a grant (up to 90 days) to write somewhere. The sponsor or an org admin can suspend it at once.
Can a Claude app connect on its own if it has its own address like assistant@pilot-company.example?
No, not on its own. The address is only a name. To be let in, either a person signs in once for the app (route A), or an organisation admin and a super-user create it as a bot with a sponsor (route B). Nothing is created automatically, and an app cannot register itself.
What about the Claude that works with you on this server? It is registered as a bot, bot-claude-server, in a separate single-user test account (not in the pilot account, which holds real company memory). It signs in alone with its own secret, reads only its home team and the organization of that test account, saves to its own memory, and needs a grant to write elsewhere. Its sponsor can suspend it at once.
Claude on the web or phone: not tested yet. Those connectors call back to Anthropic's own address, which is not registered on the cMCP login client, so they cannot connect until that is added and reviewed (a Phase 2 item).
| A. Person's helper | B. Bot (own worker) | |
|---|---|---|
| Who signs in | The person, in a browser, with a one-time code | The app itself, with a client secret |
| Acts as | The person (never more) | Itself, answerable to its sponsor |
| Reads | What the person may read | Home team and organization only |
| Writes shared memory | Only with a lead's time-limited grant | Only with a grant (up to 90 days) |
| Personal memory | Only if the person switches it on for this app | Never |
| Can approve or manage | Never | Never |
| Stopped by | Person ends the session or removes the app; a lead revokes a grant | Sponsor or org admin: Suspend now |
Details: How to use (connect steps), Features and stack (permissions and API).