mcp-doctor leaderboard

Open-source trust scores for MCP server packages. Updated daily. rubric source · live API

200
packages scanned
138
PASS
58
WARN
3
BLOCK

BLOCK — do not install

Packages with at least one hard-block signal (typosquat, hardcoded credentials, etc.). Names redacted pending responsible disclosure.

#VerdictReasonStatus
1BLOCKHard-coded Anthropic API key in published sourceMaintainer privately notified, 7-day disclosure window
2BLOCKTyposquat of official @modelcontextprotocol/server-puppeteerPublic
3BLOCKTyposquat (similar pattern)Public

WARN — review before installing (top 15 by lowest score)

ScorePackageReason
50[email protected]2,299 days since last release · 1 known CVE
53[email protected]390 days stale + no repo URL
53[email protected]442 days stale + no repo URL
53[email protected]451 days stale + no repo URL
53[email protected]392 days stale + no repo URL
53[email protected]494 days stale + no repo URL
55[email protected]deprecated, 1 OSV CVE
57@jsonresume/[email protected]451 days stale, no license
57@jsonresume/[email protected]422 days stale, no license
62@google/[email protected]Google has archived the repo · 395 days stale
64@modelcontextprotocol/server-github"official" — 416 days stale, no repo URL
64@modelcontextprotocol/create-server"official" — 550 days stale, no repo URL
67@modelcontextprotocol/server-postgres"official" — 541 days stale, no repo URL
67@modelcontextprotocol/server-slack"official" — 399 days stale, no repo URL
67@modelcontextprotocol/server-gdrive"official" — 501 days stale, no repo URL

Six "official" @modelcontextprotocol/server-* packages have been published over a year ago with no repository URL in their package.json. If you depend on these, mirror the source.

weiseer self-disclosure

We score our own packages with the same rubric. Here is what came out:

PackageVerdictScoreSuppressed signals (self-disclosed)
@weiseer/llm-oracle-mcpPASS100B2 single-maintainer, B3 new-repo
@weiseer/bounty-mcpPASS100B2, B3
@weiseer/status-aggregator-mcpPASS100B2, B3
@weiseer/api-changelog-mcpPASS100B2, B3
@weiseer/cve-cache-mcpPASS100B2, B3
@weiseer/dns-cache-mcpPASS100B2, B3
@weiseer/package-meta-mcpPASS100B2, B3
@weiseer/regulatory-deadline-mcpPASS100B2, B3
@weiseer/license-checker-mcpPASS100B2, B3

All 9 packages PASS. Two signals are suppressed on packages flagged as self_disclosure: true in the rubric: single-maintainer and new-repo — both expected on packages published the same day. The rubric file is open-source; argue with the methodology if you disagree.

Add a trust badge to your README: ![MCP Trust](https://api.weiseer.com/badge?pkg=YOUR_PACKAGE)