Skip to main content
The Parable MCP server lets an AI assistant, which MCP calls a host, read one Workspace. The host can query Provider data with SQL, read published Plots, check Provider connections and Taps, and read the Workspace’s Powers. Every call acts as one person, with that person’s roles, and only reads. Tools, prompts, and limits lists what the server offers. The server address for a Workspace is:
The slug is the first part of your Workspace’s address: 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.
  1. In the Workspace app, open Protection → Access Tokens.
  2. Turn on Allow external agents.
This setting needs a role that manages sign-in for the Workspace (tenant.auth.manage). While it is off:
  • Every MCP token and every sign-in from a host is refused with 403 (code WA-PAT-006).
  • Nobody can create an MCP token.
  • The sign-in page does not offer the Workspace.
Turning the setting off revokes nothing. When it is on again, MCP tokens work again, and a person who signed in from a host may need to sign in again.
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 /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.
Choose the Workspace and select Allow. The host then holds access for that Workspace and refreshes it without your help.
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.
A grant reads only (scope 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

  1. In the Workspace app, open Protection → Access Tokens.
  2. Select Create token.
  3. In Use it for, select MCP.
  4. In Name, type where you use the token, such as Claude Code on my laptop.
  5. In Expires in, select when the token stops working.
  6. Select Create token.
  7. Copy the token. The app shows it one time only.
You need a role that can query Provider data. MCP is available only while the Workspace allows external agents. Keep the token in a secret manager or an environment variable. The examples read it from PARABLE_MCP_TOKEN.
2

Add the server with the token

The host sends the token in the Authorization header. Use the slug of the Workspace where you created the token.
Use a different server name from your OAuth entry, such as 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.
Only an MCP token works here. The server refuses a Parable token, a SQL token, and a session from the app. When you stop using the server, remove it from the host, because the host’s configuration holds the token. Revoke the token in Protection → Access Tokens if it may have leaked.

How the server works

  • Transport. The server speaks MCP 2025-11-25 over streamable HTTP. It takes POST only and answers other methods with 405. It keeps no session and sends no Mcp-Session-Id, so every request carries its own Authorization header. A request can call tools/list without an initialize before 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 429 with Retry-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-Client header, or by its User-Agent when that header is absent.
  • Browser origins. A request with an Origin header must come from an origin that Parable allows. Desktop and command-line hosts send no Origin.
  • Sign-in metadata. A 401 carries a WWW-Authenticate header that points to the protected-resource metadata at https://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 at https://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.