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
| Question | Answer |
|---|---|
| Can you use it? | ✅ Yes. Add servers with claude mcp add, ., or --. |
| Can you change it? | ✅ Yes. Config, settings, and env vars control servers, limits, and approvals. |
| Can you turn it on or off? | / enable and disable, disabled, --, and the policy lists. |
| Where does it live? | ., ~/., plugin files, and managed settings |
| Status | Documented 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).
| Transport | Status | What It Does | How It Works |
|---|---|---|---|
stdio | Documented | Runs a local process. | The default when type is missing. Needs command. Claude Code sets CLAUDE_ in the process env. |
http | Documented | Talks to a remote server over streamable HTTP. | The recommended remote transport. streamable- is an alias. Supports OAuth and headers. |
⛔ sse | Documented | Talks to a remote server over server-sent events. | Deprecated. -- tries HTTP first and falls back to SSE (2. and later). |
ws | Documented | Talks to a remote server over WebSocket. | Header-only auth, no OAuth. claude mcp add -- does not accept it. The first connect is not retried. Use it in ., add-, plugins, and agent files. |
sdk | Documented | An in-process server of an SDK host. | Only an SDK host can register it. Claude Code skips it in . and settings. |
sse- | Undocumented | A server of an IDE extension over SSE. | Has ide and ide. The idle timeout does not apply. |
ws- | Undocumented | A server of an IDE extension over WebSocket. | Has ide, auth, and ide. |
claudeai- | Undocumented | A claude.ai connector through the MCP proxy. | A config file cannot declare it. Claude Code says type "claudeai-. |
Scopes
A scope says where a server is stored and who sees it.
| Scope | Status | What It Is | How It Works |
|---|---|---|---|
local | Documented | A private server for one project. | The default scope. Stored in ~/. under projects["<path>"].. |
project | Documented | A server shared with the team. | Stored in . at the project root. Interactive sessions ask for approval. |
user | Documented | A server for all your projects. | Stored in ~/. under mcp. |
| Plugin | Documented | Servers that a plugin bundles. | Named plugin:. Tools are mcp__. |
| claude.ai connectors | Documented | Servers you added in claude.ai. | Fetched at start for a claude.ai login. Lowest precedence. |
managed | Documented | Servers your organization provides. | From managed or managed-. Ranks above every other source (2. and later). |
dynamic | Undocumented | Servers passed at run time. | Used for -- and for the remote copy from CLAUDE_. |
enterprise, agent | Undocumented | Other scope names in the program. | The full scope list is local, user, project, dynamic, enterprise, claudeai, managed, agent. Their use is unknown. |
Example
# 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
| Page | What It Covers |
|---|---|
| Server Configuration | File shape, options per transport, env var expansion, names, precedence |
| MCP Settings and Policy | Settings keys, allow and deny lists, approvals, managed-, flags |
| MCP Commands | Every claude mcp subcommand and flag, and / |
| MCP Runtime | Tool names, resources, prompts, elicitation, channels, limits, recovery |
| MCP Authentication | OAuth, headers, XAA, claude.ai connectors |
| MCP Env Vars | Every MCP env var |
| MCP Settings Keys | The same keys on the settings side |
Related Pages
- Plugins can bundle MCP servers.
- Plugin and MCP Env Vars