跳到正文

MCP 服务器生态 ​

最后更新:2026 年 5 月 • 下次审阅:2026 年 6 月

本指南涵盖 Anthropic 官方服务器之外经过验证的社区 MCP 服务器。所有列出的服务器均已针对生产就绪性、维护活跃度和安全性进行评估。

不确定该用 MCP 服务器还是 CLI 工具? 请参阅 「MCP 与 CLI 决策指南」,其中包含完整的权衡分析、决策矩阵和场景化建议。

目录 ​

  • 官方服务器与社区服务器

  • 评估框架

  • 生态系统演进

  • 经验证的社区服务器

    • 浏览器自动化
    • DevOps 与基础设施
    • 安全与代码分析
    • 代码搜索与分析
    • 文档与知识
    • 项目管理
    • 编排
  • 生产部署

  • 每月监测方法论

  • 排除的服务器


官方服务器与社区服务器 ​

类型示例特征适用场景
官方filesystem、memory、brave-search、githubAnthropic 维护,稳定性有保障默认首选,核心功能
社区Playwright、Semgrep、Kubernetes由组织/个人维护,可达生产级专项需求、生态集成

核心区别:官方服务器有 Anthropic SLA 背书,社区服务器需要逐一评估。


评估框架 ​

所有社区服务器均按以下标准评估:

标准阈值说明
GitHub Stars≥50最低社区认可度
近期发布❤️ 个月积极维护
文档README + 示例 + 配置降低采用门槛
测试/CI✅ 自动化保证稳定性
使用场景官方服务器未覆盖避免重复
许可证必须开源可持续性与可审计性

质量评分维度:

  • 维护性(10 分):发布频率、Issue 响应时间
  • 文档(10 分):README 完整性、示例、故障排查
  • 测试(10 分):测试覆盖率、CI/CD 自动化
  • 性能(10 分):响应时间、资源效率
  • 采用度(10 分):社区使用量、生产部署情况

总分:/50 → 归一化为 /10 作为最终评级。


生态系统演进 ​

重大进展(2026 年 1 月):

Linux 基金会标准化 ​

MCP 通过 Linux 基金会治理下的 Agentic AI Foundation 成为官方标准。

高级 MCP 工具调用 ​

Anthropic 为 MCP 上下文管理部署优化措施:

  • 延迟加载:工具按需加载,而非预先全部加载
  • 基于搜索的工具:在大型工具集中高效发现工具
  • 公告:Josh Twist LinkedIn

MCPB 包格式 ​

标准化的一键安装包格式(替代运行时依赖管理)。

MCP Apps(交互式工作工具) ​

Claude 现在通过 MCP Apps 规范支持交互式工具:

  • 示例:Slack 草稿撰写、Figma 图表、Asana 时间线
  • 公告:Smol.ai Newsletter
  • 深度解析:参见 「guide/architecture.md:656」

IDE 集成 ​

Visual Studio 2026 原生集成 Azure MCP Server、GitHub Copilot Chat 与 MCP 客户端。


版本控制(官方服务器) ​

这些基础 MCP 服务器为所有开发工作流提供版本控制自动化能力。均为 Anthropic 官方服务器,稳定性有保障。

Git MCP(Anthropic) ​

Anthropic 官方服务器,通过模型上下文协议实现 Git 仓库交互。提供对 Git 操作的编程化访问,具备结构化输出和跨平台安全性。

仓库:modelcontextprotocol/servers/git许可证:MIT状态:早期开发阶段(API 可能变更)Stars:77,908+(父仓库)

使用场景:

  • 自动化提交工作流:AI 生成提交信息、暂存变更、执行提交
  • 日志分析:按日期、作者、分支过滤提交,输出结构化结果
  • 分支管理:创建特性分支、切换分支、按 SHA 过滤
  • Token 高效的差异对比:控制上下文行数,专注于代码审查
  • 多仓库自动化:在 Monorepo 中管理多个仓库

核心功能 ​

工具描述参数
git_status工作区状态(已暂存、未暂存、未跟踪)-
git_log带高级过滤的提交历史max_count、skip、start_timestamp、end_timestamp、author
git_diff提交/分支间的差异target、source、context_lines
git_diff_unstaged未暂存的变更context_lines
git_diff_staged已暂存的变更context_lines
git_commit创建提交message
git_add暂存文件/模式files
git_reset取消暂存文件files
git_branch列出/过滤分支contains、not_contains
git_create_branch创建新分支name
git_checkout切换分支/提交ref
git_show查看提交详情revision

高级过滤(git_log):

  • ISO 8601 日期:2024-01-15T14:30:25
  • 相对日期:2 weeks ago、yesterday、last month
  • 绝对日期:2024-01-15、Jan 15 2024
  • 作者过滤:--author="John Doe"

配置方法 ​

安装(3 种方式):

Bash
# 方式 1:UV(推荐)——一行命令
uvx mcp-server-git --repository /path/to/repo

# 方式 2:pip + Python 模块
pip install mcp-server-git
python -m mcp_server_git

# 方式 3:Docker(沙箱隔离)
docker run -v /path/to/repo:/repo ghcr.io/modelcontextprotocol/mcp-server-git

Claude Code 配置(~/.claude.json):

JSON
{
  "mcpServers": {
    "git": {
      "command": "uvx",
      "args": ["mcp-server-git", "--repository", "/Users/you/projects/myrepo"]
    }
  }
}

多仓库支持:

JSON
{
  "mcpServers": {
    "git-main": {
      "command": "uvx",
      "args": ["mcp-server-git", "--repository", "/path/to/main-repo"]
    },
    "git-docs": {
      "command": "uvx",
      "args": ["mcp-server-git", "--repository", "/path/to/docs-repo"]
    }
  }
}

IDE 集成 ​

支持一键安装的平台:

  • Claude Desktop(macOS/Windows/Linux)
  • VS Code(稳定版 + Insiders)
  • Zed
  • Zencoder

集成链接详见 官方 README。

质量评分 ​

8.5/10 ⭐⭐⭐⭐⭐

标准得分说明
维护性10/10Anthropic 背书,积极开发中
文档9/10README 详尽、有示例,但含早期开发警告
测试8/10自动化 CI,覆盖率持续提升
性能8/10快速(<100ms),结构化输出减少 Token 消耗
采用度8/10官方服务器,77K+ Stars,广泛的 IDE 支持

局限性与解决方案 ​

局限性解决方案
早期开发阶段(API 可能变更)生产环境固定版本,持续关注发布动态
不支持交互式变基(-i 参数)使用 Bash 工具执行 git rebase -i
不支持 reflog使用 Bash 工具执行 git reflog
不支持 git bisect使用 Bash 工具执行 git bisect
每个实例对应单一仓库配置多个 MCP 服务器实例

决策矩阵:Git MCP vs GitHub MCP vs Bash 工具 ​

各工具适用场景:

