MCPaudit
Automated security scanner + grading system for Model Context Protocol (MCP) servers.
MCPaudit gives teams a fast A-F risk grade, concrete findings, and machine-readable output before an MCP server is wired into an agent workflow. The free OSS CLI is the trust builder; the natural paid tier is registry monitoring, scheduled scans, historical grades, dashboards, and policy gates for CI/procurement review.
Quick Start
pip install mcp-audit-cli
mcp-audit scan ./path/to/mcp-server
mcp-audit scan https://example.com/mcp --format json
mcp-audit scan ./server --format sarif --output mcp-audit.sarif
The legacy mcpaudit command is kept as a compatibility alias for the original
detector framework.
Why It Exists
MCP servers turn tools, files, prompts, and APIs into model-accessible capabilities. That makes security posture visible at the model layer: weak auth, broad file access, tool poisoning, leaked secrets, unsafe command execution, and permissive network settings can become agentic blast radius.
MCPaudit is built to make that risk obvious early.
Vulnerability Coverage
The repository includes a 30-class CVE-style threat model and an MVP scanner with 15 MCP-focused checks:
- unauthenticated HTTP transports
- wildcard CORS
- plaintext HTTP endpoints
- hardcoded secrets
- command injection sinks
- shell execution
- path traversal
- broad filesystem access
- unsafe deserialization
- prompt or tool poisoning markers
- over-broad tool descriptions
- missing rate limiting
- debug mode enabled
- server/version disclosure
- missing audit logging
Output Formats
table/terminal: human-readable report with grade and findingsjson: stable JSON for dashboards and CIsarif: GitHub code scanning compatible output
Architecture
mcpaudit/
├── src/mcpaudit/ # Original Click/Rich detector framework
├── src/mcp_audit/ # Local-first CLI scanner and SARIF/JSON renderer
├── docs/threat-model.md # Full vulnerability taxonomy narrative
├── docs/vulnerability-taxonomy.schema.json
├── docs/vulnerability-taxonomy.json
├── tests/ # Detector and CLI scanner tests
└── pyproject.toml
Grading
Findings are weighted by severity and converted into an A-F grade:
A: no material findingsB: low riskC: moderate riskD: high riskF: critical or severe accumulated risk
Selling Angle
Suggested first buyer: security-conscious teams adopting MCP internally who need a quick risk signal before allowing new servers into agent environments.
Paid tier wedge:
- registry monitoring for public/private MCP servers
- scheduled scans and drift alerts
- historical grades per server
- team dashboards and SARIF ingestion
- policy gates for CI and procurement review
Development
python -m venv .venv
pip install -e ".[dev]"
pytest
ruff check .
mcp-audit scan tests --format sarif --output mcp-audit.sarif
Roadmap
- v0.1 - Bootstrap + threat model
- v0.2 - Core detection engine MVP
- v0.3 - CLI MVP with JSON and SARIF
- v0.4 - Package publishing and launch assets
- v0.5 - Cloud registry proof of concept
License
MIT
Metadata
Release files for mcp-audit-cli 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 | |
|---|---|---|---|---|
| mcp_audit_cli-0.1.0.tar.gz | 20.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_audit_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.5 kB
Release files / mcp_audit_cli-0.1.0.tar.gz
| Download URL | mcp_audit_cli-0.1.0.tar.gz |
|---|---|
| Size | 20.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fddbc2d5d9578cc478c501566b03f29dad219a65bf6303a18324b3715cdd4d07
|
|
BLAKE2b-256 checksum How to use checksums |
8bb319e22308184671a6952bf1e3e0dc46368537c756d269d4fc6fb01b09e2be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / mcp_audit_cli-0.1.0-py3-none-any.whl
| Download URL | mcp_audit_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35b67dea9fa4207b9386023ecd5d47711e45efa6d320a14cdc6e57c8ae4df8c6
|
|
BLAKE2b-256 checksum How to use checksums |
2c9a641f69348d152e4ab4254508cf9560dec89016d487dff078f2121daabbf7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for mcp-audit-cli 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.