MCP (Model Context Protocol) 服务器通过工具集成扩展 Claude Code 的能力。本文将介绍 5 个经过社区验证、适用于日常开发的 MCP 服务器:Context7(获取最新文档)、Playwright(浏览器自动化)、Claude in Chrome(真实浏览器调试)、DeepWiki(仓库文档生成)和 Excalidraw(图表绘制)。你将学习如何配置 .mcp.json,并使用权限规则与三种作用域(project、user、subagent)安全地管理这些服务器。

Claude Code MCP 服务器配置:5 个日常必备服务器与权限管理

MCP (Model Context Protocol) 服务器为 Claude Code 提供了连接外部工具、数据库和 API 的能力。正确配置和管理这些服务器,是实现高效、安全代理工作流的关键一步。正如一位 Reddit 用户所言:“装了 15 个 MCP 服务器以为越多越好,结果日常只用 4 个。” 本指南聚焦于经过社区广泛验证、对日常开发确有裨益的 5 个服务器,并提供从配置到权限管理的完整操作流程。

5 个日常必备 MCP 服务器

下表列出了推荐的 5 个服务器及其核心功能。它们覆盖了从文档获取、UI 开发与调试到架构设计的常见场景。

服务器 功能描述 安装命令(npm)
Context7 获取第三方库的最新、准确文档,防止 Claude 基于过时训练数据编造 API。 npx -y @upstash/context7-mcp
Playwright 实现浏览器自动化,用于 UI 功能的实现、测试与验证,支持截图、导航和表单测试。 npx -y @playwright/mcp
Claude in Chrome 连接你的真实 Chrome 浏览器,允许检查控制台、网络请求和 DOM,调试用户实际看到的问题。 npx -y claude-code-in-chrome-mcp
DeepWiki 为任意 GitHub 仓库生成结构化的 Wiki 式文档,涵盖架构、API 接口和代码关系。 npx -y deepwiki-mcp
Excalidraw 根据提示词生成手绘风格的 Excalidraw 草图,用于绘制架构图、流程图和系统设计图。 npx -y @anthropic/excalidraw-mcp

这五个服务器构成了一个典型的研发工作流:先用 Context7DeepWiki 进行研究,理解代码与文档;再用 PlaywrightClaude in Chrome 进行调试,验证前端功能;最后用 Excalidraw 记录设计。

配置 MCP 服务器

MCP 服务器的配置位于项目根目录的 .mcp.json 文件中(项目级作用域),或用户目录下的 ~/.claude.json 文件中(用户级作用域)。

1. 配置文件示例

一个典型的 .mcp.json 文件结构如下,其中包含了上述推荐服务器的配置。服务器类型主要为 stdio(启动本地进程)。

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@2.1.8"]
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@0.0.70"]
    },
    "deepwiki": {
      "command": "npx",
      "args": ["-y", "deepwiki-mcp@0.0.6"]
    },
    "claude-in-chrome": {
      "command": "npx",
      "args": ["-y", "claude-code-in-chrome-mcp"]
    },
    "excalidraw": {
      "command": "npx",
      "args": ["-y", "@anthropic/excalidraw-mcp"]
    }
  }
}

注意:对于包含敏感信息的远程 API(http 类型),务必使用环境变量,切勿将 API 密钥直接提交到代码仓库。

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

2. 设置 MCP 服务器审批

.claude/settings.json 中,可以配置是否需要手动审批这些服务器。

设置键 类型 描述
enableAllProjectMcpServers boolean 设为 true 可自动批准 .mcp.json 中的所有服务器,无需逐个确认。
enabledMcpjsonServers array 一个白名单,仅自动批准列表中指定的服务器名称。
disabledMcpjsonServers array 一个黑名单,明确拒绝指定的服务器名称。

权限管理:规则与作用域

精细的权限控制是安全使用 MCP 服务器的核心。Claude Code 使用基于工具名称的规则系统。

1. 权限规则语法

MCP 服务器提供的工具遵循 mcp__<server>__<tool> 的命名约定。在 .claude/settings.jsonpermissions 字段中,可以使用通配符来设置允许或拒绝规则。

{
  "permissions": {
    "allow": [
      "mcp__*",  // 允许所有 MCP 工具(谨慎使用)
      "mcp__context7__*",  // 允许 Context7 服务器的所有工具
      "mcp__playwright__browser_snapshot"  // 仅允许 Playwright 的截图工具
    ],
    "deny": [
      "mcp__dangerous-server__*"  // 明确拒绝某个危险服务器的所有工具
    ]
  }
}

执行逻辑deny 规则优先级高于 allow 规则。如果一个工具同时匹配了允许和拒绝规则,它将被拒绝。

2. 三种作用域 (Scope)

MCP 服务器的配置和权限可以在三个不同的作用域定义,它们的优先级从高到低为:子代理 > 项目 > 用户

作用域 配置位置 用途
项目 (Project) .mcp.json (仓库根目录) 团队共享的服务器配置,通常提交到 Git 仓库。
用户 (User) ~/.claude.json (在 mcpServers 键下) 个人跨所有项目使用的服务器,如个人 API 工具。
子代理 (Subagent) 子代理定义文件的 mcpServers 字段 专属于某个特定子代理(如数据库管理 Agent)的服务器。

理解优先级:当在不同作用域定义了同名服务器时,子代理级别的配置会覆盖项目级别的,项目级别的会覆盖用户级别的。这允许你为特定任务提供专用配置,同时保持全局的默认设置。

验证配置

配置完成后,启动 Claude Code。在会话开始时,Claude Code 会列出已连接的 MCP 服务器及其提供的工具。你可以通过要求 Claude 执行一个简单任务来测试,例如:

  • “使用 Context7 查询 react 的最新 useEffect 用法。”
  • “用 Playwright 打开 https://example.com 并截图。”

如果工具调用失败,请检查终端输出或 Claude Code 的日志,常见问题包括:命令未找到(需确保 npx 可用)、网络问题(对于 HTTP 服务器)或权限被拒绝。

FAQ

Q: 我应该同时配置多少个 MCP 服务器? A: 质量优于数量。从解决你最常遇到痛点的 2-3 个服务器开始。配置过多服务器会增加启动时间、消耗资源并可能导致上下文混乱。

Q: 权限规则中的 mcp__*mcp__server-name__* 有什么区别? A: mcp__* 匹配所有已配置的 MCP 服务器的所有工具,是一个全局通配符。mcp__server-name__* 则仅匹配名为 server-name 的服务器的所有工具,范围更精确,推荐使用后者进行更安全的控制。

Q: 在子代理中配置了 MCP 服务器后,还需要在项目级 .mcp.json 中配置吗? A: 取决于你的使用场景。如果该服务器仅用于这个特定子代理,只配置在子代理内即可。如果其他对话或子代理也需要用到,则应在项目或用户级配置。根据优先级,子代理配置不会影响其他地方的同名服务器定义。