操作Git MCPGitHub MCPBash 工具说明
本地提交✅ 最优❌⚠️ 可用结构化输出,跨平台安全
分支管理✅ 最优❌⚠️ 可用git_branch 过滤,SHA 包含/排除
差异/日志分析✅ 最优❌⚠️ 可用context_lines 控制,Token 高效
暂存文件✅ 最优❌⚠️ 可用模式匹配(git_add),更安全
创建 PR❌✅ 最优⚠️ gh CLIGitHub API,支持标签、指派、审阅者
Issue 管理❌✅ 最优⚠️ gh CLIGitHub 专属操作
CI/CD 状态检查❌✅ 最优⚠️ gh CLIGitHub Actions 集成
交互式变基❌❌✅ 最优Git MCP 不支持 -i 参数
Reflog 恢复❌❌✅ 最优高级 Git 操作
Git Bisect 调试❌❌✅ 最优复杂调试工作流
多工具流水线✅✅❌MCP 服务器可与其他 MCP 工具组合

决策树:

Plain
是否为 GitHub 专属操作(PR、Issue、Actions)?
├─ 是 → 使用 GitHub MCP
└─ 否 → 是否为核心 Git 操作(commit、branch、diff、log)?
    ├─ 是 → 使用 Git MCP(结构化、安全、Token 高效)
    └─ 否 → 是否为高级 Git 功能(rebase -i、reflog、bisect)?
        ├─ 是 → 使用 Bash 工具(灵活性)
        └─ 否 → 默认使用 Git MCP(更安全、结构化)

工作流示例:

工作流工具链说明
功能开发Git MCP(git_create_branch + git_commit)→ GitHub MCP(PR)原子化、结构化、全生命周期覆盖
提交历史分析Git MCP(git_log,start_timestamp: "2 weeks ago")Token 高效过滤,支持相对日期
代码审查准备Git MCP(git_diff,context_lines: 3)聚焦上下文,减少 Token 消耗
整理提交(变基)Bash 工具(git rebase -i HEAD~5)Git MCP 不支持交互模式
恢复丢失的提交Bash 工具(git reflog)Git MCP 未暴露 reflog
Bisect 排查 BugBash 工具(git bisect start/good/bad)Git MCP 不支持 bisect 工作流
自动化发布流程Git MCP(commit + tag)→ GitHub MCP(创建 Release)全自动化,结构化

参考资源 ​


经验证的社区服务器 ​

浏览器自动化 ​

Playwright MCP(Microsoft) ​

Microsoft 官方服务器,专为 LLM 优化的浏览器自动化工具。使用无障碍树(accessibility tree)而非截图,降低 Token 消耗。

使用场景:AI 编程智能体在浏览器中验证自身工作(E2E 测试、Bug 验证)。

核心功能:

功能详情
浏览器自动化导航、点击、填写、悬停(Playwright API)
内容提取通过无障碍树提取结构化数据
截图全页面 + 指定元素截图
JavaScript 执行在页面上下文中运行代码
会话管理持久化浏览器状态
支持的浏览器Chromium、Firefox、WebKit

配置方法:

Bash
# 安装
npm install @microsoft/playwright-mcp
# 或
npx @microsoft/playwright-mcp

Claude Code 配置(~/.claude.json):

JSON
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["--yes", "@microsoft/playwright-mcp"]
    }
  }
}

使用示例:

Plain
用户:"导航到 example.com,用邮箱 test@example.com 登录,然后截图"

Claude:[执行 playwright_navigate → playwright_type → playwright_click → playwright_screenshot]

结果:截图 + 无障碍树信息已纳入上下文

质量评分:8.8/10 ⭐⭐⭐⭐⭐

维度得分说明
维护性9/10每两周发布,Microsoft 团队活跃
文档9/10README 完整,有示例和 Playwright Live 视频
测试10/10完整测试套件,CI/CD 自动化
性能8/10快速快照(~200ms),内存高效
采用度8/102890+ 次使用(Smithery.ai 统计)

局限性与解决方案:

局限性解决方案
单浏览器会话使用 session ID 持久化状态
不支持跨域 iframe 访问限制为同源内容
截图大小限制(最大 4K)对大型页面使用元素快照

备选方案:

服务器优势劣势
Playwright MCP无障碍树,LLM 原生不支持视觉模型
Browserbase MCP云端,支持隐身模式API 费用,延迟较高
Puppeteer MCP轻量,仅限 JS结构化数据较少

参考资源:


Browserbase MCP ​

Browserbase 官方服务器,提供云端浏览器自动化,内置 Stagehand AI 智能体用于自主任务执行。

使用场景:需要隐身模式、代理支持或自主执行的复杂 Web 交互(网页抓取、表单填写、数据提取)。

核心功能:

功能详情
浏览器控制通过 Browserbase 云端运行 Chromium
Stagehand 智能体自主任务执行(例如"预订航班")
数据提取CSS 选择器 + 基于 Schema 的结构化提取
反检测隐身模式、代理支持、IP 轮换
多模型支持OpenAI、Claude、Gemini、自定义 LLM

配置方法:

Bash
npm install @browserbasehq/mcp-server-browserbase

配置:

JSON
{
  "mcpServers": {
    "browserbase": {
      "command": "npx",
      "args": ["@browserbasehq/mcp-server-browserbase"],
      "env": {
        "BROWSERBASE_API_KEY": "YOUR_KEY",
        "BROWSERBASE_PROJECT_ID": "YOUR_PROJECT_ID",
        "GEMINI_API_KEY": "YOUR_GEMINI_KEY"
      }
    }
  }
}

质量评分:7.6/10 ⭐⭐⭐⭐

费用:Freemium(按 API 用量付费),约 $0.10/会话

局限性:

局限性解决方案
云端延迟(~500ms)批量操作,缓存结果
API 费用仅用于高价值提取任务
Stagehand 能力限制回退到手动 playwright_* 工具

参考资源:


Chrome DevTools MCP ​

Anthropic 官方服务器,集成 Chrome DevTools Protocol,通过 Chrome 原生 DevTools API 提供调试与检查能力。

使用场景:调试 Web 应用、检查运行时状态、监控网络请求、分析性能。与 Playwright MCP(测试)互补,专注于面向开发的调试能力。

核心功能:

功能详情
控制台访问读取浏览器控制台日志、错误、警告
网络监控检查 HTTP 请求、响应、请求头
DOM 检查查询 DOM 结构、元素属性
JavaScript 执行在页面上下文中执行任意 JS
性能分析CPU 分析、内存快照

配置方法:

Bash
npm install @modelcontextprotocol/server-chrome-devtools

配置:

JSON
{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-chrome-devtools"]
    }
  }
}

使用场景对比:

场景使用 Chrome DevTools MCP使用 Playwright MCP
调试运行时错误✅ 控制台日志、堆栈跟踪❌ 错误可见性有限
检查网络请求✅ 完整请求/响应详情⚠️ 仅基本导航
测试用户交互❌ 非为测试设计✅ 点击、输入、导航
性能分析✅ CPU/内存分析❌ 无分析工具
自动化工作流❌ 专注手动调试✅ E2E 测试自动化

