Skip to main content

MCP

MCP is the Model Context Protocol, an open standard that lets Claude Code use tools, files, and prompts from other programs. A program that offers them is an MCP server. For example, claude mcp add --transport http notion https://mcp.notion.com/mcp adds a server over HTTP. This page covers the big picture. The other pages list every option.

At a Glance​

QuestionAnswer
Can you use it?✅ Yes. Add servers with claude mcp add, .mcp.json, or --mcp-config.
Can you change it?✅ Yes. Config, settings, and env vars control servers, limits, and approvals.
Can you turn it on or off?/mcp enable and disable, disabledMcpjsonServers, --strict-mcp-config, and the policy lists.
Where does it live?.mcp.json, ~/.claude.json, plugin files, and managed settings
StatusDocumented Undocumented Gated

Transports​

The transport is how Claude Code talks to a server. Set it with type in the server entry. Source: Connect Claude Code to Tools via MCP, Control MCP Server Access for Your Organization, and the program (the server schema).

TransportStatusWhat It DoesHow It Works
stdioDocumentedRuns a local process.The default when type is missing. Needs command. Claude Code sets CLAUDE_PROJECT_DIR in the process env.
httpDocumentedTalks to a remote server over streamable HTTP.The recommended remote transport. streamable-http is an alias. Supports OAuth and headers.
⛔ sseDocumentedTalks to a remote server over server-sent events.Deprecated. --transport http tries HTTP first and falls back to SSE (2.1.265 and later).
wsDocumentedTalks to a remote server over WebSocket.Header-only auth, no OAuth. claude mcp add --transport does not accept it. The first connect is not retried. Use it in .mcp.json, add-json, plugins, and agent files.
sdkDocumentedAn in-process server of an SDK host.Only an SDK host can register it. Claude Code skips it in .mcp.json and settings.
sse-ideUndocumentedA server of an IDE extension over SSE.Has ideName and ideRunningInWindows. The idle timeout does not apply.
ws-ideUndocumentedA server of an IDE extension over WebSocket.Has ideName, authToken, and ideRunningInWindows.
claudeai-proxyUndocumentedA claude.ai connector through the MCP proxy.A config file cannot declare it. Claude Code says type "claudeai-proxy" is used only by claude.ai connectors.

Scopes​

A scope says where a server is stored and who sees it.

ScopeStatusWhat It IsHow It Works
localDocumentedA private server for one project.The default scope. Stored in ~/.claude.json under projects["<path>"].mcpServers.
projectDocumentedA server shared with the team.Stored in .mcp.json at the project root. Interactive sessions ask for approval.
userDocumentedA server for all your projects.Stored in ~/.claude.json under mcpServers.
PluginDocumentedServers that a plugin bundles.Named plugin:<plugin>:<server>. Tools are mcp__plugin_<plugin>_<server>__<tool>.
claude.ai connectorsDocumentedServers you added in claude.ai.Fetched at start for a claude.ai login. Lowest precedence.
managedDocumentedServers your organization provides.From managedMcpServers or managed-mcp.json. Ranks above every other source (2.1.259 and later).
dynamicUndocumentedServers passed at run time.Used for --mcp-config and for the remote copy from CLAUDE_CODE_REMOTE_MCP_CONFIG.
enterprise, agentUndocumentedOther scope names in the program.The full scope list is local, user, project, dynamic, enterprise, claudeai, managed, agent. Their use is unknown.

Example​

Add three kinds of servers
# Remote server over HTTP
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

# Local server with an env var (use -- before the command)
claude mcp add my-server -e API_KEY=xxx -- bunx my-mcp-server

# Shared with the team through .mcp.json
claude mcp add --scope project files -- bunx @example/files-server

How It Works​

Claude Code merges all sources and keeps one entry per name. Precedence is on the Server Configuration page. After a server connects, its tools get names like mcp__github__create_issue. See MCP Runtime.

Pages in This Section​

PageWhat It Covers
Server ConfigurationFile shape, options per transport, env var expansion, names, precedence
MCP Settings and PolicySettings keys, allow and deny lists, approvals, managed-mcp.json, flags
MCP CommandsEvery claude mcp subcommand and flag, and /mcp
MCP RuntimeTool names, resources, prompts, elicitation, channels, limits, recovery
MCP AuthenticationOAuth, headersHelper, XAA, claude.ai connectors
MCP Env VarsEvery MCP env var
MCP Settings KeysThe same keys on the settings side