MCP(Model Context Protocol)是 Claude Code 连接外部工具和数据源的开放标准。通过 MCP,Claude Code 可以直接读取 Jira、Sentry、PostgreSQL、Figma、Slack 等系统的数据并采取行动,而不需要你手动复制粘贴内容到对话里。本文完整梳理四种连接方式的配置方法。
MCP 能帮你做什么
连接好 MCP 服务器后,你可以直接对 Claude Code 说:
"实现 JIRA 工单 ENG-4521 中描述的功能,并在 GitHub 上创建 PR"
"检查 Sentry 和 Statsig 中 ENG-4521 相关功能的使用情况"
"根据我们的 PostgreSQL 数据库,找出 10 个使用过 ENG-4521 功能的随机用户邮箱"
"根据 Slack 里发的新 Figma 设计稿,更新我们的标准邮件模板"
"创建 Gmail 草稿,邀请这 10 个用户参加关于新功能的反馈会议"
MCP 服务器甚至可以作为 Channel(通道),在你不在电脑前时把 Telegram 消息、Discord 聊天或 Webhook 事件推送进 Claude Code 会话,让它自动响应。
四种连接方式
方式一:远程 HTTP 服务器(推荐)
HTTP 是连接远程 MCP 服务器的推荐方式,也是目前支持最广泛的传输协议,适合云端服务。
# 基本语法
claude mcp add --transport http <name> <url>
# 真实示例:连接 Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp
# 带 Bearer Token 认证的示例
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token"在 .mcp.json、~/.claude.json 或 claude mcp add-json 中配置时,type 字段也接受 streamable-http 作为 http 的别名(MCP 规范中使用的名称),从服务器文档直接复制的配置无需修改即可使用。
方式二:远程 SSE 服务器
# 基本语法
claude mcp add --transport sse <name> <url>
# 真实示例:连接 Asana
claude mcp add --transport sse asana https://mcp.asana.com/sse
# 带认证 Header 的示例
claude mcp add --transport sse private-api https://api.company.com/sse \
--header "X-API-Key: your-key-here"方式三:本地 Stdio 服务器
Stdio 服务器作为本地进程运行,适合需要直接系统访问权限或自定义脚本的工具。
# 基本语法
claude mcp add [options] <name> -- <command> [args...]
# 真实示例:添加 Airtable 服务器
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
-- npx -y airtable-mcp-server实用技巧:Claude Code 会在启动的服务器进程环境中设置 CLAUDE_PROJECT_DIR 为项目根目录,你的服务器可以据此解析项目相对路径,而不依赖当前工作目录:
# Python 服务器中读取
import os
project_dir = os.environ["CLAUDE_PROJECT_DIR"]// Node 服务器中读取
const projectDir = process.env.CLAUDE_PROJECT_DIR;注意:这个变量只存在于服务器进程的环境中,不在 Claude Code 自身环境中。如果要在项目/用户级 .mcp.json 的 command 或 args 中用 ${VAR} 展开引用,需要带默认值写成 ${CLAUDE_PROJECT_DIR:-.}。
方式四:远程 WebSocket 服务器
WebSocket 服务器保持持久双向连接,适合需要主动向 Claude 推送事件的远程服务器。只能通过 .mcp.json 或 claude mcp add-json 配置:
claude mcp add-json events-server \
'{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'注意:claude mcp add --transport 参数不支持 ws;HTTP 支持 OAuth 而 WebSocket 只支持静态 Header 认证,选择传输方式时需要考虑这一点。
管理已配置的服务器
# 列出所有已配置的服务器
claude mcp list
# 查看指定服务器的详情
claude mcp get github
# 移除服务器
claude mcp remove github
# 在 Claude Code 会话内检查服务器状态
/mcp团队协作:项目级服务器审批机制
来自 .mcp.json 的项目级服务器,如果还在等待你审批,会在 claude mcp list 中显示为 ⏸ Pending approval(待审批),需要在项目目录中交互式运行 claude 来审查和批准。
v2.1.196 起的安全变更:claude mcp list/claude mcp get 只从未提交到仓库的设置文件中读取 .mcp.json 审批状态,除非你先运行 claude 并接受工作区信任对话框来信任该工作区。这意味着克隆下来的仓库无法自我审批其 MCP 服务器——即使 .claude/settings.json 中提交了 enableAllProjectMcpServers 或 enabledMcpjsonServers,在不受信任的目录中也会被忽略,服务器会一直停留在待审批状态,不会被连接和健康检查。
从哪里找/如何构建 MCP 服务器
- 浏览 Anthropic Directory 中已审核的连接器,可用
claude mcp add直接添加 - 想自己构建服务器,参考 MCP 协议基础文档
- 也可以让 Claude 用官方
mcp-server-dev插件帮你脚手架一个服务器
总结
MCP 是 Claude Code 打通外部系统的核心机制。日常使用中,HTTP 传输是首选(支持 OAuth、生态最成熟);需要本地系统访问用 Stdio;需要服务器主动推送事件用 WebSocket。掌握这四种连接方式,你就能把 Claude Code 从「只能处理粘贴内容」升级为「能直接操作你所有工具的 Agent」。
来源:Connect Claude Code to tools via MCP — Anthropic 官方文档