局限性:

  • 需要 Chrome 浏览器以 DevTools Protocol 模式启动
  • 需手动配置(以 --remote-debugging-port 启动 Chrome)
  • 不适合自动化测试(请使用 Playwright)
  • 启用性能分析时存在性能开销

参考资源:


DevOps 与基础设施 ​

Kubernetes MCP(Red Hat) ​

官方 Containers Community 服务器(Red Hat 背书),支持用自然语言管理 Kubernetes/OpenShift。

使用场景:DevOps/SRE 工程师通过 Claude 查询/配置集群("自然语言版 kubectl")。

核心功能:

功能详情
资源 CRUD创建、读取、更新、删除任意 K8s 资源
Pod 操作日志、事件、exec、指标(top)
Deployment 管理扩缩容、滚动更新、状态查询
配置管理查看/更新 ConfigMaps、Secrets
CRD 支持自定义资源定义
多集群切换 kubeconfig 上下文
OpenShift 支持原生 OpenShift 资源

配置方法:

Bash
# Docker
docker run -it --rm \
  --mount type=bind,src=$HOME/.kube/config,dst=/home/mcp/.kube/config \
  ghcr.io/containers/kubernetes-mcp-server

# 原生(Go 二进制)
go install github.com/containers/kubernetes-mcp-server@latest
kubernetes-mcp-server

Claude Desktop 配置:

JSON
{
  "mcpServers": {
    "kubernetes": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--mount",
        "type=bind,src=/home/user/.kube/config,dst=/home/mcp/.kube/config",
        "ghcr.io/containers/kubernetes-mcp-server"
      ]
    }
  }
}

使用示例:

Plain
用户:"显示 production 命名空间中内存使用超过 500Mi 的所有 Pod"
Claude:[对 Pod + 指标执行 list_resources]
结果:含内存统计的 Pod 列表

用户:"将 backend deployment 扩容到 5 个副本"
Claude:[执行 patch_resource]
结果:Deployment 已扩容

质量评分:8.4/10 ⭐⭐⭐⭐

安全性:RBAC 强制执行,kubeconfig 鉴权,无权限提升

局限性:

局限性解决方案
需要 kubeconfig 访问权限使用 ServiceAccount + RBAC 确保安全
节点 Shell 访问受限使用 kubectl exec 进行调试
CRD 发现有延迟为 AI 上下文预先记录 CRD

参考资源:


Vercel MCP ​

社区服务器,支持 Vercel 平台(部署、项目、环境变量、团队)。

使用场景:AI 助手生成 Next.js 代码,创建 Vercel 项目,配置环境变量,触发部署——在 IDE 内完成完整 CI/CD 闭环。

核心功能:

功能详情
部署列出、查看详情、创建、监控状态
项目列出、创建、更新设置
环境变量获取、设置、管理 Secrets
团队列出、创建、管理
域名列出、配置、DNS 管理
Functions监控 Vercel Functions、日志

配置方法:

Bash
git clone https://github.com/nganiet/mcp-vercel
cd vercel-mcp
npm install

配置:

JSON
{
  "mcpServers": {
    "vercel": {
      "command": "npm",
      "args": ["start"],
      "env": {
        "VERCEL_API_TOKEN": "YOUR_VERCEL_TOKEN"
      }
    }
  }
}

质量评分:7.6/10 ⭐⭐⭐⭐

说明:Vercel 也有官方 MCP 服务器,本社区版本提供更全面的 API 覆盖。

参考资源:

Sentry MCP ​

Sentry 官方服务器,用于错误监控与可观测性。形成诊断闭环:Sentry 告警触发 → Claude 读取 Issue 和堆栈跟踪 → 诊断根因 → 提出或编写修复方案。

仓库:getsentry/sentry-mcp许可证:MIT维护方:Sentry(官方)

使用场景:生产环境触发 Sentry 告警,工程师问 Claude:"SEN-4521 是什么原因?"。Claude 读取完整堆栈跟踪,追踪代码库中的回归路径,起草修复方案——全程无需离开 IDE。可观测性闭环在 Claude Code 内完成。

核心功能:

工具描述
list_issues使用 Sentry 查询语法获取未解决的 Issue(is:unresolved level:error)
get_issue完整 Issue 详情——堆栈跟踪、受影响用户、首次/最近出现时间戳
get_event通过 ID 获取特定事件,适用于时间范围调查
search_events带字段过滤的原始事件全文搜索
list_projects列出 Sentry 组织中的项目

配置方法:

Bash
# 通过 npx(推荐——请对照官方文档确认包名)
npx -y @sentry/mcp-server

# Claude Code 一键添加
claude mcp add sentry -- npx -y @sentry/mcp-server

Claude Code 配置(~/.claude/settings.json):

JSON
{
  "mcpServers": {
    "sentry": {
      "command": "npx",
      "args": ["-y", "@sentry/mcp-server"],
      "env": {
        "SENTRY_AUTH_TOKEN": "your_auth_token",
        "SENTRY_ORG": "your-org-slug"
      }
    }
  }
}

认证 Token:sentry.io/settings/account/api/auth-tokens/——所需权限:project:read、event:read、org:read

使用示例:

Plain
用户:"SEN-4521 是什么原因?昨天部署后一直在触发。"

Claude:
  [list_issues: query="is:unresolved level:error project:api-service"]
  [get_issue: issue_id="4521"]

结果:UserController.getProfile() 第 142 行 NullPointerException。
  在昨天 14:32 UTC 的提交 a3f8c2 中引入——Profile 重构时移除了 null 检查。
  修复方案:在第 142 行恢复 Optional.ofNullable。
  正在创建 PR。

查询语法(影响调用效果的关键——最常见的调用失败来源):

Plain
is:unresolved                         # 仅未解决的 Issue
is:unresolved level:error             # 仅错误(排除警告、info)
is:unresolved has:user                # 已识别用户的 Issue
is:unresolved times_seen:>100         # 高频 Issue
project:api-service is:unresolved     # 限定单个项目
assigned:me is:unresolved             # 分配给自己的 Issue
!has:assignee is:unresolved           # 未分配的 Issue

参考文件:本仓库 examples/skills/mcp-integration-reference/references/sentry-mcp.md——包含完整参数文档、注意事项、分页模式及精选降噪列表。可将其复制到 CLAUDE.md includes 或项目 Skills 中。

质量评分:8.5/10 ⭐⭐⭐⭐⭐

维度得分说明
维护性10/10Sentry 官方服务器,企业级背书
文档8/10README 良好,Sentry 文档涵盖边界情况
测试8/10存在 CI,TypeScript 类型安全
性能8/10API 受限(~200–400ms),大型组织需分页
采用度9/10Sentry 是事实标准错误监控平台(100K+ 组织)

