Skip to content

Latest commit

 

History

History
132 lines (101 loc) · 4.91 KB

File metadata and controls

132 lines (101 loc) · 4.91 KB

MCP 服务器最佳实践

最后更新
已实现

MCP(Model Context Protocol)服务器通过连接外部工具、数据库和 API 来扩展 Claude Code。本指南涵盖推荐的日常使用的服务器和配置最佳实践。

← 返回 Claude Code 最佳实践 Claude

日常使用的 MCP 服务器

"用 15 个 MCP 服务器过度配置,以为越多越好。最终每天只使用 4 个。"r/mcp(682 赞)

MCP 服务器 作用 资源
Context7 将最新的库文档获取到上下文中。防止来自过时训练数据的幻觉 API Reddit:"目前为止最好的编程 MCP" · npm
Playwright 浏览器自动化 —— 自主实现、测试和验证 UI 功能。截图、导航、表单测试 Reddit:前端必备 · 文档
Claude in Chrome 将 Claude 连接到你的真实 Chrome 浏览器 —— 检查控制台、网络、DOM。调试用户实际看到的内容 Reddit:调试的"游戏规则改变者" · 对比报告
DeepWiki 为任何 GitHub 仓库获取结构化的 wiki 风格文档 —— 架构、API 表面、关系 Reddit:"将它放在 Context7 后面的网关后"
Excalidraw 从提示生成架构图、流程图和系统设计作为手绘风格的 Excalidraw 草图 GitHub

研究(Context7/DeepWiki)-> 调试(Playwright/Chrome)-> 文档(Excalidraw)


配置

MCP 服务器在项目根目录的 .mcp.json(项目范围)或 ~/.claude.json(用户范围)中配置。

服务器类型

类型 传输 示例
stdio 生成本地进程 npxpython、二进制
http 连接到远程 URL HTTP/SSE 端点

.mcp.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 中提交 API 密钥:

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

MCP 服务器的设置

.claude/settings.json 中的这些设置控制 MCP 服务器审批:

类型 说明
enableAllProjectMcpServers boolean 自动批准所有 .mcp.json 服务器而不提示
enabledMcpjsonServers array 要自动批准的特定服务器名称的允许列表
disabledMcpjsonServers array 要拒绝的特定服务器名称的阻止列表

MCP 工具的权限规则

MCP 工具在权限规则中遵循 mcp__<server>__<tool> 命名约定:

{
  "permissions": {
    "allow": [
      "mcp__*",
      "mcp__context7__*",
      "mcp__playwright__browser_snapshot"
    ],
    "deny": [
      "mcp__dangerous-server__*"
    ]
  }
}

MCP 范围

MCP 服务器可以在三个级别定义:

范围 位置 用途
项目 .mcp.json(仓库根目录) 团队共享的服务器,提交到 git
用户 ~/.claude.jsonmcpServers 键) 跨所有项目的个人服务器
子代理 代理 frontmatter(mcpServers 字段) 特定于子代理的服务器

优先级:子代理 > 项目 > 用户


来源