Skip to content

MCP(Model Context Protocol)是 Claude Code 的能力扩展协议,将外部工具、数据库和 API 接入到 Claude 的工具调用体系中。多装不代表好用——实际上大多数开发者每天只用 3-4 个 MCP。本文聚焦日常真正有用的 5 个 MCP,并讲解 .mcp.json 配置模板和三级作用域。

Claude Code MCP 服务器配置指南:5 个最值得安装的 MCP

为什么不要装太多 MCP

社区经验:装 15 个 MCP 以为越多越好,结果每天实际用到的只有 4 个。过多 MCP 会增加每次请求的上下文占用,在工具选择时引入噪音。从最核心的 3-4 个开始,按需扩展。


5 个日常必备 MCP

MCP用途安装命令
Context7拉取最新库文档到上下文,避免 API 幻觉npx @upstash/context7-mcp
Playwright浏览器自动化——截图、导航、UI 测试npx @playwright/mcp
Claude in Chrome连接真实 Chrome 浏览器,检查 console/network/DOM见下文
DeepWiki获取任意 GitHub 仓库的结构化 wiki 文档npx deepwiki-mcp
Excalidraw从 prompt 生成手绘风格架构图和流程图见 GitHub

使用场景分工

  • 研究阶段:Context7(文档)、DeepWiki(仓库理解)
  • 开发调试:Playwright(自动化测试)、Claude in Chrome(真实浏览器调试)
  • 文档设计:Excalidraw(架构图)

.mcp.json 配置

MCP 服务器在项目根目录的 .mcp.json 中配置,提交到 git 供团队共享。

服务器类型

类型传输方式说明
stdio启动本地进程npxpython、本地二进制
http连接远程 URLHTTP/SSE 端点

完整配置示例

json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp"]
    },
    "deepwiki": {
      "command": "npx",
      "args": ["-y", "deepwiki-mcp"]
    },
    "remote-api": {
      "type": "http",
      "url": "https://mcp.example.com/mcp"
    }
  }
}

密钥管理:使用环境变量展开,不要在 .mcp.json 中硬编码 token:

json
{
  "mcpServers": {
    "remote-api": {
      "type": "http",
      "url": "https://mcp.example.com/mcp?token=${MCP_API_TOKEN}"
    }
  }
}

三级作用域

作用域配置位置用途
项目级.mcp.json(仓库根目录)团队共享,提交到 git
用户级~/.claude.jsonmcpServers 键)跨所有项目的个人服务器
Subagent 级Agent frontmatter(mcpServers 字段)只作用于特定 subagent

优先级:Subagent > 项目 > 用户


settings.json 中的 MCP 控制

.claude/settings.json 中控制 MCP 服务器的自动审批:

json
{
  "enableAllProjectMcpServers": true,
  "enabledMcpjsonServers": ["context7", "playwright"],
  "disabledMcpjsonServers": ["experimental-server"]
}
配置项说明
enableAllProjectMcpServers自动审批所有 .mcp.json 中的服务器
enabledMcpjsonServers只自动审批指定服务器列表
disabledMcpjsonServers阻止指定服务器加载

MCP 工具的 Permission 规则

MCP 工具遵循 mcp__<server>__<tool> 命名规范,在 permissions.allow/deny 中使用:

json
{
  "permissions": {
    "allow": [
      "mcp__*",
      "mcp__context7__*",
      "mcp__playwright__browser_snapshot"
    ],
    "deny": [
      "mcp__dangerous-server__*"
    ]
  }
}
  • mcp__*:允许所有 MCP 工具(开发时常用)
  • mcp__context7__*:只允许 context7 的所有工具
  • mcp__playwright__browser_snapshot:只允许特定工具

FAQ

Q: .mcp.json~/.claude.json 里的 mcpServers 有什么区别? A: .mcp.json 是项目级配置,提交到 git 供整个团队使用,适合项目必须的 MCP(如 Playwright 用于 UI 测试);~/.claude.json 是个人用户级配置,跨所有项目生效,适合个人偏好(如 Context7、DeepWiki)。

Q: 装了 MCP 但 Claude 不使用怎么办? A: 检查 MCP 服务器是否成功启动(/mcp 命令查看状态),以及 permissions 规则是否允许该 MCP 工具。另外可以在提示词中明确引导 Claude 使用特定 MCP 工具。

Q: Playwright MCP 和 Claude in Chrome 有什么区别? A: Playwright MCP 启动一个独立的 Chromium 实例,适合自动化测试和 headless 操作;Claude in Chrome 连接你正在运行的 Chrome 浏览器,可以检查真实用户看到的 console 错误、network 请求和 DOM 状态,更适合调试线上问题。

Q: 每次启动 Claude Code 都会自动连接 MCP 吗? A: 是的,.mcp.json 中配置的服务器会在启动时自动连接(前提是已通过 enableAllProjectMcpServersenabledMcpjsonServers 批准)。首次使用需要确认授权。