局限性与解决方案:

局限性解决方案
organization_slug ≠ 显示名称从 URL 读取 Slug:sentry.io/organizations/<slug>/
大型组织中 search_events 超时搜索事件时始终指定 project_slug
每次调用最多返回 100 个 Issue使用基于游标的分页进行完整扫描
默认只读解决/指派操作需要额外的 Token 权限
事件保留 90 天默认 Sentry 方案下 90 天前的事件不可用

适用场景对比:

工具最适合不推荐的情况
Sentry MCP错误诊断闭环:告警 → 堆栈跟踪 → 修复纯告警(直接用 Webhook 或 PagerDuty)
Datadog MCPAPM、分布式追踪、指标仪表盘仅处理错误——对该场景过于复杂
Bash + Sentry CLI批量操作、脚本化数据导出交互式调试会话

参考资源:


安全与代码分析 ​

Semgrep MCP ​

Semgrep 官方服务器,用于漏洞扫描(SAST、Secrets、供应链)。内置自定义规则引擎。

使用场景:Claude Code 生成代码,Semgrep 自动扫描安全问题,提出修复方案("默认安全")。

核心功能:

功能详情
快速扫描对代码片段进行快速安全检查
全量扫描使用 p/ci 规则集进行全面 SAST
自定义规则使用用户提供的 Semgrep 规则扫描
AST 生成抽象语法树分析
规则集支持预置规则集(OWASP、CWE 等)
语言覆盖Python、JS/TS、Java、Go、C#、Rust、PHP 等

配置方法:

Bash
# 通过 uvx(推荐)
uvx semgrep-mcp

# 或 pip
pip install semgrep-mcp

Claude Code 配置:

Bash
claude mcp add semgrep -- uvx semgrep-mcp

Cursor 配置(~/.cursor/mcp.json):

JSON
{
  "mcpServers": {
    "semgrep": {
      "command": "uvx",
      "args": ["semgrep-mcp"],
      "env": {
        "SEMGREP_APP_TOKEN": "your_token"
      }
    }
  }
}

使用示例:

Plain
用户:"扫描这段 Python 代码中的 SQL 注入漏洞"

代码:
  def search(query):
      return db.execute(f"SELECT * FROM users WHERE name = '{query}'")

Claude:[使用 security_check 工具]

结果:[存在漏洞] 第 2 行检测到 SQL 注入。
  修复方案:使用参数化查询:
  return db.execute("SELECT * FROM users WHERE name = ?", [query])

质量评分:9.0/10 ⭐⭐⭐⭐⭐

维度得分说明
维护性10/10官方维护,频繁发布
文档9/10文档完整,有示例
测试10/10广泛测试覆盖
性能7/10良好,复杂度相关(每次扫描约 500ms)
采用度9/10企业标准(5000+ 家公司)

备选方案:

服务器优势劣势
Semgrep全面 SAST,自定义规则大型代码库较慢
GitGuardian专注 Secrets,速度快SAST 覆盖有限
SonarQube企业级,报告详细较重,配置复杂

参考资源:


代码搜索与分析 ​

Grepai MCP ​

社区服务器,通过本地 Ollama Embeddings 提供语义代码搜索和调用图分析。按意图("支付流程"、"认证逻辑")而非精确模式搜索代码,并追踪函数调用关系。

仓库:yoanbernabeu/grepai许可证:MIT状态:积极开发中隐私保护:完全本地运行(Ollama + nomic-embed-text),数据不离开本机

使用场景:开发者需要理解陌生代码库 → grepai 通过自然语言描述找到相关代码并映射函数依赖,无需读取完整文件。

核心功能:

功能详情
grepai_search自然语言语义搜索(例如"错误处理中间件")
grepai_trace_callers查找调用指定符号的所有函数
grepai_trace_callees查找指定符号调用的所有函数
grepai_trace_graph完整调用图(调用者 + 被调用者),支持配置深度
grepai_index_status健康检查:已索引文件数、分块数、配置信息

Token 效率对比:

工作流Token 数评价
Grep + 读取文件(暴力方式)~15K噪音大,大量无关上下文
grepai 搜索 + 追踪~4K精准,只返回相关结果
grepai 单独使用(无后续)~2-3K快速发现

配置方法:

Bash
# 安装 grepai
curl -sSL https://raw.githubusercontent.com/yoanbernabeu/grepai/main/install.sh | sh

# 安装 Ollama + Embedding 模型
brew install ollama
ollama pull nomic-embed-text

# 在项目中初始化
cd /path/to/project
grepai init  # 选择:ollama, nomic-embed-text, gob

# 索引代码库
grepai index

# 可选:监听文件变更(自动重新索引)
grepai watch

Claude Code 配置:

Bash
claude mcp add grepai -- grepai mcp

.mcp.json(项目级作用域):

JSON
{
  "mcpServers": {
    "grepai": {
      "command": "grepai",
      "args": ["mcp"]
    }
  }
}

使用示例:

Plain
用户:"在这个代码库中找到认证流程"

Claude:[执行 grepai_search query="authentication flow" limit=5]

结果:3 个相关文件及行号和相似度分数
  - src/auth/middleware.ts:12-45 (0.89)
  - src/routes/login.ts:8-32 (0.85)
  - src/utils/jwt.ts:1-28 (0.78)

用户:"哪些函数调用了 validateToken?"

Claude:[执行 grepai_trace_callers symbol="validateToken"]

结果:调用图显示 3 个文件中的 4 个调用方
  - authMiddleware → validateToken
  - refreshHandler → validateToken
  - wsAuthGuard → validateToken
  - testHelper → validateToken

质量评分:7.8/10 ⭐⭐⭐⭐

维度得分说明
维护性8/10积极开发,维护者响应及时
文档7/10README 良好,有 MCP 集成文档
测试7/10有 CI,覆盖率持续提升
性能8/10本地 Embeddings 速度快(~2s 搜索),无网络延迟
采用率9/10社区不断壮大,已在 Claude Code 生产环境中使用

限制与解决方案:

限制解决方案
需要本地运行 Ollamabrew services start ollama(开机自启)
索引可能过期使用 grepai watch 自动重建索引
不适合精确模式匹配使用原生 Grep 工具处理正则表达式
需下载嵌入模型(约 270MB)一次性执行 ollama pull nomic-embed-text

替代方案:

服务器优点缺点
Grepai本地私有,支持语义搜索和调用图谱需要配置 Ollama
原生 Grep即时响应,支持精确模式不具备语义理解
GitHub 代码搜索基于云端,支持跨仓库需要 GitHub,不支持调用图谱

交叉参考:详细用法、提示策略及与其他 MCP 服务器的集成方式,请参阅 「ultimate-guide.md — MCP 服务器:Grepai」。

相关资源:


文档与知识 ​

Context7 MCP ​

用于实时获取库文档(LangChain、Anthropic SDK 等)的官方 Upstash 服务器,可消除 API 幻觉问题。

