Claude Code MCP 配置完全指南:让 AI 连接你的工具和数据

301 次阅读

Claude Code MCP 配置完全指南:让 AI 连接你的工具和数据

如果你正在使用 Claude Code,可能已经发现它是一个强大的 AI 编程助手。但你知道吗?通过 MCP(Model Context Protocol),你可以让 Claude Code 连接到数百个外部工具和数据源,大幅扩展它的能力边界。

这篇文章会带你从零开始,一步步配置 MCP,让你的 Claude Code 变得更加强大。

什么是 MCP?

MCP 全称 Model Context Protocol,是 Anthropic 推出的一个开源标准,专门用于 AI 工具集成。简单来说,MCP 就像是 Claude Code 和外部世界之间的桥梁——通过它,Claude 可以访问你的数据库、API、问题跟踪器等各种工具。

举几个实际的例子,配置好 MCP 后,你可以这样使用 Claude Code:

  • "帮我实现 JIRA 问题 ENG-4521 中描述的功能,然后在 GitHub 上创建 PR"
  • "检查 Sentry 里最近 24 小时的错误,分析一下根本原因"
  • "查询 PostgreSQL 数据库,找出本月收入最高的 10 个客户"
  • "根据 Slack 里发的新 Figma 设计稿,更新我们的邮件模板"

这些操作以前需要你在多个工具之间来回切换,现在只需要一句话就能搞定。

MCP 服务器的三种类型

在开始配置之前,你需要了解 MCP 服务器有三种不同的传输方式:

1. HTTP 服务器(推荐)

HTTP 是连接远程 MCP 服务器的首选方式,也是云服务最广泛支持的传输协议。大多数主流服务(如 GitHub、Notion、Sentry)都提供 HTTP 类型的 MCP 服务器。

2. SSE 服务器

SSE(Server-Sent Events)是一种较早的传输方式,目前已被标记为弃用。如果可能的话,建议优先使用 HTTP 服务器。不过,一些老的服务可能仍然只支持 SSE。

3. Stdio 服务器

Stdio 服务器作为本地进程运行在你的计算机上。它适合需要直接访问本地系统或运行自定义脚本的场景。比如你想让 Claude 访问本地文件系统或数据库,就需要用 stdio 类型。

安装 MCP 服务器

了解了基础概念,我们来看看如何实际配置 MCP 服务器。

添加 HTTP 服务器

这是最简单的方式,一行命令就能搞定:

bash
# 基本语法
claude mcp add --transport http <服务器名称> <URL>

# 实际例子:连接 Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp

# 带身份验证的例子
claude mcp add --transport http secure-api https://api.example.com/mcp \
  --header "Authorization: Bearer your-token"

添加 SSE 服务器

虽然 SSE 已经弃用,但有些服务可能还在用:

bash
# 基本语法
claude mcp add --transport sse <服务器名称> <URL>

# 实际例子:连接 Asana
claude mcp add --transport sse asana https://mcp.asana.com/sse

添加本地 Stdio 服务器

Stdio 服务器需要指定运行命令:

bash
# 基本语法
claude mcp add [选项] <服务器名称> -- <命令> [参数...]

# 实际例子:添加 Airtable 服务器
claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \
  -- npx -y airtable-mcp-server

注意命令格式:所有选项(--transport--env--scope)必须放在服务器名称之前。双破折号 -- 用于分隔服务器名称和实际运行的命令。

管理已配置的服务器

配置好服务器后,你可以用这些命令来管理它们:

bash
# 列出所有已配置的服务器
claude mcp list

# 查看某个服务器的详细信息
claude mcp get github

# 删除某个服务器
claude mcp remove github

# 在 Claude Code 中检查服务器状态
/mcp

配置作用域:本地、项目还是用户?

MCP 服务器可以在三个不同的作用域级别进行配置,这决定了服务器的可见范围和共享方式。

本地作用域(Local)

这是默认的配置级别。本地作用域的服务器只对你自己可见,且仅在当前项目目录中有效。适合个人开发、实验性配置,或者包含敏感凭据的服务器。

bash
# 添加本地作用域的服务器(默认)
claude mcp add --transport http stripe https://mcp.stripe.com

# 显式指定本地作用域
claude mcp add --transport http stripe --scope local https://mcp.stripe.com

项目作用域(Project)

项目作用域的配置存储在项目根目录的 .mcp.json 文件中,可以提交到版本控制系统。这样团队成员都能访问相同的 MCP 工具。

bash
# 添加项目作用域的服务器
claude mcp add --transport http paypal --scope project https://mcp.paypal.com/mcp

生成的 .mcp.json 文件格式如下:

json
{
  "mcpServers": {
    "shared-server": {
      "command": "/path/to/server",
      "args": [],
      "env": {}
    }
  }
}

用户作用域(User)

用户作用域的服务器存储在 ~/.claude.json 中,在你电脑上的所有项目中都可用。适合个人常用的工具和服务。

bash
# 添加用户作用域的服务器
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

如何选择作用域?

