MCP服务器质量检测工具

MCP Doctor是一个用于检查和改进任何MCP服务器合同质量的工具,适用于人类用户、AI代理和平台。

  • by Jiansen
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Jiansen/mcp-doctor

使用说明

MCP Doctor

Check and improve the contract quality of any MCP server — for humans, agents, and platforms.

问题

大多数MCP服务器在构建时只考虑一个受众(通常是阅读README的人类开发人员)。但一个成功的MCP服务器需要同时满足三个受众:

  • 分销平台 (Registry、Smithery、PulseMCP、Glama)需要结构化元数据
  • 人类用户 需要明确的目的、信任信号和低安装摩擦
  • AI代理 需要明确的工具描述、声明的副作用和令牌高效的响应

MCP医生检查“合同质量”的所有六个维度,并为您提供可操作的建议。

快速开始

pip install mcp-doctor
mcp-doctor check /path/to/your-mcp-server

它检查什么

维度 问题
任务清晰度 服务器的用途是否立即明确?
信任与安全 是否声明了副作用、许可和安全界限?
界面质量 工具的名称、描述和类型是否恰当?
代币效率 工具响应是否符合代理的上下文预算?
安装摩擦力 一个人从发现到首次使用的速度有多快?
跨平台就绪 Registry、Smithery、PulseMCP、Glama的元数据是否完整?

用法

命令行界面

# Terminal output (default, rule-based)
mcp-doctor check /path/to/server

# JSON output (for CI/CD)
mcp-doctor check /path/to/server --format json

# Markdown output (for README badges or reports)
mcp-doctor check /path/to/server --format markdown

# AI-enhanced evaluation (requires OPENAI_API_KEY)
mcp-doctor check /path/to/server --mode ai

# AI mode with a specific model
mcp-doctor check /path/to/server --mode ai --model gpt-4o

作为MCP服务器

MCP Doctor也是一个MCP服务器,因此AI代理可以使用它来检查其他服务器:

{
  "mcpServers": {
    "mcp-doctor": {
      "command": "python",
      "args": ["-m", "mcp_doctor.mcp_server"]
    }
  }
}

工具:

  • check_server(path, format, mode, model) --运行所有6个检查。使用 mode="ai" 法学硕士强化复习。
  • list_dimensions() --列出MCP医生评估的内容

对于AI代理:快速安装

一个衬垫 (将此粘贴到您的AI代理):

安装mcp医生(pip install mcp-doctor)并使用命令将其添加到MCP配置中 python -m mcp_doctor.mcp_server。然后使用 check_server 用于检查任何MCP服务器质量的工具。

一步一步地:

  1. 安装: pip install mcp-doctor
  2. 添加到MCP配置中:
    {
      "mcpServers": {
        "mcp-doctor": {
          "command": "python",
          "args": ["-m", "mcp_doctor.mcp_server"]
        }
      }
    }
    
  3. 使用 check_server 带有指向任何MCP服务器仓库的路径的工具
  4. 如果MCP不可用,请返回CLI: mcp-doctor check /path/to/server --format json

代理工作流程: 检查服务器->查看分数->确定最低维度->遵循建议

评分

每个维度的得分为0-100,分为A/B/C/D:

  • A. (90+):典范
  • B (75-89):良好,差距较小
  • C (55-74):充分、显著的差距
  • D (<55):需要大幅改进

理论基础

MCP Doctor基于 合同质量框架 --一个成功的MCP产品的承诺(它的作用、成本、风险)应该同样可以被平台、人类和代理解析的原则。

该框架借鉴了:

  • Anthropic的“为代理编写有效工具”(工具描述工程、命名空间、令牌效率)
  • MCP注册表官方要求(server.json模式、命名空间验证)
  • Smithery、PulseMCP、Glama排名信号的跨平台分析

评估模式

模式 标志 确定性 网络 API密钥
基于规则 (默认) --mode rule 是 否 否
AI增强 --mode ai 否 是(LLM API) OPENAI_API_KEY

基于规则的模式 完全离线且具有确定性。无需网络调用,无需LLM,无需API密钥。

AI模式 将元数据摘要(服务器名称、工具定义、自述预览、基于规则的分数)发送到与OpenAI兼容的API进行定性审查。没有发送源代码。报告包括型号名称和版本,以确保可重复性。

AI模式支持任何与OpenAI兼容的提供商:

  • OPENAI_API_KEY -API键(AI模式需要)
  • OPENAI_BASE_URL --自定义端点(适用于Ollama、vLLM、LM Studio、Azure等)
  • MCP_DOCTOR_MODEL --型号名称(默认值: gpt-4o-mini)

安装AI支持: pip install mcp-doctor[ai]

信任和权限

MCP医生 只读。它从不修改、删除或创建文件。

它访问什么 为什么
server.json 解析MCP元数据
README.md 检查文件质量
LICENSE 验证许可证是否存在
*.py, *.json 在 src/ 检测工具定义

所有MCP工具都具有 readOnlyHint: true 和 destructiveHint: false 注释。

反馈

发现bug了吗?有什么建议吗?我们很乐意收到您的来信:

  • GitHub 问题: https://github.com/Jiansen/mcp-doctor/issues
  • 快速报告 (如果你有 gh CLI):
    gh issue create --repo Jiansen/mcp-doctor --title "Bug: ..." --body "..."
    

如果您是代理,请包含以下JSON输出 check_server 在你的报告中提供背景信息。

贡献

git clone https://github.com/Jiansen/mcp-doctor.git
cd mcp-doctor
pip install -e ".[dev,ai]"
ruff check src/ tests/
pytest tests/ -v

如果MCP Doctor帮助您改进了服务器,请考虑在GitHub上给它一颗星——它可以帮助其他人发现该工具。

许可证

麻省理工学院