使用场景:Claude Code 需要调用某个库的 API → Context7 提供最新文档及示例代码。

核心功能:

功能详情
库搜索检索 500+ 个库的文档
代码示例各语言专属示例(Python、TS 等)
API 参考详细的函数签名与参数说明
版本筛选获取特定库版本的文档
智能排序AI 按相关性和项目使用频率排序

安装方式:

Bash
# 本地运行
npx -y @upstash/context7-mcp --api-key YOUR_API_KEY

Claude Code 配置(本地):

Bash
claude mcp add context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY

Claude Code 配置(远程/HTTP):

Bash
claude mcp add --transport http --header "CONTEXT7_API_KEY: YOUR_API_KEY" \
  context7 https://mcp.context7.com/mcp

使用示例:

Plain
用户:"告诉我如何用 Python SDK 调用 Claude 的流式 API"

Claude:[使用 context7 搜索]

结果:官方 Python SDK 文档 + 流式输出示例代码

质量评分:8.2/10 ⭐⭐⭐⭐

限制:

限制解决方案
库覆盖范围有限冷门库退回至网页搜索
版本延迟(1-2 天)前沿内容直接查官方仓库
存在幻觉风险(较低)与官方文档交叉验证

替代方案:

服务器优点缺点
Context7实时更新,版本精准需要 API Key
网页搜索覆盖全面,免费速度慢,存在幻觉风险
静态 RAG速度快,本地运行内容过期,不支持版本

相关资源:

ctx7 CLI 配套工具:Context7 还附带了一个 CLI(npx ctx7),用于从终端进行技能发现和 MCP 配置。ctx7 skills suggest 可自动检测项目依赖并推荐匹配技能;ctx7 setup --claude 会运行向导,自动配置 MCP 或 CLI+Skills 模式。完整工作流程详见《Claude Code:从入门到大师》第 5.5 节。


项目管理 ​

Linear MCP ​

用于 Linear(项目管理 SaaS)的社区服务器,支持 GraphQL API,可进行问题管理、项目、团队、评论等操作。

使用场景:Claude Code 自动创建工单、更新状态、在 Linear 中关联问题(打通开发与项目管理之间的闭环)。

核心功能:

功能详情
问题管理列出、获取、创建、更新、删除、搜索
项目列出、创建、更新、分配
团队与成员团队管理、成员分配
评论添加、列出,支持位置追踪
周期Sprint/周期管理
Webhooks订阅 Linear 事件(可选)

安装方式:

Bash
# NPM 或 uvx
npm install mcp-linear
# 或
uvx mcp-linear

Claude Code 配置:

Bash
claude mcp add linear -- npx -y mcp-linear --api-key YOUR_LINEAR_API_KEY

使用示例:

Plain
用户:"在 Linear 中为我刚发现的 CSS 布局问题创建一个 Bug 工单"

Claude:[使用 linear.issues.create,附带团队标识、标题、描述]

结果:工单创建成功,返回问题 ID

用户:"将工单 SOFT-123 的状态更新为'进行中'"

Claude:[使用 linear.issues.update]

结果:状态已更改

质量评分:7.6/10 ⭐⭐⭐⭐

备注:由社区维护(非 Linear 官方),但活跃且文档完善。

限制:

限制解决方案
超时问题(1 小时后恢复)实现心跳检测,检查防火墙配置
字段 65KB 上限评论内容自动分块
GraphQL 复杂度限制自动拆分复杂查询

替代方案:

服务器优点缺点
Linear MCP现代 GraphQL,适合初创团队社区维护
Jira MCP企业级,支持复杂工作流体量较重,API 较旧
GitHub Issues内置,免费项目管理功能有限

相关资源:


编排 ​

MCP-Compose ​

用于以 Docker Compose 风格管理多个 MCP 服务器的社区工具,支持声明式 YAML 配置和多传输协议(STDIO/HTTP/SSE)。

使用场景:开发者需要管理 5 个以上 MCP 服务器时,Docker Compose 风格的配置大幅简化生命周期管理。

核心功能:

功能详情
YAML 配置Docker Compose 风格的服务器定义
多传输协议支持 STDIO、HTTP、SSE、TCP
容器运行时支持 Docker、Podman 及原生进程
网络管理自动创建 Docker 网络
健康监控连接池与会话管理
HTTP 代理统一单一 HTTP 端点
热重载无需重启即可更新配置

安装方式:

Bash
git clone https://github.com/phildougherty/mcp-compose
cd mcp-compose
cargo build --release

配置(mcp-compose.yaml):

YAML
version: "1.0"
mcpServers:
  filesystem:
    command: npx
    args:
      - "@modelcontextprotocol/server-filesystem"
      - "/tmp"
    transport: stdio

  memory:
    command: npx
    args:
      - "@modelcontextprotocol/server-memory"
    transport: stdio
    env:
      DEBUG: "true"

  postgres:
    image: postgres:15
    transport: tcp
    port: 5432
    env:
      POSTGRES_PASSWORD: secret

proxy:
  port: 3000
  listen: "127.0.0.1"

生成 Claude Desktop 配置:

Bash
./mcp-compose create-config --type claude --output ~/.claude.json

启动服务器:

Bash
./mcp-compose up
# 统一 HTTP 代理运行于 http://localhost:3000

质量评分:7.4/10 ⭐⭐⭐⭐

限制:

限制解决方案
需要 Cargo 编译使用预编译二进制(如有)
YAML 学习曲线提供常见配置模板
调试较复杂使用 mcp-compose logs 排查问题

相关资源:


Packmind ​

社区工具,用于将工程规范作为 AI 上下文跨多个智能体和仓库分发。提供一个 MCP 服务器,支持直接在 Claude Code(或任何支持 MCP 的智能体)中创建和管理 Playbook 规范。

使用场景:工程团队维护一份统一的 Playbook;Packmind MCP 服务器允许 Claude Code 在会话过程中直接提出新规范或更新现有规范,无需离开编辑器。

核心功能:

功能详情
规范创建通过 MCP 工具创建/更新 Playbook 条目
多智能体输出从单一来源生成 CLAUDE.md、.cursor/rules、Copilot 说明
知识导入通过各自的 MCP 服务器从 GitHub、Slack、Jira、GitLab、Confluence、Notion 拉取上下文
自托管支持 Docker/Kubernetes,CLI 采用 Apache-2.0 授权

相关资源:

交叉参考:完整工具评估详见 「third-party-tools.md — 工程规范分发」。


生产部署 ​

安全检查清单 ​

  • [ ] API Keys 存储在 .env 中,不写入配置文件

  • [ ] RBAC/权限 已审查(尤其是 Kubernetes、Semgrep)

  • [ ] 速率限制 已了解(Linear GraphQL 复杂度、Vercel API)

  • [ ] 已实现 API 故障的回退机制

  • [ ] 所有 MCP 服务器已启用监控和日志记录

