Model Context Protocol(MCP)是将 Claude Code 与外部工具、数据库和 API 连接的开放标准。通过 MCP,Claude Code 可以访问数百种外部系统,让 AI 助手真正融入你的工作流。
MCP 能做什么
接入 MCP 服务器后,你可以让 Claude Code:
- 从工单系统实现功能:「实现 JIRA issue ENG-4521 描述的功能并在 GitHub 创建 PR」
- 分析监控数据:「检查 Sentry 和 Statsig,分析 ENG-4521 功能的使用情况」
- 查询数据库:「在 PostgreSQL 数据库中找出 10 个随机使用过 ENG-4521 功能的用户邮箱」
- 集成设计稿:「根据 Slack 中发布的新 Figma 设计稿更新标准邮件模板」
- 自动化工作流:「创建 Gmail 草稿,邀请这 10 位用户参加新功能的反馈会议」
三种安装方式
方式一:远程 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"方式二:远程 SSE 服务器
⚠️ SSE(Server-Sent Events)传输已废弃,优先使用 HTTP 方式。
# 示例:连接 Asana
claude mcp add --transport sse asana https://mcp.asana.com/sse
# 带认证头
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 --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \
-- npx -y airtable-mcp-serverWindows 用户注意:在原生 Windows(非 WSL)上,使用
npx的本地 MCP 服务器需要cmd /c包装:bashclaude mcp add --transport stdio my-server -- cmd /c npx -y @some/package否则会出现「Connection closed」错误。
管理 MCP 服务器
# 列出所有已配置的服务器
claude mcp list
# 获取特定服务器的详情
claude mcp get github
# 移除服务器
claude mcp remove github
# 在 Claude Code 会话中检查服务器状态
/mcp动态工具更新:Claude Code 支持 MCP list_changed 通知,MCP 服务器可以动态更新可用工具、提示和资源,无需断开重连。
三级作用域
安装 MCP 服务器时,用 --scope 指定配置存储位置:
| 作用域 | Flag | 存储位置 | 适用场景 |
|---|---|---|---|
local(默认) | --scope local | 仅当前项目对你可用 | 个人实验性配置 |
project | --scope project | 通过 .mcp.json 与项目所有成员共享 | 团队共享工具 |
user | --scope user | 跨所有项目对你可用 | 个人全局工具 |
优先级:local > project > user(相同名称时,优先级高的覆盖低的)
# 团队共享 GitHub MCP(写入 .mcp.json)
claude mcp add --scope project --transport http github https://mcp.github.com/mcp
# 个人全局工具(跨项目可用)
claude mcp add --scope user --transport http sentry https://mcp.sentry.io/mcp.mcp.json 中的环境变量展开:
{
"mcpServers": {
"database": {
"command": "npx",
"args": ["-y", "@myorg/db-mcp"],
"env": {
"DB_URL": "${DB_URL}"
}
}
}
}实战示例
接入 Sentry 监控
# 1. 添加 Sentry MCP 服务器
claude mcp add --transport http sentry https://mcp.sentry.io/mcp
# 2. 在 Claude Code 中使用
> analyze the most recent errors in Sentry and suggest fixes接入 GitHub 代码审查
# 1. 添加 GitHub MCP
claude mcp add --transport http github https://mcp.github.com/mcp
# 2. 使用场景
> review PR #123 and leave comments on potential issues
> fetch the open issues and create a prioritized task list接入 PostgreSQL 数据库
# 1. 添加 PostgreSQL MCP(本地 stdio)
claude mcp add --transport stdio --env DATABASE_URL=postgresql://user:pass@localhost/db \
postgres -- npx -y @modelcontextprotocol/server-postgres
# 2. 查询示例
> find all users who signed up in the last 7 days and show their usage statsOAuth 认证
远程 MCP 服务器可能需要 OAuth 2.0 认证。在 Claude Code 中通过 /mcp 命令进行认证:
/mcp # 打开 MCP 管理界面,选择服务器认证
固定 OAuth 回调端口(CI/CD 场景):
claude mcp add --transport http --oauth-redirect-port 9999 myservice https://api.example.com/mcp预配置 OAuth 凭证:
claude mcp add --transport http \
--oauth-client-id your-client-id \
--oauth-client-secret your-client-secret \
myservice https://api.example.com/mcpMCP 作为命令使用(/mcp__server__prompt)
MCP 服务器可以暴露提示词(Prompts),在 Claude Code 中作为命令使用:
格式:/mcp__<server>__<prompt>
# 示例
/mcp__github__create-pr
/mcp__sentry__analyze-errors
这些命令会在你输入 / 时自动显示(与内置命令一起)。
MCP 资源引用
# 用 @ 符号引用 MCP 资源
> analyze @sentry://recent-errors and fix the most critical ones
> update the code based on @figma://design/latest企业管控:Managed MCP 配置
企业管理员可以通过以下两种方式控制用户可使用的 MCP 服务器:
方式一:exclusive control(managed-mcp.json)
在 managed-mcp.json 中定义允许的服务器,优先于用户配置:
{
"mcpServers": {
"approved-github": {
"url": "https://mcp.github.com/mcp",
"transport": "http"
}
}
}方式二:policy-based control(白名单 + 黑名单)
{
"allowedMcpServers": [
{ "url": "https://trusted-mcp.company.com" },
{ "command": "/usr/local/bin/approved-mcp" }
],
"deniedMcpServers": [
{ "url": "https://blocked-service.com" }
]
}白名单(allowedMcpServers):只允许列表中的服务器 黑名单(deniedMcpServers):阻止列表中的服务器,允许其余所有
性能与限制
- 输出 Token 警告:MCP 工具输出超过 10,000 Token 时 Claude Code 显示警告
- 调整输出限制:
MAX_MCP_OUTPUT_TOKENS=50000 claude - 启动超时:
MCP_TIMEOUT=10000 claude(毫秒,默认 10 秒)
原文:Connect Claude Code to tools via MCP | 来源:Anthropic 官方文档