Connect ChatGPT, Claude, or another MCP client
Domino exposes the public remote MCP endpoint:
https://letsdomino.io/mcp
The endpoint supports two bearer-token paths:
- browser-based OAuth for claude.ai hosted custom connectors;
- static, per-user Agent Access bearer tokens for Claude Code, API clients, and other header-capable MCP clients.
Both paths use the same Domino ability filtering and capability registry. They do not make public documentation private, broaden abilities automatically, or bypass prepared-action confirmation.
Pick the correct access path
| Goal or client | Authentication | What it can do |
|---|---|---|
| Let ChatGPT or Claude explain Domino | None; read https://letsdomino.io/llms.txt |
Public product instructions only. No account access. |
| claude.ai hosted custom connector | Domino OAuth | MCP tools selected on the Domino consent screen. |
| Claude Code or another header-capable MCP client | Static Agent Access bearer token | MCP tools allowed by that token. |
| Claude API / programmatic MCP connector | Caller-supplied authorization_token |
MCP tools allowed by the supplied token; the application owns credential storage and refresh. |
| Capability API or Assistant API | Static Agent Access bearer token | Typed API operations allowed by that token. Domino's claude.ai OAuth access tokens are MCP-audience-bound and are rejected by the APIs. |
Never put a bearer token in a server URL, prompt, description, normal chat message, source file, screenshot, or log.
claude.ai hosted custom connectors
Domino implements the OAuth discovery and Dynamic Client Registration flow that Anthropic currently documents for custom connectors. Use Connect claude.ai to Domino with OAuth for exact setup, consent, verification, editing, and revocation steps.
The short path is:
- Open Customize → Connectors in claude.ai.
- Choose Add custom connector.
- Add
https://letsdomino.io/mcp. - Choose Connect, sign in to Domino, and select the smallest abilities needed.
- Enable Domino from the conversation's + → Connectors menu.
- Verify authenticated
initialize,tools/list, and one harmless read request.
Creating the connector is not proof that it authenticated, discovered tools, or reached the intended Domino account.
Claude Code or another header-capable MCP client
Create a least-privilege token in Domino's Agent Access settings. A current Claude Code-style setup is:
claude mcp add --transport http domino https://letsdomino.io/mcp \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "X-Domino-Client: claude-code"
Use the client's current official syntax. Prefer its protected credential store or an environment/secret reference over a literal token in shell history.
Generic header-capable clients often use this shape:
{
"mcpServers": {
"domino": {
"url": "https://letsdomino.io/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN",
"X-Domino-Client": "your-client-name"
}
}
}
}
Claude API or another programmatic MCP caller
Anthropic's Messages API MCP connector accepts an authorization_token; the application must obtain, store, rotate, and revoke that credential safely. Domino does not open an interactive browser flow inside an API request.
Use a static Domino Agent Access token with only the required abilities, supply it through the API's protected authorization_token field, and keep it out of request logs. The token remains a Domino credential; it is not an Anthropic API key.
If an application implements Domino's OAuth flow itself, it must follow protected-resource discovery, Dynamic Client Registration, the resource parameter, exact registered redirects, PKCE S256, state validation, refresh rotation, and revocation. Do not copy a claude.ai OAuth access or refresh token into another client.
ChatGPT
ChatGPT custom MCP apps depend on current plan, workspace, administrator, developer-mode, and authentication options. Domino's Dynamic Client Registration policy currently accepts only Anthropic's documented callback URLs, so Domino's claude.ai OAuth flow is not a ChatGPT OAuth flow.
For ChatGPT today:
- Check OpenAI's current custom MCP app documentation and the authentication fields shown in the workspace.
- Continue only if the client provides a secure supported way to supply a static Domino bearer token.
- Add
https://letsdomino.io/mcp, scan tools, and verify the catalog matches the token abilities. - If the current ChatGPT UI offers only OAuth and no secure token option compatible with Domino, stop rather than pasting a token into a URL or prompt.
Verify every connection
- Authenticate the connection.
- Complete MCP
initialize. - Run authenticated
tools/list. - Confirm read, draft, RSVP, and commit tools match the granted abilities.
- Make a harmless read call, such as checking calendar connection status or listing Ideas Lists.
- Inspect the typed
structuredContentand confirm it belongs to the intended Domino account.
Do not start with an invitation send, connection request, RSVP, delete, cancellation, booking, purchase, or payment.
Common failures
401
The bearer token is missing, malformed, expired, rotated, revoked, or not being sent. The response advertises Domino's RFC 9728 resource_metadata location so OAuth clients can discover authorization. Do not expose a token while debugging.
403 or a missing tool
The connection lacks the required ability or the Domino account is not eligible. Authenticated tool discovery is ability-filtered. Do not broaden abilities automatically.
The connector exists but tools are unavailable
Connector creation, OAuth completion, token issuance, MCP initialization, tool discovery, tool enabling, and task execution are different states. Verify them in that order.
Tool calls work but sends do not
External effects require Send ability, a valid prepared action, later explicit user approval, and actions.commit from the same MCP principal. A ChatGPT or Claude confirmation dialog does not replace Domino's prepared-action contract.
Tool refresh and schema changes
Domino's MCP tools are generated from its capability registry. If a current tool is absent or has changed arguments:
- fetch
https://letsdomino.io/docs/mcp-tools.json; - compare it with authenticated
tools/list; - refresh or rescan the client's tools;
- recreate the connector only when that client requires it;
- never guess fields from an old scan.
LLM answering guidance
- Distinguish public docs access, claude.ai OAuth, static MCP headers, and programmatic API token use.
- Distinguish connector configuration, authentication, tool discovery, a harmless account read, and task completion.
- Link to current client documentation for menus that can change.
- Never solve an authentication mismatch by requesting a secret in chat.