github-actions commented
botMCP Doctor report
The server connects. Here’s the result at a glance.
- Discovery and connection 12 Passed
- Input schemas 4 Failed
- Tool guidance 10 Warnings
- Active diagnostics 34 Skipped
MCP Doctor
An MCP server can connect and still fail when an agent tries to use it. MCP Doctor checks for those hidden problems and tells you what to fix first.
github-actions commented
botThe server connects. Here’s the result at a glance.
GitHub Actions
Run a passive check on each pull request. MCP Doctor shows what passed, what failed, and what to fix first.
Set up GitHub ActionsMeasured performance
Across 8 successful runs, MCP Doctor checked the server in 287–838 ms and wrote four CI reports.
The diagnosis step took 287–838 milliseconds across eight successful GitHub Actions runs; the rounded median was 333 milliseconds.
This measures only MCP Doctor’s diagnosis step in a repository-owned TypeScript harness on GitHub-hosted Ubuntu 24.04 runners. It excludes checkout, builds, CLI acquisition, capability checks, report verification and upload, queueing, and comments. It is not total workflow time or a guarantee for every repository.
| Run | Duration (milliseconds) |
|---|---|
| MCP Doctor check · run 1 | 838 |
| MCP Doctor check · run 2 | 331 |
| MCP Doctor check · run 3 | 334 |
| MCP Doctor check · run 4 | 422 |
| MCP Doctor check · run 5 | 299 |
| MCP Doctor check · run 6 | 287 |
| MCP Doctor check · run 7 | 317 |
| MCP Doctor check · run 8 | 449 |
mcp-harness GitHub Actions Eight successful diagnosis steps were measured from their GitHub Actions log-group start to the next step on August 27, 2026.
Same GitHub Actions harness · 5 Cargo installs vs. 8 prebuilt-binary downloads
The Agent Skill
The Agent Skill helps compatible coding agents run a passive mcp-doctor check, read its redacted report, and start with the first fix.
Install the CLI first · Optional · Passive checks only
ChatGPT · Codex
Claude Code
Cursor Agent
VS Code
GitHub Copilot
Kiro IDE · Kiro CLI
Why this matters now
Monthly npm downloads reported for the official @modelcontextprotocol/sdk package rose from 1.87 million in March 2025 to 191.92 million in July 2026.
Downloads include CI, caches, automated installs, repeat installs, and five API-reported zero days with no published explanation. They are not unique developers, active users, deployed servers, customers, successful tasks, revenue, or proof that a product needs MCP.
| Month | Downloads |
|---|---|
| March 2025 | 1,874,545 |
| April 2025 | 4,212,709 |
| May 2025 | 20,933,359 |
| June 2025 | 16,837,593 |
| July 2025 | 21,605,761 |
| August 2025 | 24,658,353 |
| September 2025 | 31,258,519 |
| October 2025 | 31,805,028 |
| November 2025 | 35,008,987 |
| December 2025 | 38,516,712 |
| January 2026 | 50,249,918 |
| February 2026 | 71,656,771 |
| March 2026 | 141,911,796 |
| April 2026 | 140,092,905 |
| May 2026 | 153,164,130 |
| June 2026 | 165,176,305 |
| July 2026 | 191,923,439 |
npm download-count API The 518 public daily counts were grouped into 17 complete calendar months and reviewed August 24, 2026.
How it helps
Validate discovery, definitions, schemas, protocol behavior, and runtime boundaries without calling a tool.
Replay explicit scenarios or generate bounded cases only after granting exact authority to the selected tool.
Use the same redacted result in human, JSON, JUnit, Markdown, and badge output for local fixes and CI.
A better CI signal
mcp-doctor v0.4.0 defines 52 stable finding codes: 1 informational, 5 warnings, 42 errors, and 4 critical findings.
These are diagnostic definitions across passive and active commands—not common findings, observed defects, server scans, incidence rates, a guarantee that every code runs in passive inspect, or proof of test coverage.
| Severity | Finding codes |
|---|---|
| Informational | 1 |
| Warning | 5 |
| Error | 42 |
| Critical | 4 |
mcp-doctor v0.4.0 finding model FindingCode variants and their code-owned severities were counted in the immutable v0.4.0 source and reviewed August 24, 2026.
Straight answers about connections, active diagnostics, CI, and the limits of a passing result.
Model Context Protocol lets compatible AI applications connect to outside tools, data, and workflows. That connection becomes another product surface: its permissions, schemas, descriptions, results, and failure behavior need to be as intentional as the interface people use directly.
A handshake proves only that the server answered once. It can still advertise unclear tools, invalid schemas, broken result contracts, protocol failures, timeouts, or unsafe cleanup. mcp-doctor checks the surface a client actually discovers.
It diagnoses protocol and JSON-RPC problems, weak agent guidance, invalid or unsafe schemas, result-contract mismatches, timeouts, crashes, output-limit failures, cleanup problems, and repeatability gaps—then identifies the first actionable issue without hiding independent findings.
Passive inspect does not call listed tools. It still starts the local command or contacts the remote endpoint you select. Active check, break, and reject diagnostics make real calls only with explicit authority and should use disposable data in a suitable test environment.
Run passive inspection while a change is fresh, fix the first actionable failure, and repeat the same pinned check in CI. Stable exits and redacted JSON, JUnit, Markdown, and badge artifacts give developers, coding agents, and automation one bounded result to work from.
No. It is evidence from one scoped diagnostic run, not certification or proof of security, authorization, model success, or universal MCP conformance. mcp-doctor complements product tests, integration tests, security review, and human judgment; it does not replace them.
Before your next release
Run MCP Doctor locally or add the same passive check to each pull request.
Building a public MCP server? Tell us what you’re working on