Skip to main content
Every AI platform below talks to the same Rings MCP server. Whatever you are setting up, you need exactly two things:

Server URL

https://production-api.joinrings.com/mcp

Your Rings login

Sign in through the OAuth prompt the client shows you. No client ID or secret to paste.
The server supports OAuth 2.0 Dynamic Client Registration and publishes its metadata at /.well-known/oauth-authorization-server. Clients discover the endpoints themselves, so leave Client ID and Client Secret blank unless a form marks them required.

Pick your platform

Claude

Claude apps, Claude Code, and the Claude API

ChatGPT

ChatGPT developer mode and the OpenAI Responses API

Cursor

Cursor IDE and Cursor Agents

Perplexity

Perplexity custom remote connectors

VS Code

GitHub Copilot agent mode in VS Code

Windsurf

Windsurf Cascade

Gemini CLI

Google Gemini CLI

Copilot Studio

Microsoft Copilot Studio agents

Other clients

Zed, Cline, Goose, and any other MCP client

Which auth should I use?

Both paths give the client the same permissions the signed-in user already has in Rings. See the Quickstart for how to mint an API key.
With a tenant-scoped API key, also send x-rings-user-id: <user UUID> to act as a specific user. Tools that need a user identity — meetings, tasks, all writes, /relationships/mine — return 403 without it.

Requirements the client must meet

If a client asks you to choose a transport, pick Streamable HTTP, not SSE.

Verify the connection

Once connected, ask the assistant:
You should see Rings tools listed and a company record come back. If the tool list is empty, the client connected but never completed OAuth — reconnect and finish the sign-in prompt.

Troubleshooting

Authentication did not complete. Disconnect and re-add the connector, and make sure you finish the browser sign-in and land back on the client.
The OAuth token expired or the API key is wrong. Reconnect, or check that the key is sent as x-api-key and not Authorization: Bearer.
Those tools need a user identity. Use a user-scoped key, or add the x-rings-user-id header to a tenant-scoped key.
Per-second and monthly limits apply. Respect Retry-After and back off — see rate limiting.
Reads route to a replica shortly after a write. Use the UUID the write returned instead of re-fetching to confirm it worked.