Tools integration

Claude Code MCP 服务器

安全接入 Claude Code MCP server:选择 local 或 remote transport,配置 MCP 工具权限,排查连接问题,并管理 Tool Search。

Model Context Protocol(MCP)让 Claude Code 连接外部工具和上下文来源。只有当 Claude 需要仓库之外的能力时才值得接入,比如 GitHub issue、浏览器自动化、当前框架文档、内部 API 或受控数据库查询。

快速结论

只有当 MCP server 提供了内置文件、搜索、编辑和 shell 工具没有的明确能力时,才应该添加它。先从只读工作流开始,显式授权 MCP 工具,并记录每个 server 为什么存在。

适合使用 MCP不建议使用 MCP
读取 GitHub issues、PR 和仓库元数据替代仓库内普通文件搜索
对本地预览做浏览器检查给每个会话开放宽泛浏览器自动化
获取当前框架文档或 API reference抓取可以直接链接的静态文档
权限边界清晰的内部工具负责人或 token 范围不清楚的工具
经常变化的团队共享上下文一次性备注,应该放在 CLAUDE.md 或当前会话

MCP 在 Claude Code 里扮演什么角色

MCP server 会向 Claude Code 暴露 tools、prompts 或 resources。Claude 可以在任务中发现这些能力,并请求调用。

关键安全点是:MCP 工具仍然是工具。它们需要像文件编辑、shell 命令、WebFetch 和 subagents 一样配置权限。

层级控制什么
Server 配置Claude Code 可以连接哪些 MCP server。
工具权限Claude Code 可以调用哪些 MCP tools。
凭证范围底层 API token 或 OAuth grant 能访问什么。
提示词你是否明确指定 server 和工作流。

选择合适的 Server 类型

Server 类型适合场景需要核对什么
Local stdio本地工具、脚本、文件 helper、测试服务命令路径、包管理器、环境变量、工作目录。
Remote HTTP托管工具、SaaS 集成、组织服务URL、OAuth、headers、组织权限、可用性。
Remote SSE还没有迁移到 HTTP 的旧 server是否已有 HTTP endpoint;能用 HTTP 时不优先选 SSE。
Project-scoped config某个仓库的团队共享配置.mcp.json 是否应该提交,是否需要每个开发者批准。
Managed MCP组织统一管控的 MCP server管理员 allowlist、denylist、managed settings 和策略来源。

选择合适的安装 Scope

transport 决定 Claude Code 如何连接 server,scope 决定配置存在哪里、谁会拿到这份配置。

Scope加载范围是否团队共享存储位置适合场景
local当前项目~/.claude.json个人实验、私有凭证、一次性 server。
project当前项目项目根目录 .mcp.json团队统一使用、需要代码审查的 server。
user你的所有项目~/.claude.json多个仓库都会用到的个人工具。

添加 server 时可以用 --scope 明确指定:

claude mcp add --transport http stripe --scope local https://mcp.stripe.com
claude mcp add --transport http paypal --scope project https://mcp.paypal.com/mcp
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

如果同名 server 出现在多个位置,Claude Code 会按优先级使用配置:local、project、user、plugin-provided servers、Claude.ai connectors。

团队共享的 .mcp.json 不要写入明文密钥,应该使用 ${API_KEY}${API_BASE_URL:-https://api.example.com} 这类环境变量展开。Claude Code 在使用 project-scoped .mcp.json server 前会要求批准,所以这份文件要像代码一样审查。

中文实战场景怎么选

很多团队接入 MCP 不是因为“功能多”,而是因为 Claude Code 需要稳定读取外部事实。先用下面这张表判断是否值得接:

场景建议接入方式推荐 scope权限边界
根据 GitHub Issue 改代码GitHub MCP 或 gh CLIproject先只读 issue / PR,写操作单独批准。
查询当前框架文档文档类 MCP 或直接链接官方文档user优先只读,避免把整个文档库塞进上下文。
读取内部接口或监控数据内部 HTTP MCPproject使用只读 token,限制 API 路径。
查询生产数据库不建议直接连生产库谨慎使用用只读副本、白名单 SQL 或中间 API。
临时验证一个新 server本地配置local先不提交 .mcp.json,确认价值后再共享。

如果一个 MCP server 既能读又能写,先按只读工作流上线。等团队确认它稳定、可审计、不会泄露 token,再逐步开放写操作。

最小接入流程

  1. 先确定一个工作流,例如“读取 GitHub Issue”或“查询当前库文档”。
  2. 按官方 server 文档添加一个 MCP server。
  3. 在 Claude Code 中运行 /mcp,确认 server 已连接。
  4. 只授权这个工作流需要的 MCP tools。
  5. 先在小仓库测试,再用于生产仓库。
  6. 记录 server 用途、负责人、凭证来源和权限边界。

权限写法

MCP tools 通常遵循这样的命名模式:

mcp__<server-name>__<tool-name>

例如 GitHub server 可能暴露:

mcp__github__list_issues
mcp__github__get_pull_request

尽量授权具体工具。只有当整个 server 都适合当前工作流时,才使用通配符:

{
  "permissions": {
    "allow": [
      "mcp__github__list_issues",
      "mcp__github__get_pull_request",
      "mcp__context7__*"
    ]
  }
}

不要用 acceptEdits 来替代 MCP 授权。官方文档区分了文件编辑审批和 MCP 工具审批。需要 MCP 访问时,应直接配置 MCP 工具权限。

Tool Search 和上下文成本

有些 MCP server 会暴露很多工具。把所有工具都加载进上下文,会让 Claude Code 变慢、变散。Claude Code 可以延迟加载 MCP tools,并在需要时通过 Tool Search 发现。

情况建议
小 server,工具很少且经常使用通常可以直接加载。
大 server,很多工具很少使用让 Tool Search 按需发现。
每次会话都需要的核心内部工具只有在上下文成本值得时,才考虑 always-loaded。
工具输出很大要求过滤查询、分页或摘要,不要一次倒出全部内容。

提示词最好明确 server 和动作:

Use the GitHub MCP server to read issue 42 and summarize reproduction steps. Do not edit files.

不要只写:

Look at GitHub.

调试检查表

症状优先检查
server 没出现运行 /mcp,检查配置位置、server 名称和 JSON 语法。
server 出现但 disconnected在 Claude Code 外部运行命令或访问远程 URL。
tool 可见但被拒绝检查 permissions.allow、deny rules 和组织策略。
OAuth 失败重新完成 provider 授权,并确认账号或组织权限。
tool 输出太大缩小查询、分页,或要求摘要。
自己可用,同事不可用检查环境变量、.mcp.json 和项目级审批。

团队安全清单

  • 不要把 token 写进 CLAUDE.md、提示词、截图或提交的配置。
  • 新 MCP server 优先使用只读 token。
  • 先为一个工作流开放一个 server,再逐步扩展。
  • 对可写工具避免宽泛通配符。
  • 像审查代码一样审查共享 .mcp.json
  • 在项目文档里记录 server 用途和负责人。
  • 不再使用的 MCP server 要禁用或移除。

相关页面

官方来源


下一步自定义命令 - 工具面稳定后,再沉淀可复用命令。