错误处理与可靠性 ​

MCP 工具可能因多种原因失败,如何向 Claude 传达失败信息至关重要。该协议提供了专用机制:工具响应中的 isError 标志。

isError 标志

工具调用失败时,在响应中设置 isError: true,而不是抛出异常或返回虚假的成功结果。这样 Claude 就能知道调用失败,并决定下一步操作:重试、换其他方式,或将问题告知用户。

JSON
{
  "content": [
    {
      "type": "text",
      "text": "Database connection refused: ECONNREFUSED 127.0.0.1:5432"
    }
  ],
  "isError": true
}

不设置 isError: true 时,Claude 可能将错误消息误认为数据,并在错误状态下继续执行。设置后,Claude 能理解该步骤失败,从而推理如何恢复。

错误分类:四个类别

不同类型的失败需要不同的恢复策略。围绕以下四个类别构建错误消息,有助于 Claude 选择正确的恢复动作:

类别触发时机Claude 的预期响应示例
暂时性临时不可用、网络抖动、速率限制延迟后重试503 Service Unavailable、超时
验证错误输入有误——类型错误、缺少字段、格式错误修正输入后立即重试invalid date format: expected ISO8601
业务错误输入正确但操作违反领域规则上报或跳过cannot delete: record has active dependencies
权限错误调用方无授权停止并向用户说明403 Forbidden: insufficient scope

实现模式

在错误消息中包含类别信息,让 Claude 无需猜测即可采取行动:

Python
def call_tool(params):
    try:
        result = execute(params)
        return {"content": [{"type": "text", "text": result}], "isError": False}
    except NetworkError as e:
        return {
            "content": [{"type": "text", "text": f"[transient] {e}. Retry in a few seconds."}],
            "isError": True
        }
    except ValidationError as e:
        return {
            "content": [{"type": "text", "text": f"[validation] {e}. Check the input format."}],
            "isError": True
        }
    except PermissionError as e:
        return {
            "content": [{"type": "text", "text": f"[permission] {e}. Cannot proceed without elevated access."}],
            "isError": True
        }
    except BusinessError as e:
        return {
            "content": [{"type": "text", "text": f"[business] {e}. Operation not permitted by domain rules."}],
            "isError": True
        }

只有暂时性错误才适合自动重试。验证错误应修正输入后重试,而不是盲目重试。业务错误和权限错误应停止执行并反馈给用户,而不是循环重试。

工具描述设计模式 ​

工具描述是 MCP 服务器中影响最大的部分。Claude 依赖它来决定调用哪个工具——描述模糊或重叠会导致路由错误,这比其他任何设计失误都更可靠地触发问题。

核心问题:描述重叠导致路由错误

两个描述听起来相似的工具会产生歧义。Claude 会选择其中一个,但往往不一致,因为它在凭描述猜测哪个适用。

JSON
// 差——描述模糊,Claude 只能猜
{ "name": "analyze_content", "description": "Analyzes content" }
{ "name": "analyze_document", "description": "Analyzes document content" }

// 好——每个描述明确界定特定输入类型
{ "name": "analyze_content", "description": "Analyzes raw text strings or inline content (not files). Use for clipboard content, API responses, or text passed directly as a string." }
{ "name": "analyze_document", "description": "Analyzes content from a file path or URL. Use when the content lives on disk or at a remote endpoint, not when you already have the text in memory." }

检验标准:只看描述,你能否明确知道什么情况下不该使用这个工具?如果不能,就补充边界说明。

描述的结构

一个好的工具描述由三部分组成,按顺序排列:

  1. 它做什么 — 一句话,用现在时、动词开头
  2. 它接受什么 — 关键输入类型或约束(文件路径还是字符串、单个还是批量)
  3. 什么时候用它而不是类似工具 — 明确说明决策边界
JSON
{
  "name": "search_codebase",
  "description": "Searches source code files by regex pattern across the repository. Use for finding symbol definitions, function calls, and string literals in code. Not for searching documentation, configs, or prose — use search_docs for those."
}

防止路由错误的命名规范

模式示例对比原因
动词区分意图get_user vs search_users按已知 ID 获取 vs 按条件查找
名词区分输入类型analyze_file vs analyze_text磁盘上的路径 vs 内联字符串
范围后缀list_tickets vs list_project_tickets全局 vs 限定范围
操作粒度create_record vs bulk_create_records单条 vs 批量

避免将同义词用作工具名——fetch、get、retrieve 对 Claude 来说意思相同。每个语义操作只选一个动词系列。

需避免的反模式

  • 缺乏范围的通用动词:process、handle、manage 对 Claude 来说毫无信息量
  • 缺少边界:"搜索数据库"——哪个数据库?全表?某个特定表?
  • 会改变语义的布尔标志:行为完全不同的工具应拆分为两个
  • 描述超过 3 句话:如果需要更多,说明工具职责过多

input_examples 作为补充

当 schema 不足以表达哪些参数组合有效或常见时,可添加 input_examples(Anthropic API 自 2026 年 2 月起支持)。它们为 Claude 展示具体用法,尤其适合可选参数:

JSON
{
  "name": "create_ticket",
  "input_examples": [
    { "title": "Login page 500 error", "priority": "critical", "assignee": "oncall" },
    { "title": "Add dark mode toggle", "priority": "low" },
    { "title": "Update API docs for v2.1" }
  ]
}

示例能传达描述无法表达的内容:assignee 只在紧急情况下设置,priority 对于常规任务可以省略。


高级 MCP 工具设计 ​

除基本错误分类外,三个设计决策会显著影响 Claude 在生产环境中使用 MCP 工具的效果:错误响应语义、资源与工具的区别,以及工具命名。


isRetryable:应用层约定 ​

MCP 规范的错误响应 schema 中不包含 isRetryable 字段。然而,在 structuredContent 中嵌入重试指导已成为调用易失败外部服务的工具的一种实用模式。

JSON
{
    "isError": true,
    "content": [
        {
            "type": "text",
            "text": "Database query timed out after 30s. Retrying with the same parameters is likely to succeed."
        }
    ],
    "structuredContent": {
        "error": {
            "code": "DATABASE_TIMEOUT",
            "message": "Query timed out",
            "isRetryable": true,
            "retryAfterMs": 5000,
            "suggestedAction": "Retry the same query after 5 seconds"
        }
    }
}

不可重试的错误:

JSON
{
    "isError": true,
    "content": [
        {
            "type": "text",
            "text": "Record not found. No record with ID 'usr_99999' exists in the database."
        }
    ],
    "structuredContent": {
        "error": {
            "code": "RECORD_NOT_FOUND",
            "message": "No record found for ID: usr_99999",
            "isRetryable": false,
            "suggestedAction": "Verify the ID is correct before retrying"
        }
    }
}

isRetryable 标志不是 Claude 从 MCP 规范中原生读取的字段,而是由你的编排层读取,由它决定是重试还是上报。该模式之所以有效,是因为 structuredContent 是机器可读的,你的代码可以在 Claude 处理之前先行检查。


