acme-corp in
acme-corp.parable.work. The path names the Workspace. Do not send an
X-Tenant header.
Choose how the host signs in
Both ways read with the roles of the person who signed in or created the
token. Neither way reaches a different Workspace.
Allow external agents
Do this step first, for either way. It is off in every Workspace until a person turns it on.- In the Workspace app, open Protection → Access Tokens.
- Turn on Allow external agents.
tenant.auth.manage). While it is off:
- Every MCP token and every sign-in from a host is refused with
403(codeWA-PAT-006). - Nobody can create an MCP token.
- The sign-in page does not offer the Workspace.
A host sends what it reads to its own model provider. Your Workspace’s AI
processor settings do not cover that provider.
Sign in with OAuth
1
Add the server without a token
Follow the tab for your host.In Claude Code, run
- Claude Code
- Claude
- Cursor
- VS Code
/mcp. Choose parable, then Authenticate.2
Allow access on the consent page
The host opens the Workspace app in your browser. Sign in if the app
asks you to. The consent page then asks: “Allow … to read data in your
Workspace?” It shows:
- Where the sign-in goes: “an application on this computer”, or a host on the internet. A sign-in that goes to the internet, or that comes from a host that gave no name, has a caution.
- The name the host gives itself. Any program can choose any name, so allow only a sign-in that you started yourself just now.
- The Workspaces you may grant. Only Workspaces that allow external agents are on the list.
3
Ask a question
Ask the host a question about your data, such as “Which Provider tables
can you query in Parable?” In Claude Code,
/mcp lists the server and
its tools.data:read). Its access token lasts one hour, and
the host refreshes it. A grant that the host does not use for 30 days
expires, and you sign in again.
To end a grant from Claude Code, run claude mcp logout parable. The
Workspace app has no list of grants. To refuse every grant in the Workspace
at once, turn Allow external agents off.
The server takes hosts that register as desktop applications. A host whose
sign-in returns to an address that is not on localhost and not on HTTPS
cannot sign in. If the sign-in fails with invalid_redirect_uri or
invalid_client_metadata, use an MCP token with that host.
Use an MCP token
1
Create an MCP token
- In the Workspace app, open Protection → Access Tokens.
- Select Create token.
- In Use it for, select MCP.
- In Name, type where you use the token, such as
Claude Code on my laptop. - In Expires in, select when the token stops working.
- Select Create token.
- Copy the token. The app shows it one time only.
PARABLE_MCP_TOKEN.2
Add the server with the token
The host sends the token in the Use a different server name from your OAuth entry, such as
Authorization header. Use the slug of
the Workspace where you created the token.- Claude Code
- Claude
- Cursor
- VS Code
parable-token. Claude Code remembers a needed sign-in by server
name.To share the server with your team in the project’s .mcp.json, keep
the token out of the file. Each person sets PARABLE_MCP_TOKEN to
their own token:.mcp.json
3
Check the connection
To check the server without a host, list its tools:The answer lists the tools that your roles allow. If
query_provider_pool is missing, your roles cannot query Provider data.
A Workspace administrator can give you the Provider Pools Reader role.How the server works
- Transport. The server speaks MCP
2025-11-25over streamable HTTP. It takesPOSTonly and answers other methods with405. It keeps no session and sends noMcp-Session-Id, so every request carries its ownAuthorizationheader. A request can calltools/listwithout aninitializebefore it. - Identity. Each request runs as the person, with the roles that the person holds in the Workspace at that moment. The server lists only the tools that those roles allow. It never forwards your credential.
- Rate limit. Each credential can make 120 requests a minute to each
Workspace. More requests get
429withRetry-After. - Revocation. For up to 5 seconds after a revocation or a role change, the server can still list tools from its last answer. A tool call is refused.
- Audit. Parable keeps an audit record of each call that the server makes
for you. The record names your host by its
X-Parable-Clientheader, or by itsUser-Agentwhen that header is absent. - Browser origins. A request with an
Originheader must come from an origin that Parable allows. Desktop and command-line hosts send noOrigin. - Sign-in metadata. A
401carries aWWW-Authenticateheader that points to the protected-resource metadata athttps://mcp.parable.work/mcp/.well-known/oauth-protected-resource. It names the authorization server, at the same host, and the one scope,data:read. The authorization server publishes its own metadata athttps://mcp.parable.work/.well-known/oauth-authorization-server.
Errors
A tool that fails returns an error result, not one of these statuses. See
Tool errors.