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

# Connect to Claude Desktop

> Add a Metabind MCP server to Claude Desktop via OAuth — no config files, no API keys

Claude Desktop is the most common MCP host. Connecting your Metabind project to Claude Desktop lets you test the full chain — AI picks the tool, your tool runs, Claude renders the result — and is also how end users add your tools to their conversations.

Claude Desktop authenticates against Metabind with OAuth: you paste a URL, click **Connect**, approve the requested scopes, and Claude Desktop holds the token from then on. There is no API key to copy or config file to edit.

## Two connections, two reasons

Most teams configure Claude Desktop *twice* — once for draft, once for production:

| Connection        | Endpoint                                        | Used for                           |
| ----------------- | ----------------------------------------------- | ---------------------------------- |
| `<project>-draft` | `https://mcp.metabind.ai/<org>/<project>/draft` | Day-to-day development testing     |
| `<project>`       | `https://mcp.metabind.ai/<org>/<project>`       | End-user access to published tools |

This guide covers both. They use the same connection flow — just different URLs.

## Prerequisites

* Claude Desktop installed ([download](https://claude.ai/download)).
* A Metabind project with at least one published Type. See [Your first MCP App](/guides/getting-started/your-first-mcp-app).
* A Metabind login that has access to the project. The OAuth flow uses your Metabind session, so anyone who connects must be a member of the organization.

## Get the connection URL

In MCP App Studio:

1. Open the project.
2. On the **Server** tab, switch the endpoint dropdown to **Production** (for the published URL) or **Draft** (for the working copy).
3. Copy the URL.

<Frame>
  <img src="https://mintcdn.com/yapstudios/ZJLavl8Q7LnCwqCq/images/connecting/claude-desktop-connect-tab.png?fit=max&auto=format&n=ZJLavl8Q7LnCwqCq&q=85&s=28ec98f0198b140d21350fd69100f20c" alt="The Server tab in MCP App Studio with the Production/Draft endpoint dropdown open, exposing the connection URLs to copy" width="3680" height="2264" data-path="images/connecting/claude-desktop-connect-tab.png" />
</Frame>

## Add the connector in Claude Desktop

1. Open **Claude → Settings → Connectors**.
2. Scroll to **Add custom connector**, paste the URL from MCP App Studio, and click **Add**.
3. The new connector appears with a **Connect** button. Click it.

<Frame>
  <img src="https://mintcdn.com/yapstudios/ZJLavl8Q7LnCwqCq/images/connecting/claude-add-connector.png?fit=max&auto=format&n=ZJLavl8Q7LnCwqCq&q=85&s=c4b9970b1a2aeda4a5b490e20d68b4d8" alt="Claude Desktop's Settings → Connectors screen with a custom MCP connector listed and a Connect button beside it" width="3680" height="2392" data-path="images/connecting/claude-add-connector.png" />
</Frame>

Claude Desktop opens an OAuth authorization page on Metabind. Sign in if you aren't already, then review the requested scopes and click **Authorize**.

<Frame>
  <img src="https://mintcdn.com/yapstudios/ZJLavl8Q7LnCwqCq/images/connecting/oauth-authorize.png?fit=max&auto=format&n=ZJLavl8Q7LnCwqCq&q=85&s=e04c45d287c8eee936c425fd9d487d1d" alt="The Metabind OAuth authorization page asking the user to authorize Claude Desktop to access the project — read/modify project data, run MCP tools, and access settings" width="3680" height="2392" data-path="images/connecting/oauth-authorize.png" />
</Frame>

The popup closes and the connector flips to **Connected** in Claude Desktop's settings. Your project's tools are now available in conversations.

## Verify the connection

In Claude Desktop, open a new conversation and check the connectors list (the icon in the message composer). The Metabind project name should appear with a green status dot. If it shows red, click for the error — usually an expired session or revoked authorization.

Once green, ask Claude to use one of your tools:

```
You: Show me the running shoes product detail.
Claude: [calls product_detail with appropriate inputs, renders the result]
```

If the tool runs but returns errors, check the MCP App Studio audit log for the call.

## Switching between draft and production

Add each as a separate custom connector — paste the draft URL, authorize; paste the production URL, authorize. Claude Desktop lists them side-by-side. You can have one or both enabled. For day-to-day:

* **Building?** Enable draft, disable production. Conversations route to your latest draft state.
* **Testing publish behavior?** Disable draft, enable production. You're seeing what end users see.
* **Both?** Claude Desktop lists tools from both, and the AI may call either. Useful for A/B-style comparisons but confusing if tool names overlap.

## Authorization management

OAuth grants are issued and revoked in two places:

* **Claude Desktop side.** Disconnect the connector in **Settings → Connectors** to drop the local token. Re-authorize whenever you want it back.
* **Metabind side.** Open **Settings → Authorized apps** in MCP App Studio (organization scope) to see every active OAuth grant and revoke any of them. Revocation takes effect on the next request — Claude Desktop's connector will flip to a failed state until the user re-authorizes.

OAuth scopes are determined by the user's Metabind role. A Viewer can authorize a connector to read tools and project data; a Developer can also run draft tools; an Admin can do everything the role allows. Connecting on behalf of someone else is not supported — each user authorizes with their own Metabind login.

<Warning>
  The OAuth grant is tied to the Metabind session that approved it. Removing a user from the organization invalidates every grant they issued — their connectors stop working on the next call.
</Warning>

## What end users see

When an end user adds your project to Claude Desktop:

1. They paste the project URL into Claude → Settings → Connectors → Add custom connector.
2. Claude Desktop opens the Metabind OAuth page.
3. They sign in to Metabind (or sign up, if invited) and click **Authorize**.
4. Your project's tools and Instructions appear in their available tool palette.

Tools and Instructions show up the same way in Claude Desktop as built-in tools. The user doesn't need to know they're rendered through Metabind — the experience is just "Claude can do this thing."

## Troubleshooting

| Symptom                                   | Likely cause                                                          |
| ----------------------------------------- | --------------------------------------------------------------------- |
| Connector shows red, no tools listed      | OAuth grant revoked, or the user's Metabind session expired           |
| Connect click doesn't open the auth popup | Claude Desktop has a stale URL — remove and re-add the connector      |
| Authorize click does nothing              | Pop-up blocker, or the user is not a member of the organization       |
| Tools listed but every call fails         | The user's Metabind role doesn't include the scopes the tool needs    |
| Tools appear stale (old version)          | Claude Desktop has cached schemas; restart the app to force a re-list |

For deeper debugging, every call appears in the project's audit log with timestamp, input, output, and error.

## Related

<CardGroup cols={2}>
  <Card title="Connect to ChatGPT" icon="message" href="/guides/connecting-to-mcp-hosts/chatgpt">
    Same OAuth flow, different host.
  </Card>

  <Card title="Custom MCP hosts" icon="plug-circle-plus" href="/guides/connecting-to-mcp-hosts/custom-hosts">
    Connect any MCP-compatible client.
  </Card>

  <Card title="Draft and production" icon="code-branch" href="/guides/publishing/draft-and-production">
    Why two endpoints exist and when to use each.
  </Card>

  <Card title="Audit logs" icon="clipboard-list" href="/guides/operations/audit-logs">
    Per-call observability for debugging.
  </Card>
</CardGroup>
