首页 / 文章

Claude Code中值得保留的六款MCP服务器及应舍弃的选项

精简过度复杂的MCP配置:包括Context7、GitHub、Postgres MCP Pro、Playwright、Sentry以及Brave Search,同时通过项目范围限定将工具数量控制在50个以内。

发布者:REACTAPP.TOP阅读约 7 分钟1547 词

来源: *I Tested 8 MCP Servers With Claude Code. These Were Actually Worth Keeping*

当一个编程智能体被要求在本地的 src 文件夹中查找已废弃的认证函数时,它可能会跑到一些意想不到的地方。在一个真实的案例中,该智能体跳过了文件系统,直接调用了一周前安装的 Jira MCP 服务器,开始在工单列表中搜索该函数名。输入 /mcp 就能解释原因:当时有 14 台服务器在运行,提供了 73 种工具。当可见工具数量达到约 50 种时,模型就难以区分相似的工具,只能靠猜测了。此外,在输入第一个字之前,就有大约 18,000 个令牌被用于处理那些根本没人使用的工具的 JSON 架构。

无论连接到哪台服务器,其提供的工具列表都会出现在系统提示中。如果目标是让智能体第一次尝试就能做出正确选择,那么这些可用资源就是极为有限的。

当前文档的 Context7

开发者们常常根据已经变更的 API 编写代码。如果要求使用 Supabase 认证流程,生成的代码可能会使用在 2025 年就已废弃的方法。Context7 通过将固定版本的库文档注入提示词中来解决这一问题。

# Add --scope project (or -s project) to write the entry into
# a committable .mcp.json instead of your personal ~/.claude.json.

# Context7 provides current, version-pinned library docs
# Canonical path is the installer (OAuth + generates an API key):
npx ctx7 setup

# Or wire the remote server manually (key from context7.com/dashboard):
claude mcp add --transport http context7 https://mcp.context7.com/mcp \
  --header "CONTEXT7_API_KEY: <YOUR_KEY>"

安装后,该代理会获取实时的 Markdown 内容并生成当前的实现代码。虽然需要信任它的索引,但对于主流 Web 框架而言,这是值得安装的首个服务器。

用于处理问题与拉取请求的 GitHub

如果让代理修复问题 #8009,它通常会暂停并询问问题描述,因为它无法访问远程仓库。GitHub 的官方 MCP 服务器可提供问题追踪、拉取请求以及远程代码搜索功能。

# GitHub — OFFICIAL server (issues, PRs, repo search).
# For Claude Code 2.1.1+:
claude mcp add-json github '{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer <YOUR_GITHUB_PAT>"}}'

# For Claude Code 2.1.0 or earlier (legacy flag form):
# claude mcp add --transport http github https://api.githubcopilot.com/mcp -H "Authorization: Bearer <YOUR_GITHUB_PAT>"

之后,像“review PR #8042”这样的请求即可生效:代理程序会获取差异内容,阅读审阅者的评论,将其对应到本地文件并应用相应修改。建议优先使用 GitHub 自带的服务器,而非旧版的第三方封装工具。

用于真实数据库结构的 Postgres MCP Pro

那些只能猜测数据库结构的代理程序会生成诸如“column ‘created_at’ does not exist”之类的错误。Postgres MCP Pro 为这类代理程序提供了 list_schemas 和 get_object_details 等工具,使其能够在编写 SQL 之前先映射出真实的数据库结构。

# Postgres MCP Pro — schema-aware SQL, READ-ONLY restricted mode
pipx install postgres-mcp

# Add the server with the restricted access flag
claude mcp add postgres --env DATABASE_URI="postgresql://user:pass@localhost:5432/db" \
  -- postgres-mcp --access-mode=restricted

在测试环境或生产环境中,--access-mode=restricted 参数是必须使用的。它会从服务器层面禁用INSERT、UPDATE和DELETE操作,这样代理在探索时就无法删除表结构。

用于验证的 Playwright MCP

代理们常常会在根本未渲染页面的情况下就声称某个 CSS 类已修复了布局问题。Playwright MCP 能让代理通过无头浏览器来检查自己的工作成果。

# Playwright (Microsoft) — agent drives a real browser to verify its own change
claude mcp add playwright npx @playwright/mcp@latest

该代理并非解析原始截图,而是读取无障碍访问树,从而知晓按钮在DOM中的位置以及用户是否能够看到它。

Playwright负责驱动浏览器并测试DOM结构。Chrome DevTools MCP则是另一款用于网络和性能分析的工具。只有在积极排查网络问题时才需要添加DevTools服务器,因为Playwright在视觉验证方面更为出色。

用于处理生产环境错误的Sentry

由于生产环境构建会移除源代码映射,直接将压缩后的React堆栈跟踪信息粘贴到终端中几乎毫无用处。Sentry的官方MCP服务器则能将未压缩的堆栈跟踪信息、路径指引及环境数据呈现到上下文窗口中。

# Sentry — OFFICIAL remote server; pulls live stack traces
# Triggers OAuth on first launch
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

