Claude Code
向 Claude Code 添加 MCP 服务器(claude mcp add、.mcp.json、作用域)
如何向 Claude Code 添加 MCP 服务器?
对于远程服务器,运行 claude mcp add --transport http NAME URL;对于本地 stdio 服务器,运行 claude mcp add [options] NAME -- COMMAND [args]。服务器默认保存在 local 作用域,因此只有你能看到,且仅限当前项目。使用 --scope project 写入共享的 .mcp.json,或使用 --scope user 让服务器在你的所有项目中可用。
本文译自英文版指南。命令、配置键与代码均保持原样;如有出入,以英文版为准。 阅读英文原版 → · 其他语言: 日本語 · 한국어 · Español · Português (Brasil)
设置一变,第一时间知道
当这些工具的设置、参数或权限规则发生变化时,每周一封邮件通知你(英文),内容均对照官方文档核实。
添加远程 HTTP 或本地 stdio 服务器
HTTP 是远程服务器的推荐传输方式。Stdio 服务器作为本地进程在你的机器上运行。对于 stdio,-- 分隔符将 Claude 自身的选项(如 --transport、--env 和 --scope)与启动服务器的命令分开。-- 之后的所有内容都会原样传给服务器。
bash
# Remote HTTP server claude mcp add --transport http notion https://mcp.notion.com/mcp # HTTP server with a Bearer token header claude mcp add --transport http secure-api https://api.example.com/mcp \ --header "Authorization: Bearer YOUR_TOKEN" # Local stdio server with an environment variable claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \ -- npx -y airtable-mcp-server
- 使用 -e 或 --env 设置环境变量,例如 -e KEY=value。
- 如果服务器名紧跟在 --env 之后,CLI 会将该名称当作另一个键值对并拒绝。请在 --env 和名称之间放置另一个选项,例如 --transport stdio。
- --transport 和 --header 也接受简写形式 -t 和 -H。
- SSE 已弃用。你仍可传入 --transport sse 连接仅支持 SSE 的服务器。
- 如果你已有服务器的 JSON 配置,可使用 claude mcp add-json NAME 'JSON' 添加。
选择作用域并使用 .mcp.json
使用 -s 或 --scope 从三种作用域中选择一种。Local(默认)仅在当前项目中加载,存储在 ~/.claude.json 中。Project 存储在项目根目录的 .mcp.json 中,因此团队可通过版本控制获得它。User 同样存储在 ~/.claude.json 中,但会在你的所有项目中加载。当同一服务器名在多个作用域中定义时,local 优先于 project,project 优先于 user。
bash
claude mcp add --transport http shared-server --scope project https://example.com/mcp claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic
.mcp.json 支持在 command、args、env、url 和 headers 中展开 ${VAR} 和 ${VAR:-default}。远程条目务必设置 type:有 url 但没有 type 的条目属于配置错误,因为 Claude Code 会把没有 type 的条目视为 stdio 服务器。
.mcp.json
{
"mcpServers": {
"api-server": {
"type": "http",
"url": "${API_BASE_URL:-https://api.example.com}/mcp",
"headers": {
"Authorization": "Bearer ${API_KEY}"
}
},
"local-weather": {
"type": "stdio",
"command": "/path/to/weather-cli",
"args": ["--api-key", "${WEATHER_API_KEY}"],
"env": { "CACHE_DIR": "/tmp" }
}
}
}- Claude Code 在使用 .mcp.json 中的项目作用域服务器之前会请你批准。使用 claude mcp reset-project-choices 重置这些选择。
- 如果引用的变量未设置且没有默认值,服务器仍会以字面的 ${VAR} 文本加载,并且 claude mcp list 会显示警告。
使用 OAuth 登录并管理服务器
Claude Code 支持远程服务器的 OAuth 2.0。添加需要登录的服务器后,在 Claude Code 中运行 /mcp,并在浏览器中完成登录。Token 会被安全存储并自动刷新。在 /mcp 菜单中使用 Clear authentication 可撤销访问。
bash
claude mcp list claude mcp get notion claude mcp remove notion claude mcp login sentry claude mcp logout sentry
移除远程服务器也会删除 Claude Code 为其存储的 OAuth token。要从某个作用域中移除定义,请运行 claude mcp remove NAME --scope SCOPE。
超时与输出限制
- MCP_TIMEOUT 以毫秒为单位设置服务器启动超时,例如 MCP_TIMEOUT=10000 claude。
- MCP_TOOL_TIMEOUT 设置工具执行超时。可在某个服务器的 .mcp.json 条目中用 timeout 字段(毫秒)为其单独覆盖。
- 当 MCP 工具输出超过 10,000 token 时,Claude Code 会发出警告,并默认将其上限设为 25,000 token。使用 MAX_MCP_OUTPUT_TOKENS 提高上限。
bash
export MAX_MCP_OUTPUT_TOKENS=50000 MCP_TIMEOUT=10000 claude
来源
以下为本指南核对过的官方文档(英文)。 英文版核对日期: 2026-10-18
更多中文指南
- 在任意 AI 编程 agent 中允许所有命令:Cursor、Claude Code、Codex、Gemini CLI、Copilot CLI 及另外 7 款(2026)
- 各 AI 编程 agent 的规则与指令文件:.cursor/rules、CLAUDE.md、AGENTS.md、GEMINI.md、Copilot instructions 等(2026)
- 各 AI 编程 agent 的设置文件位置:Claude Code、Cursor、Codex、Gemini CLI、OpenCode、Qwen Code、Amp 和 Factory Droid(2026)
- 为任意 AI 编程 agent 添加 MCP server:Claude Code、Cursor、Codex、Gemini CLI、VS Code 及另外 8 款(2026)
- 各 AI 编程 agent 中的 hook:Claude Code、Cursor、Gemini CLI、GitHub Copilot、Kiro 和 Factory Droid(2026)
- 各 AI 编程 agent 中的 Agent Skills(SKILL.md):Claude Code、Codex、Cline、Amp 和 OpenHands(2026)
- Claude Code 权限:allow、ask 和 deny 规则、规则语法与允许的工具
- 如何允许 Claude Code 运行所有命令:权限模式、allow 规则与跳过权限
- 如何允许 Cursor 运行所有命令:Run Everything、allowlist 与 sandbox
- Cursor 规则设置:项目、用户和 Team Rules、.mdc frontmatter、globs 与 AGENTS.md
- Subagent 与自定义 agent 对比:Claude Code vs Codex vs Cursor vs Gemini CLI vs GitHub Copilot(2026)