isError: false + 空内容 vs isError: true ​

这两种响应形式的语义完全不同,混淆它们会导致难以调试的静默失败。

响应含义
isError: false + 非空内容工具执行成功,返回结果
isError: false + 空内容工具执行成功,未找到任何结果(合法的空状态)
isError: true工具失败:操作无法完成
JSON
// 搜索无结果:不是错误
{
    "isError": false,
    "content": [
        {
            "type": "text",
            "text": "No documents found matching query: 'quarterly report Q5 2024'"
        }
    ]
}

// 搜索执行失败:是错误
{
    "isError": true,
    "content": [
        {
            "type": "text",
            "text": "Search service unavailable. Could not execute query."
        }
    ]
}

搜索返回零结果时,Claude 应告知用户并尝试不同的关键词。搜索执行失败时,Claude 应报告工具故障,编排层应考虑重试或上报。这两条路径应当分开,而只有正确的错误语义才能让它们正确分开。


MCP 资源与工具 ​

资源和工具服务于不同目的,由不同的参与方控制。混淆两者会导致工具无法被索引,而资源无法接受参数。

维度资源工具
访问控制方应用程序(预定义,非模型发起)模型(在对话过程中按需调用)
参数无(通过 URI 读取)完整参数 schema
使用场景只读数据目录:配置文件、参考数据、文档参数化操作:搜索、计算、写入、API 调用
发现方式启动时列出,可浏览在系统提示中描述,按需调用
副作用无(按惯例只读)允许
示例公司政策文档search_policy_documents(query, date_range)
Python
# 资源:静态参考数据,由应用程序控制
@server.list_resources()
async def list_resources():
    return [
        Resource(
            uri="config://database/schema",
            name="Database Schema",
            description="Current production database schema",
            mimeType="application/json"
        ),
        Resource(
            uri="docs://api/reference",
            name="API Reference",
            description="Internal API documentation",
            mimeType="text/markdown"
        )
    ]

@server.read_resource()
async def read_resource(uri: str) -> str:
    if uri == "config://database/schema":
        return json.dumps(get_current_schema())
    elif uri == "docs://api/reference":
        return read_file("docs/api-reference.md")
    raise ValueError(f"Unknown resource: {uri}")

# 工具:参数化操作,由模型控制
@server.list_tools()
async def list_tools():
    return [
        Tool(
            name="search_database",
            description="Search the database with a structured query",
            inputSchema={
                "type": "object",
                "properties": {
                    "query": {"type": "string"},
                    "table": {"type": "string"},
                    "limit": {"type": "integer", "default": 10}
                },
                "required": ["query", "table"]
            }
        )
    ]

ResourceLink 桥接: 当工具返回资源引用(而非内联内容)时,使用 ResourceLink:

JSON
{
    "isError": false,
    "content": [
        {
            "type": "resource",
            "resource": {
                "uri": "docs://reports/Q3-2024",
                "mimeType": "application/pdf",
                "text": "Q3 2024 Financial Report (use read_resource to access full content)"
            }
        }
    ]
}

工具命名与系统提示冲突 ​

工具名称若与系统提示中的关键词相同,会导致 Claude 将该工具与无关指令关联起来。名为 process 的工具会被 Claude 与系统提示中所有出现"process"一词的地方关联,产生不可预测的触发模式。

工具命名规则:

  • 使用具体的复合名称:search_customer_records 而非 search
  • 避免系统提示中常见的通用动词:run、process、execute、handle、manage
  • 使用下划线,不用驼峰命名或连字符(MCP 约定)
  • 工具较多时加领域前缀:crm_get_contact、crm_update_contact、crm_search
Python
# 差:通用名称与系统提示关键词冲突
tools = ["search", "process", "run", "execute", "get", "update"]

# 好:带领域前缀的具体复合名称
tools = [
    "crm_search_contacts",
    "crm_get_contact_by_id",
    "crm_update_contact_status",
    "billing_create_invoice",
    "billing_get_invoice_status"
]

任务范围工具配置 ​

向每次智能体调用提供所有可用工具既低效,又增加了只读阶段发生意外写操作的风险。任务范围工具配置根据当前任务阶段限制可用工具。

Python
TOOL_PROFILES = {
    "exploration": [
        "search_documents",
        "get_document_by_id",
        "list_categories",
        "read_config"
    ],
    "analysis": [
        "search_documents",
        "get_document_by_id",
        "calculate_metrics",
        "compare_versions"
    ],
    "execution": [
        "create_document",
        "update_document",
        "delete_document",
        "send_notification"
    ]
}

def get_tools_for_phase(phase: str) -> list[str]:
    return TOOL_PROFILES.get(phase, TOOL_PROFILES["exploration"])

探索配置是只读的,执行配置增加了写操作。由于工具在分析阶段根本不存在,Claude 无法意外调用 delete_document。

对于不同用户角色可访问不同工具的多角色系统,应在角色层面进行范围控制,而不是在调用后过滤:

Python
ROLE_TOOL_ACCESS = {
    "viewer": ["search_documents", "get_document_by_id"],
    "editor": ["search_documents", "get_document_by_id", "create_document", "update_document"],
    "admin": ["*"]  # 所有工具
}

def get_tools_for_role(role: str, all_tools: list) -> list:
    if role == "admin":
        return all_tools
    allowed = ROLE_TOOL_ACCESS.get(role, [])
    return [t for t in all_tools if t.name in allowed]

范围访问对 verify_fact 工具模式尤其有价值:只需验证单个断言的子智能体可以只获得 verify_fact,从而降低延迟(上下文中需要描述的工具更少)和风险(范围内没有写工具)。


快速入门套件 ​

最小可行方案(核心):

  1. Playwright MCP — E2E 测试、网页验证
  2. Semgrep MCP — 安全优先编码

重要补充:

  1. Context7 MCP — API 参考准确性
  2. Linear MCP(可选)— 问题追踪集成

DevOps/SRE 套件:

  1. Kubernetes MCP — 集群管理
  2. Vercel MCP — Next.js 部署自动化

复杂环境:

  1. MCP-Compose — 多服务器编排
  2. Browserbase MCP — 重度网页自动化(付费)

安装示例 ​

Bash
# Playwright(浏览器测试)
npm install @microsoft/playwright-mcp

# Semgrep(安全)
uvx semgrep-mcp

# Context7(文档)
npx -y @upstash/context7-mcp --api-key YOUR_API_KEY

# Linear(项目管理)
npm install mcp-linear

性能指标 ​

指标中位数范围备注
响应时间约 200ms100–500ms取决于云端(Browserbase 约 500ms)
Token 开销约 200–500 Token结构化输出较少可访问性树 vs 截图
配置时间约 5 分钟2–10 分钟Cargo 编译(MCP-Compose)约 10 分钟

月度跟踪方法论 ​

