weiseer-mcp-doctor
Install-time supply-chain trust gate for MCP servers. PASS / WARN / BLOCK + cited evidence.
Python port of @weiseer/mcp-doctor. Same open-source rubric, same scoring. For users who prefer pip install and Python-based CI integrations.
Install
pip install weiseer-mcp-doctor
Use
# Single package
mcp-doctor @some/package
# Multiple
mcp-doctor zod @modelcontextprotocol/sdk @anthropic-ai/sdk
# JSON output (for CI)
mcp-doctor --json @some/package
What gets scored
20+ signals across 4 categories:
- Supply chain hygiene — postinstall scripts, unpinned deps, missing provenance, repo URL integrity
- Maintainer health — release cadence, archive status, bus factor, GitHub last-push age
- Known vulnerabilities — direct + transitive CVE via OSV.dev
- MCP-specific risk — typosquat against official servers, hardcoded credentials, capability misdeclaration
Full open-source rubric: github.com/weiseer/mcp-doctor/blob/main/rubric.yaml
Exit codes
0— all PASS or WARN1— at least one BLOCK2— invalid usage
Useful in CI:
- run: pip install weiseer-mcp-doctor
- run: mcp-doctor @x/server-foo @y/server-bar
Why this exists
The MCP ecosystem has had several recent supply-chain incidents (MCPwn CVE-2026-33032, Atlassian MCP RCE, Shai-Hulud worm stealing auth tokens from 172 npm packages). mcp-doctor is the developer-friendly install gate, with the methodology open for audit.
A 200-package validation run is live at https://api.weiseer.com/dataset/scan_200.json. 3 BLOCK findings including 1 hardcoded LLM API key.
License
Apache-2.0. Rubric: open-source, fork-friendly.
Author
Metadata
Release files for weiseer-mcp-doctor 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| weiseer_mcp_doctor-0.1.0.tar.gz | 12.7 kB | Without provenance | Details for weiseer_mcp_doctor-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| weiseer_mcp_doctor-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for weiseer_mcp_doctor-0.1.0-py3-none-any.whl |
Total release size: 26.1 kB
Release files / weiseer_mcp_doctor-0.1.0.tar.gz
| Download URL | weiseer_mcp_doctor-0.1.0.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d3b246affd5dfa51c9455417cbaabcd62b81188f0703a2aeec003730de1ea601
|
|
BLAKE2b-256 checksum How to use checksums |
da4b1bca3fb86f8de71578c6664fb2efd875a7d69b253f098afcf0da6f09ef61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / weiseer_mcp_doctor-0.1.0-py3-none-any.whl
| Download URL | weiseer_mcp_doctor-0.1.0-py3-none-any.whl |
|---|---|
| Size | 13.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8a72f4d5748c3576698922bf217f71465c8d7d357d2c9c6d9fcb39f352b9a526
|
|
BLAKE2b-256 checksum How to use checksums |
3e1a93781c27ce2341ae0bb90da1d404cf3b1c3f211dcb62a4f31d8d844bd289
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Security for weiseer-mcp-doctor 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.