> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rings.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Claude

> Add Rings as a custom connector in the Claude apps, Claude Code, and the Claude API

## Claude apps (web, desktop, mobile)

Connectors are stored on your Claude account, so adding one on the web makes it
available in the desktop and mobile apps too.

<Tabs>
  <Tab title="Pro / Max">
    <Steps>
      <Step title="Open connector settings">
        In Claude, go to **Settings → Connectors** (under **Customize**).
      </Step>

      <Step title="Add a custom connector">
        Click **+**, then **Add custom connector**.
      </Step>

      <Step title="Paste the server URL">
        ```text theme={null}
        https://production-api.joinrings.com/mcp
        ```

        Leave **Advanced settings** alone — Rings registers the client
        automatically, so no OAuth client ID or secret is needed.
      </Step>

      <Step title="Click Add, then sign in">
        Claude opens the Rings OAuth screen. Sign in and approve access.
      </Step>

      <Step title="Turn it on in a chat">
        Open the tools menu in the chat composer and enable **Rings**.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Team / Enterprise">
    An Owner adds the connector once for the organization; members then connect
    their own Rings account to it.

    <Steps>
      <Step title="Owner: open organization settings">
        Go to **Settings → Organization settings → Connectors** and click **Add**.
      </Step>

      <Step title="Owner: choose Custom → Web">
        Hover **Custom**, select **Web**, and paste:

        ```text theme={null}
        https://production-api.joinrings.com/mcp
        ```

        Then click **Add**.
      </Step>

      <Step title="Members: connect">
        Each member opens **Settings → Connectors**, finds **Rings**, and clicks
        **Connect** to complete OAuth with their own Rings login.
      </Step>
    </Steps>

    <Note>
      Members cannot add custom connectors themselves on Team and Enterprise
      plans — only Owners can.
    </Note>
  </Tab>
</Tabs>

## Claude Code

Add the server from your terminal, then authenticate in the session:

```bash theme={null}
claude mcp add --transport http rings https://production-api.joinrings.com/mcp
```

Start Claude Code and run `/mcp`, select **rings**, and complete the browser
sign-in. Tokens are stored and refreshed automatically.

To use an API key instead of OAuth:

```bash theme={null}
claude mcp add --transport http rings https://production-api.joinrings.com/mcp --header "x-api-key: $RINGS_API_KEY"
```

Add `--scope project` to write the entry to a checked-in `.mcp.json` your team
shares:

```json theme={null}
{
  "mcpServers": {
    "rings": {
      "type": "http",
      "url": "https://production-api.joinrings.com/mcp",
      "headers": {
        "x-api-key": "${RINGS_API_KEY}"
      }
    }
  }
}
```

## Claude API

Call the Rings MCP server directly from the Messages API with the MCP connector
beta — no MCP client to run:

```bash theme={null}
curl https://api.anthropic.com/v1/messages \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: mcp-client-2025-11-20" \
  -d '{
    "model": "claude-opus-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Who on our team is closest to Acme Corp?"}],
    "mcp_servers": [
      {
        "type": "url",
        "url": "https://production-api.joinrings.com/mcp",
        "name": "rings",
        "authorization_token": "YOUR_OAUTH_ACCESS_TOKEN"
      }
    ],
    "tools": [{"type": "mcp_toolset", "mcp_server_name": "rings"}]
  }'
```

<Note>
  `authorization_token` expects an OAuth access token, which your application
  obtains and refreshes. For a server-side integration that uses an API key
  instead, run your own MCP client and send `x-api-key` on the connection.
</Note>

To hand the model a narrower surface, allowlist specific tools in the toolset.
Get the exact tool names from an MCP `list_tools` request first:

```json theme={null}
{
  "type": "mcp_toolset",
  "mcp_server_name": "rings",
  "default_config": { "enabled": false },
  "configs": {
    "<tool_name>": { "enabled": true },
    "<another_tool_name>": { "enabled": true }
  }
}
```
