Skip to main content

mcp-audit

PyPI Python CI CodeQL License: MIT

See what your AI tools' MCP servers can reach.

MCPAudit reviews MCP server configuration and, when asked, lists the tools a server exposes. It highlights declared capabilities, instruction-shaped text heuristics, and changes from a saved pin so you can decide what to investigate. Findings are review signals: a high score means broader capability exposure, not that a server is malicious or unsafe.

Try it

mcp-audit                              # static review of supported configs
mcp-audit check --config ./mcp.json    # review this file only; no connections
mcp-audit demo                         # see a bundled synthetic example
mcp-audit explain MCP007               # explain a finding offline; no config reads

Install with uv:

uv tool install mcp-audits

Or run without installing:

uvx --from mcp-audits mcp-audit demo

What to do with a finding

Start with the suggested action and inspect the named capability or evidence. For example, if a filesystem server can write broadly, restrict its configured directory and review the report again. Pattern-based instruction checks can miss reworded or obfuscated text and can also need human review. A clean report is not a safety certificate.

Review the server's configured access, narrow it if needed, then run the check again.

Use Start here for a guided walkthrough and Reading results to interpret scores, findings, and coverage. How it works explains the check boundary.

Each rule's meaning, possible consequences, manual fix and confidence limits are in the finding reference; mcp-audit explain MCP013 prints the same entry offline. Explicit --config sources are labeled "explicit file; parsed as Claude-style config"; the parser identity does not establish which client uses that file.

Static tool metadata checks also flag malformed MCP header annotations, credential parameters mapped to headers, external schema references and unexpected icon sources. These checks inspect served metadata without fetching schemas or icons.

Use in CI

MCPAudit can write SARIF and evaluate local policy files. Begin with config-only CI, then enable connected checks only where the workflow should start those servers. See the CI guide and policy examples.

For a pinned release example, the composite Action can upload SARIF to GitHub code scanning:

- uses: saagpatel/MCPAudit@v2.12.0

The release checklist calls out Action references so maintainers can update examples when a new public release is available. Review the action's permissions and inputs before enabling it in a repository.

Choose a review path

Goal Starting point What it does
Learn the output mcp-audit demo Uses bundled synthetic input
Review one file mcp-audit check --config FILE Static check of the selected config
Make a share card mcp-audit checkup --config FILE --card checkup.html Writes a local counts-only HTML Preview
See discovered sources mcp-audit inspect Lists identities and source status
Inspect one server mcp-audit check --connect --server ID Connects to one unambiguous identity
Inspect a fleet mcp-audit check --connect-all Connects to workstation servers; add --connect-project-configs for projects
Automate a policy mcp-audit check --policy FILE Evaluates a local policy
Review a saved pin mcp-audit pin --status Shows baseline status; pin is the visible alias for baseline pin

The server ID is CLIENT:SCOPE:NAME; use the exact identity from inspect to avoid ambiguous selections. Connected checks can start configured local commands or contact their endpoints.

checkup writes a local, counts-only share card with no names by default; see the checkup guide.

Keep the evidence in context

Configuration-based findings describe declared access. A connected listing adds the tool metadata the server provides, but does not prove what the server will do later. Connected HTTP scans also send one credential-free server/discover request and, on 401, review bounded public authorization metadata. The probe never uses configuration header values and does not run with --skip-connect or for project sources without connection opt-in. These observations do not prove a completed OAuth flow. The optional canary is bounded and exercises only eligible tools under its documented limits. See How it works for the boundary between those observations.

Reports can contain configuration shape, tool names, and evidence text. Secret redaction is best-effort (known issues); review a report before sharing it. Configs are parsed in full, but environment variable values are discarded during parsing and never reported; reports keep key names for context. The output contract lists stable fields and the limits of these outputs.

More documentation

The documentation index links current guides and references. The sandbox walkthrough is safe to try without connecting to a server. Experimental fixture-based work is grouped under labs; maintainer-only procedures are in maintainers/, with older 1.x material in archive/.

Learn more

Experimental, fixture-based tools are documented in the labs. Maintainer procedures and project history live in maintainers/ and archive/.

Metadata

Release files for mcp-audits 2.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-audits 2.12.0
File Size Uploaded Provenance
mcp_audits-2.12.0.tar.gz 482.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-audits 2.12.0
File Interpreter ABI Platform
mcp_audits-2.12.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / mcp_audits-2.12.0.tar.gz

Download URL mcp_audits-2.12.0.tar.gz
Size 482.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7bd46f186cf60bbe955e0021e8ece470f1c2b8374abea638009f98f349c6d188
BLAKE2b-256 checksum
How to use checksums
f1d935c9bbfa1749e96fa7a38abf9784a6a420a905c6aa36cd61964946d01fa7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / mcp_audits-2.12.0-py3-none-any.whl

Download URL mcp_audits-2.12.0-py3-none-any.whl
Size 539.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f3d0524c111af68c2c47a64054274941bb4817bfcc185292caa3d1ec9f6b39ab
BLAKE2b-256 checksum
How to use checksums
aaed06dbd95094d8e5740f9e8bb3458695b9a29ce5da803f9846cb56d58bac92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Security for mcp-audits 2.12.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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mcp_audits-2.12.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page