场景 推荐作用域
个人实验、敏感凭据 本地(local)
团队共享工具 项目(project)
跨项目常用工具 用户(user)

远程服务器的身份验证

很多云端 MCP 服务器需要身份验证才能使用。Claude Code 支持 OAuth 2.0 协议来安全连接这些服务。

操作步骤:

  1. 先添加需要身份验证的服务器:
bash
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
  1. 在 Claude Code 中运行 /mcp 命令,然后按照浏览器提示完成登录。

身份验证令牌会安全存储并自动刷新。如果需要撤销访问权限,可以在 /mcp 菜单中选择"Clear authentication"。

实战案例

下面是几个常见的配置场景,帮你快速上手。

案例一:连接 GitHub 进行代码审查

bash
# 1. 添加 GitHub MCP 服务器
claude mcp add --transport http github https://api.githubcopilot.com/mcp/

# 2. 在 Claude Code 中进行身份验证
> /mcp
# 选择 GitHub 的 "Authenticate"

配置完成后,你可以这样使用:

text

案例二:使用 Sentry 监控错误

bash
# 1. 添加 Sentry MCP 服务器
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

# 2. 进行身份验证
> /mcp

配置完成后,你可以这样使用:

text

案例三:查询 PostgreSQL 数据库

bash
# 添加数据库服务器
claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
  --dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"

配置完成后,你可以用自然语言查询数据库:

text

高级配置技巧

从 JSON 配置添加服务器

如果你有现成的 JSON 配置,可以直接导入:

bash
claude mcp add-json weather-api '{"type":"http","url":"https://api.weather.com/mcp"}'

从 Claude Desktop 导入服务器

如果你已经在 Claude Desktop 中配置了 MCP 服务器,可以一键导入:

bash
claude mcp add-from-claude-desktop

运行后会出现交互式对话框,让你选择要导入的服务器。

环境变量扩展

.mcp.json 文件中,你可以使用环境变量来保护敏感信息:

json
{
  "mcpServers": {
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": {
        "Authorization": "Bearer ${API_KEY}"
      }
    }
  }
}

支持的语法:

  • ${VAR} - 使用环境变量 VAR 的值
  • ${VAR:-default} - 如果 VAR 未设置,则使用默认值

将 Claude Code 作为 MCP 服务器

你还可以把 Claude Code 本身作为 MCP 服务器,供其他应用连接:

bash
claude mcp serve

在 Claude Desktop 中使用时,添加以下配置:

json
{
  "mcpServers": {
    "claude-code": {
      "type": "stdio",
      "command": "claude",
      "args": ["mcp", "serve"],
      "env": {}
    }
  }
}

使用 MCP 资源和提示

引用 MCP 资源

MCP 服务器可以公开资源,你可以用 @ 符号来引用:

text

使用 MCP 提示作为斜杠命令

MCP 服务器还可以公开提示,这些提示在 Claude Code 中作为斜杠命令可用:

> /mcp__github__list_prs
> /mcp__jira__create_issue "Bug in login flow" high

注意事项和常见问题

安全提醒

使用第三方 MCP 服务器时需要注意安全风险。Anthropic 并未验证所有服务器的正确性或安全性,所以在安装之前,请确保你信任该服务器的来源。

特别要小心那些可能获取不受信任内容的 MCP 服务器,因为这可能会带来提示注入风险。

Windows 用户注意

在原生 Windows(非 WSL)上使用 npx 的本地 MCP 服务器时,需要添加 cmd /c 包装器:

bash
claude mcp add --transport stdio my-server -- cmd /c npx -y @some/package

如果没有这个包装器,你会遇到"Connection closed"错误。

输出限制

当 MCP 工具输出超过 10,000 个令牌时,Claude Code 会显示警告。如果你经常遇到这个问题,可以通过设置环境变量来调整限制:

bash
export MAX_MCP_OUTPUT_TOKENS=50000
claude

超时配置

如果 MCP 服务器启动较慢,可以通过 MCP_TIMEOUT 环境变量配置超时时间:

bash
MCP_TIMEOUT=10000 claude  # 设置 10 秒超时

获取更多 MCP 服务器

如果你需要特定的集成,可以在 GitHub 上找到数百个 MCP 服务器:https://github.com/modelcontextprotocol/servers

你也可以使用 MCP SDK 构建自己的服务器,详情参考:https://modelcontextprotocol.io/quickstart/server

总结

MCP 为 Claude Code 打开了一扇通往外部世界的大门。通过简单的配置,你就能让 AI 助手直接操作你的开发工具、查询数据库、管理项目。

配置的核心步骤很简单:

  1. 选择合适的传输方式(HTTP、SSE 或 Stdio)
  2. 使用 claude mcp add 命令添加服务器
  3. 根据需要进行身份验证
  4. 开始使用自然语言与工具交互

建议从一两个常用的服务开始尝试,比如 GitHub 或 Sentry,熟悉之后再逐步扩展。

感谢阅读,如果觉得有用欢迎分享