本节记录维护本指南并进行月度生态更新的流程。

监控来源 ​

官方来源:

社区来源:

讨论社区:

技术文章:

月度审查清单 ​

  • [ ] 官方服务器:检查 Anthropic GitHub 的新版本发布

  • [ ] 社区服务器:查看 GitHub 话题中的热门服务器(≥50 星,发布时间 ❤️ 个月)

  • [ ] 生态变化:关注 Anthropic 博客的协议更新

  • [ ] 服务器健康:重新评估现有服务器(版本发布、问题、维护情况)

  • [ ] 安全:检查已披露的漏洞(GitHub 安全公告)

  • [ ] 废弃情况:识别已归档或无人维护的服务器

  • [ ] 更新指南:添加新验证的服务器,移除已废弃的服务器

评估模板 ​

对每个候选服务器:

  1. 基础验证:

    • GitHub 星数 ≥50?
    • 最近发布时间 ❤️ 个月?
    • 文档完整(README + 示例 + 配置)?
    • 是否有测试/CI?
  2. 质量评分(参见评估框架):

    • 维护活跃度:/10
    • 文档质量:/10
    • 测试覆盖:/10
    • 性能:/10
    • 采用率:/10
    • 总分:/50 → 归一化为 /10
  3. 使用场景分析:

    • 填补了什么空白?
    • 是否已被官方服务器覆盖?
    • 有哪些替代方案?
  4. 决策:

    • 收录(评分 ≥8):在指南中添加完整章节
    • 观察(评分 6–7):添加至「观察列表」,下月重新评估
    • 拒绝(评分 <6):在已排除服务器中记录原因

集成工作流程 ​

新增服务器时:

  1. 在对应类别下创建章节(浏览器自动化、DevOps 等)

  2. 包含以下内容:

    • 使用场景描述
    • 核心功能表格
    • 安装说明
    • 配置示例
    • 质量评分
    • 限制与解决方案
    • 替代方案对比
    • 资源(GitHub、文档、教程)
  3. 若与最小可行方案相关,更新快速入门套件

  4. 若涉及安全关键内容,更新生产部署清单


为 Claude 记录 MCP:参考文件模式 ​

将 MCP 服务器集成到技能中时,Claude 必须自行摸索查询语法、必填参数组合和奇怪的行为。对于简单的 MCP 来说这没问题,但对于面向生产环境的工具(可观测性工具、项目管理 API、日志聚合器),这很快就会出问题。Claude 会猜参数格式,收到晦涩的错误,换种方式再试,最终把预算都浪费在无效重试上。

来自 Packmind 工程团队(Apache 2.0 开源)的解决方案:在技能目录下添加 references/<mcp-name>.md 文件,并在技能的第一步读取它,然后再进行任何 MCP 调用。

参考文件包含的内容 ​

Claude 无法可靠推断的三类内容:

1. 与工具名称不符的参数语义

例如,使用 Datadog 查询语法(而非正则表达式)的 Datadog "search" 工具;或需要 organization_slug(URL slug,而非显示名称)的 Sentry 工具。这些不是 MCP 的 Bug,只是不够直观。

2. 已知错误模式及其触发原因

例如:"在 DDSQL 的 GROUP BY 中使用 SELECT 别名会导致晦涩错误,请改用完整表达式。"这将一个 10 分钟的调试过程变成了零秒的查阅。

3. 覆盖 80% 场景的可用查询示例

提供覆盖最常见查询的可复制粘贴示例,让 Claude 直接修改复用,而不是从头构建。

文件结构 ​

Plain
.claude/skills/my-mcp-skill/
├── SKILL.md                    # 主技能文件
└── references/
    └── <mcp-name>.md           # MCP 参考文件(此模式)

SKILL.md 在第一步读取参考文件:

Markdown
## 第一步:读取 MCP 参考文件

在做任何其他事情之前,先读取 `references/<mcp-name>.md`。
其中包含该 MCP 的查询语法和已知注意事项。
不得跳过此步骤。

为何有效 ​

参考文件不是写给人看的文档,而是结构化的上下文注入。其中的每条信息都能降低 Claude 发出错误 MCP 调用的概率。做得好的话,它能消除因语法错误引起的重试循环,使技能可靠到足以无人值守地定时运行。

这个模式适用于任何行为不够直观的 MCP:Datadog、Sentry、PagerDuty、Linear、Jira、Mixpanel、Posthog。如果 MCP 有查询语言、分页细节或名称不直观的必填参数,参考文件在第一次运行时就能证明其价值。

开箱即用模板 ​

演示此模式的完整模板技能(含 Sentry 示例)位于:

本仓库的 examples/skills/mcp-integration-reference/

模板包含:

  • 具有 5 步结构的 SKILL.md(读取参考、收集范围、获取、分析、报告)
  • 包含完整参数文档、注意事项、查询示例和噪音排除列表的 references/sentry-mcp.md
  • 适配任意 MCP 服务器的操作说明

灵感来源于 Packmind 开源仓库(Apache 2.0,Cédric Teyton)的 Datadog MCP 参考文件。完整致谢见 「Credits」。


已排除服务器 ​

经过评估但未纳入验证列表的服务器:

服务器排除原因来源评估日期
X/Twitter MCPAPI 不稳定,认证问题频发,维护不一致Cursor 论坛2026 年 1 月
Vector Search MCP星数 <50,文档不完整LobeHub2026 年 1 月
GitHub MCP已归档,迁移至官方 Go SDKGitHub 变更日志2026 年 1 月
Jira MCP(sooperset)近期无版本发布(最后更新:2025 年 6 月),稳定性不如 LinearGitHub 发布页2026 年 1 月

统计与洞察 ​

按类别分布 ​

类别服务器数量使用场景
浏览器自动化3(Playwright、Browserbase、Chrome DevTools)测试、调试、数据提取
DevOps/基础设施3(Vercel、Kubernetes、Sentry)部署、集群管理、可观测性
安全/代码分析1(Semgrep)漏洞扫描、安全编码
代码搜索/分析1(Grepai)语义搜索、调用图谱分析
文档/知识1(Context7)API 参考、代码示例
项目管理1(Linear)问题追踪、Sprint 规划
编排1(MCP-Compose)多服务器管理

维护方类型 ​

  • 官方服务器(6 个):Playwright(微软)、Browserbase、Semgrep、Context7、Kubernetes(红帽)、Chrome DevTools(Anthropic)
  • 社区服务器(4 个):Linear、Vercel、MCP-Compose、Grepai(设计良好,积极维护)

最后更新:2026 年 5 月下次审查:2026 年 6 月维护方:Claude Code 《Claude Code:从入门到大师》团队


返回 「主指南」 | 「README」


来源:飞书 · AI Spark 知识库 | 原文(最新版):https://lcnniolukk80.feishu.cn/wiki/X6iXwqTstif65GkyYg4cK9ztnsf | 归档:2026-06-04