AI

How Do You Connect MCP to Claude?

Connect Claude Code or Claude Desktop to an MCP server. Learn where the config lives, how bearer-key auth works, and what to do when OAuth isn't supported.

claudemcpclaude desktopclaude codesetup

Connecting MCP to Claude means registering a server in Claude's MCP configuration so the model can call its tools. Claude was the first AI assistant to support MCP — Anthropic created and open-sourced the protocol in November 2024 and shipped local server support in the Claude Desktop apps at launch (Anthropic).

The context makes the setup worth understanding: Gartner projects that 33% of enterprise software applications will include agentic AI by 2028, up from less than 1% in 2024, so the number of servers worth connecting keeps growing (Gartner).

What Are the Options for Connecting Claude?

There are two paths, and picking the right one avoids most frustration:

  1. A direct HTTP server config. You add the server's URL and an Authorization header with a bearer token. This works for servers that authenticate with an API key.
  2. A built-in remote connector. Some services publish their own connector that Claude can add directly, usually via OAuth.

Neither is universally better. The rule is simple: use the method the server actually supports. If the server only issues API keys, use the HTTP config. If it runs a full OAuth flow, the connector is smoother.

How Do You Add an HTTP Server to Claude?

The configuration lives in an mcpServers object. A minimal remote entry looks like this:

{
  "mcpServers": {
    "your-server": {
      "type": "http",
      "url": "https://example.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}
  • Claude Desktop reads claude_desktop_config.json from its application support folder.
  • Claude Code reads a project .mcp.json or your user-level MCP settings.

After editing, restart Claude Desktop or reload Claude Code. Run /mcp in Claude Code to confirm the server shows as connected.

Why Doesn't My OAuth Connector Work?

This is the most common confusion. Claude's remote connector directory assumes OAuth. If a server implements only API-key authentication, an OAuth connector cannot complete the handshake and connection attempts fail.

The MCP specification supports OAuth, and servers that implement it can act as their own authorization provider (Cloudflare). But implementing OAuth well is real work, so many servers ship API-key auth first. For those, use the bearer-header config above — it is not a downgrade, just a different credential type.

How Do You Verify the Connection?

Ask Claude something read-only first: "Using the server, list my items." A data response confirms the URL, the token, and tool discovery all work.

Then check scope. A non-admin key should only see what it owns. If it sees more than expected, stop and fix the credential before running anything. MCP servers expose tools, so a careless grant is a real access grant. GitGuardian's 2025 State of Secrets Sprawl found 23,770,171 new hardcoded secrets added to public GitHub repositories in 2024, a 25% increase, and 70% of secrets leaked in 2022 were still valid (GitGuardian). Leaked credentials rarely get revoked, which is why scope matters.

What Errors Will You See?

Error Meaning Fix
Connected, zero tools Server exposes no tools or wrong scope Check server config
Auth failure on every call Token wrong, expired, or revoked Issue a new token
Connector cannot authenticate OAuth expected, API key provided Use HTTP header config
Tools time out Long-running server call Poll status instead

Keep long-running actions out of the synchronous path. A well-built server returns an ID and lets the agent poll, rather than blocking until a job finishes.

How Conbersa Works With Claude

The Conbersa MCP server uses bearer-key auth over Streamable HTTP, so the HTTP config is the supported path. Add https://api.conbersa.ai/mcp with Authorization: Bearer cb_live_..., and Claude can operate a fleet of real phones: post to multiple accounts, run engagement, and schedule distribution. Step-by-step setup is in Connect Claude to Conbersa.

Neil Ruaro
Founder, Conbersa

We run agentic distribution on a fleet of real phones — and write up what we learn helping founders escape the cold start. Got a topic you want covered? Tell us.

FAQ

Frequently asked questions

Add the server to Claude's MCP configuration as an HTTP server with its URL and headers, then restart or reload the client. Claude Desktop uses claude_desktop_config.json; Claude Code uses a project or user-level MCP config. The tools appear automatically once connected.
Yes. You can configure an HTTP server with an Authorization header carrying a bearer token. Some services also expose their own remote connector with OAuth. Use whichever the server supports, and note that endpoints implementing only API keys cannot use an OAuth-only connector.
Claude Desktop stores it as claude_desktop_config.json in its application support folder. Claude Code reads a project .mcp.json file or your user-level MCP settings. Both use the same mcpServers object shape, so a server entry is nearly identical between them. Keep any live API key out of version control.
The Conbersa Blog

New guides, straight to your inbox.

Tactics on organic distribution and the cold-start problem. What's actually working, no fluff.