当用户报告程序崩溃时,可以指示智能助手查看 Sentry 中最新的前端问题,并根据崩溃时的具体代码行及变量状态进行调试。

Brave 搜索以获取最新答案

对于那些难以理解的 esbuild 错误,即使修复方案早在两天前就存在于 GitHub 问题中,20 分钟的时间也可能白白流逝。由于智能助手的训练数据过于陈旧,无法识别这些问题,开发者不得不离开终端手动搜索。

# Brave Search — OFFICIAL server from Brave (the @modelcontextprotocol/*
# package was archived May 2025)
# Requires a free API key from api-dashboard.search.brave.com
claude mcp add brave-search --env BRAVE_API_KEY="<YOUR_KEY>" \
  -- npx -y @brave/brave-search-mcp-server --transport stdio

这为智能体提供了实时的网络搜索工具。遇到难以理解的错误时,它无需离开终端即可获取最新的 StackOverflow 回答或服务提供商状态页面。

锁定配置

在添加更多功能之前,应先修复配置并检查当前正在运行的内容。在任何安装命令中加入 --scope project 选项,会将相关配置写入仓库中的 .mcp.json 文件,而非全局的 ~/.claude.json,这样整个团队就能使用相同的工具集。

上述服务器的参考配置文件以及两个灵活配置槽的设置如下。其中,灵活配置槽包括用于访问当前项目外部目录的 Filesystem 服务器,以及用于帮助智能体在大规模代码重构时追踪自身逻辑的 Sequential-thinking 服务器。

{
  "mcpServers": {
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp",
      "headers": { "CONTEXT7_API_KEY": "${CONTEXT7_API_KEY}" }
    },
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp",
      "headers": { "Authorization": "Bearer ${GITHUB_PAT}" }
    },
    "sentry": {
      "type": "http",
      "url": "https://mcp.sentry.dev/mcp"
    },
    "postgres": {
      "command": "postgres-mcp",
      "args": ["--access-mode=restricted"],
      "env": { "DATABASE_URI": "${DATABASE_URI}" }
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest"]
    },
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@brave/brave-search-mcp-server", "--transport", "stdio"],
      "env": { "BRAVE_API_KEY": "${BRAVE_API_KEY}" }
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "${HOME}/projects"]
    },
    "sequential-thinking": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
    }
  }
}

这些条目使用两种传输方式。使用 http 时,服务器为远程 API,其所有逻辑都在服务提供商端执行。而使用 stdio 时,就像 Playwright 或 Postgres 一样,会通过 command 数组启动本地进程,因此必须先在机器上安装相应的二进制文件。敏感信息通过 ${DATABASE_URI} 这类环境变量插值的方式传递,从而确保文件可以安全地被提交。

如需了解该配置在工具数量方面的成本,可查看实时演示:

# List every configured server and its connection status
claude mcp list

# Inside a Claude Code session, inspect connected servers and their tools:
# Type /mcp
# This shows each server, its tool count, and lets you toggle tools.

界面显示的工具数量会自动汇总。大约有五十种可见工具,可关闭当前会话中不需要的那些工具。

剔除冗余部分

在确定基准之后,移除那些不必要的元素。

  • 已归档的参考服务器。旧版的 Postgres 实现(@modelcontextprotocol/server-postgres)仍出现在过时的教程中,但已不再维护。应将其替换为 Postgres MCP Pro。
  • 第三方封装工具。为 GitHub、Sentry 等服务开发的社区封装工具在2025年出现,仅作为临时解决方案,无法跟上官方 API 的更新速度。只要存在官方供应商提供的服务器,就应放弃使用这些社区版本。
  • 任何重复内置功能的工具。这正是工具冲突发生的根源。专用的shell执行服务器为智能体提供了两种运行bash的方式。有记录的一次故障中,某个智能体为了执行简单的npm install操作而使用了第三方的execute_script工具,出现了路径错误,之后便编写了自定义的Python脚本来触发安装,完全忽略了原生shell。如果客户端已经能够获取URL或读取文件,就不必再为能实现相同功能的服务器投入资源。
  • 持续审计

    每当会话运行变得迟缓时,都应重新检查 .mcp.json 文件。理想的配置应使六个核心服务器的负载保持在较高水平,同时确保工具数量低于50个的阈值。Slack MCP服务器往往是问题所在:当被要求搜索本地日志时,该代理会持续读取频道历史记录,从而导致性能下降。像Linear提供的用于将验收标准导入编辑器的MCP这类候选工具,则需要证明其价值;如果它使工具总数过高,其他工具就必须被移除。

    如果某个代理最近运行缓慢,先保存当前的配置,然后仅使用这些核心服务器运行几天。执行 /mcp 命令查看其占用情况,观察模型是否能够更精准地选择工具。只有当内置的Claude Code功能无法应对限制时,才再重新引入其他服务器。

    相关阅读

  • 适用于 Claude Code 的七款 MCP 服务器:连接命令与安全风险 — 专为 Claude Code 设计的文件系统、Chrome DevTools、Postgres、Supabase、Stripe、Notion 以及 Exa MCP 服务器,附有相关连接命令及各自的访问风险说明。