Mcp Doctor — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Doctor (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- mcp-name: io.github.Jiansen/mcp-doctor -->
<p align="center"> <img src="assets/avatar-512.png" width="120" alt="mcp-doctor logo"> </p>
<h1 align="center">MCP Doctor</h1>
<p align="center"> <a href="https://pypi.org/project/mcp-doctor/"><img src="https://img.shields.io/pypi/v/mcp-doctor" alt="PyPI"></a> <a href="https://github.com/Jiansen/mcp-doctor/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="License"></a> <a href="https://pypi.org/project/mcp-doctor/"><img src="https://img.shields.io/pypi/pyversions/mcp-doctor" alt="Python"></a> <a href="https://github.com/Jiansen/mcp-doctor/stargazers"><img src="https://img.shields.io/github/stars/Jiansen/mcp-doctor?style=social" alt="GitHub Stars"></a> </p>
<p align="center">Check and improve the contract quality of any MCP server — for humans, agents, and platforms.</p>
Most MCP servers are built with only one audience in mind (usually human developers reading a README). But a successful MCP server needs to satisfy three audiences simultaneously:
MCP Doctor checks all six dimensions of "contract quality" and gives you actionable recommendations.
pip install mcp-doctor
mcp-doctor check /path/to/your-mcp-server| Dimension | Question |
|---|---|
| Task Clarity | Is the server's purpose immediately clear? |
| Trust & Safety | Are side effects, permissions, and safety boundaries declared? |
| Interface Quality | Are tools well-named, well-described, and well-typed? |
| Token Efficiency | Will tool responses fit an agent's context budget? |
| Install Friction | How fast can someone go from discovery to first use? |
| Cross-platform Readiness | Is metadata complete for 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-4oMCP Doctor is also an MCP server, so AI agents can use it to check other servers:
{
"mcpServers": {
"mcp-doctor": {
"command": "python",
"args": ["-m", "mcp_doctor.mcp_server"]
}
}
}Tools:
check_server(path, format, mode, model) — Run all 6 checks. Use mode="ai" for LLM-enhanced review.list_dimensions() — List what MCP Doctor evaluatesOne-liner (paste this to your AI agent):
Install mcp-doctor (pip install mcp-doctor) and add it to your MCP config with commandpython -m mcp_doctor.mcp_server. Then use thecheck_servertool to check any MCP server's quality.
Step by step:
pip install mcp-doctor {
"mcpServers": {
"mcp-doctor": {
"command": "python",
"args": ["-m", "mcp_doctor.mcp_server"]
}
}
}check_server tool with a path to any MCP server repomcp-doctor check /path/to/server --format jsonAgent workflow: check server -> review scores -> identify lowest dimensions -> follow recommendations
Each dimension is scored 0-100 and graded A/B/C/D:
MCP Doctor is based on the Contract Quality Framework — the principle that a successful MCP product's promises (what it does, what it costs, what risks it carries) should be equally parseable by platforms, humans, and agents.
The framework draws from:
| Mode | Flag | Deterministic | Network | API Key |
|---|---|---|---|---|
| Rule-based (default) | --mode rule | Yes | No | No |
| AI-enhanced | --mode ai | No | Yes (LLM API) | OPENAI_API_KEY |
Rule-based mode is fully offline and deterministic. No network calls, no LLM, no API keys needed.
AI mode sends a metadata summary (server name, tool definitions, README preview, rule-based scores) to an OpenAI-compatible API for qualitative review. No source code is sent. Reports include model name and version for reproducibility.
AI mode supports any OpenAI-compatible provider:
OPENAI_API_KEY — API key (required for AI mode)OPENAI_BASE_URL — Custom endpoint (for Ollama, vLLM, LM Studio, Azure, etc.)MCP_DOCTOR_MODEL — Model name (default: gpt-4o-mini)Install AI support: pip install mcp-doctor[ai]
MCP Doctor is read-only. It never modifies, deletes, or creates files.
| What it accesses | Why |
|---|---|
server.json | Parse MCP metadata |
README.md | Check documentation quality |
LICENSE | Verify license presence |
*.py, *.json in src/ | Detect tool definitions |
All MCP tools have readOnlyHint: true and destructiveHint: false annotations.
Found a bug? Have a suggestion? We'd love to hear from you:
gh CLI): gh issue create --repo Jiansen/mcp-doctor --title "Bug: ..." --body "..."If you're an agent, include the JSON output of check_server in your report for context.
git clone https://github.com/Jiansen/mcp-doctor.git
cd mcp-doctor
pip install -e ".[dev,ai]"
ruff check src/ tests/
pytest tests/ -vIf MCP Doctor helped you improve your server, consider giving it a star on GitHub — it helps others discover the tool.
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.