使用说明
mcp医生
一个元MCP服务器,可以自动发现、健康检查和代理所有其他MCP服务器。添加一次——为每个项目中的每个工具提供一个通用的网关。
它的作用
mcp医生 扫描您的计算机,查找所有项目和IDE中配置的每个MCP服务器。它可以检查他们是否健康,搜索他们所有的工具,并从任何项目上下文调用任何服务器上的任何工具。
工具
| 工具 | 说明 |
|---|---|
list_servers |
发现所有项目中的所有MCP服务器。扫描 ~/.claude.json, .mcp.json、游标和VS代码配置。 |
check_health |
生成每台服务器,执行MCP握手,验证其是否响应。将结果保存到历史记录中。 |
server_history |
显示特定服务器的过去健康检查结果和正常运行时间统计数据。 |
server_detail |
对单个服务器进行深入检查:配置、实时健康检查、完整工具列表、跨项目重复。 |
list_all_tools |
从所有服务器获取完整的工具目录——名称、描述和参数模式。 |
search_tools |
在所有服务器上按关键字搜索工具。匹配工具名称和描述。 |
call_tool |
调用任何发现的服务器上的任何工具。生成目标,通过MCP连接,调用工具,返回结果。 |
例子
问克劳德: “我的MCP服务器都正常吗?”
Health check complete (9 servers, 9.7s):
✓ totetaxi/langsmith OK 1.2s 16 tools
✓ totetaxi/sentry OK 1.4s 22 tools
✓ store/sentry OK 1.2s 22 tools
✓ store/postgres-local OK 0.9s 1 tools
✓ store/postgres-prod OK 0.9s 1 tools
✓ store/redis OK 0.9s 45 tools
✓ store/netlify OK 1.3s 9 tools
✓ store/railway OK 1.1s 14 tools
✓ matt-website/google-analytics OK 0.7s 6 tools
9 healthy, 0 failing
问克劳德: “在我的工具中搜索与问题相关的任何内容”
Found 14 tools matching "issue" across 2 servers:
totetaxi/sentry (7 tools):
- list_issues(organization_slug: string, project_slug: string, ...) — List issues in a project
- get_issue_details(issue_id: string) — Get details for a specific issue
...
store/sentry (7 tools):
- list_issues(organization_slug: string, project_slug: string, ...) — List issues in a project
...
问克劳德: “检查我的谷歌分析流量” (来自任何项目)
[Proxied: matthew_raynor_website/google-analytics → run_report in 1.0s]
{ rows: [{ country: "United States", city: "New York", activeUsers: 6 }, ...] }
安装
添加到您的Claude代码配置中(~/.claude.json 全球,或 .mcp.json 每个项目):
{
"mcpServers": {
"doctor": {
"command": "npx",
"args": ["@mnraynor90/mcp-doc"]
}
}
}
重新启动IDE。就这样
运作原理
- 发现 --扫描Claude Code、Cursor和VS Code中的配置文件,以查找所有项目中的所有MCP服务器
- 健康检查 --将每个服务器生成为临时子进程,执行MCP握手,测量响应时间,然后清理
- 工具目录 --连接到服务器以获取具有参数类型的完整工具模式
- 代理 --按需生成目标服务器,验证工具是否存在,调用它,并返回结果
- 历史 --将结果保存到本地JSON文件
~/.mcp-doc/history.json
它扫描什么
| 源 | 路径 |
|---|---|
| 克劳德代码(全球) | ~/.claude.json → projects.*.mcpServers |
| 克劳德代码(项目) | <project>/.mcp.json |
| 光标(全局) | ~/.cursor/mcp.json |
| VS代码(项目) | <project>/.vscode/mcp.json |
设计决策
- 零本地依赖。 原生Node.js插件(如
better-sqlite3)ABI不匹配导致IDE运行时崩溃。mcp-doc只使用纯JavaScript依赖项。 - 无状态代理。 每
call_tool调用会生成一个新的服务器进程——没有持久连接,没有泄漏状态。 - 30秒超时。 所有操作都包含在
Promise.race()以终止挂起的进程。 - 凭证编辑。
list_servers在输出中屏蔽令牌、API密钥和URL密码。 - 审计日志记录。 每个代理
call_tool调用被记录到历史文件中。 - 自检防护装置。 mcp-doc不会自行生成,从而防止无限递归。
如何比较
| mcp中心 | MetaMCP | mcp文档 | |
|---|---|---|---|
| 设置 | 编写单独的配置 | 创建帐户+API密钥 | 零配置-自动查找 |
| 架构 | 代理 | 云代理+GUI | 本地扫描仪+代理 |
| 跨项目 | 否 | 是(工作区) | 是(自动扫描) |
| 工具发现 | 否 | 是 | 是(搜索+目录) |
| 健康历史记录 | 仅当前 | 仅当前 | JSON历史记录,包含正常运行时间统计数据 |
| 隐私 | 本地 | 云 | 本地 |
发展
git clone https://github.com/mattyray/mcp-doc.git
cd mcp-doc
npm install
npm run build
技术栈
- TypeScript+Node.js(ES2022,严格模式)
- @模型上下文协议/sdk --MCP官方SDK(客户端+服务器端)
许可证
麻省理工学院
