Static analysis tool to extract and compare MCP server blast radius and manifest divergence for CI gating.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
The install command below didn't complete successfully in our automated test.
uvx mcp-blast-radiusDownloading pydantic-core (2.0MiB) Downloading cryptography (4.5MiB) Downloaded pydantic-core Downloaded cryptography Installed 29 packages in 16ms Traceback (most recent call last): File "/home/user/.cache/uv/archive-v0/EvGsrBzWZBc3U8wu/bin/mcp-blast-radius", line 6, in <module> from aos_validator_mcp.server import main File "/home/user/.cache/uv/archive-v0/EvGsrBzWZBc3U8wu/lib/python3.11/site-packages/aos_validator_mcp/server.py", line 15, in <module> from mcp.server.fastmcp impo
This is an experimental automated check and can have false negatives β missing environment variables, a slow cold install, etc. It doesnβt necessarily mean somethingβs wrong. Last checked 1mo ago.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by MCP Blast Radius.
aos_compliance_validatescan one MCP server directory (`target_dir` required; `tool_id` optional label)
aos_compliance_self_testwiring smoke test
See what any MCP server can actually touch β before you add it to your agent.
No manifest? You still get the full blast-radius report. Add a manifest to also catch divergences.
Also, if the server declares a manifest: Catch an MCP server that touches files it said it wouldn't β and block the merge in CI.
Statically extract what a third-party MCP server can reach (files, network, subprocess, env) via surface-level analysis. Compare against declared boundaries when a manifest is present.
Scan scope (default): production package only β excludes tests/, docs/, examples/, scripts/, benchmarks/, .github/, and test_*.py patterns; JSON output includes scan_scope and excluded_file_count. Pass --include-peripheral to scan the full repo.
β Scan your server in one command
Point --target-dir at your shipping package root (e.g. src/). Default scope excludes tests, docs, and scripts.
β‘ Read the JSON
| Field | What it means |
|---|---|
gate_pass | Scan finished (advisory = report either way; blocking = exit 1 on divergences) |
blocking_reasons | Lines starting with DIVERGENCE: = declared vs. observed mismatch (if you ship a manifest) |
blast_radius | Static capability surface (network, subprocess, env, filesystem) |
confidence labels | declared / observed-static / cannot-determine β static only, upper bounds |
Undeclared capability is usually drift, not malice. Treat network/subprocess counts as upper bounds, not confirmed traffic.
β’ Apply for an audit badge (optional, opt-in)
Ran a clean scan and want a signed README badge? Open a badge application β paste your command and JSON. Free, 90-day attestation, no phone-home. Criteria: BADGE_CRITERIA.md.
To verify any published attestation independently: pip install cryptography, then run packaging/scripts/verify_attestation.py (accepts local paths or HTTPS URLs). See BADGE_CRITERIA.md Β§Verify.
Inspect blast_radius and any DIVERGENCE: lines in blocking_reasons.
Open a GitHub issue with your JSON output (structured template loads automatically).
pipx run mcp-blast-radius starts the MCP stdio server (for Claude Desktop / Cursor). For CLI scanning, use mcp-blast-radius-gate as above.
aos_compliance_validate β scan one MCP server directory (target_dir required; tool_id optional label)aos_compliance_self_test β wiring smoke testDefault gate_mode=advisory. Use gate_mode=blocking in CI to fail on divergences.
| Layer | Scope | Confidence |
|---|---|---|
| Dependencies | requirements.txt, pyproject.toml, package.json | declared |
| Python AST | imports, file I/O, network, env, subprocess; MCP tool attribution | observed-static / cannot-determine |
| Divergence | manifest permitted_output_paths / oracle_paths vs observed access | blocking when mismatch |
Limitations: Static analysis only. Dynamic imports, getattr/eval, obfuscation, and native extensions may hide capabilities. We do not claim complete coverage β every finding includes a confidence label.
| Variable | Purpose |
|---|---|
AOS_VALIDATOR_TARGET_DIR | Default scan root when target_dir is omitted |
AOS_VALIDATOR_MCP_LOG | JSONL path for local tool call log (never sent externally) |
AOS_VALIDATOR_CALLER | Caller label (ci, smoke_self_call, etc.) |
MIT
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/aos-standard-mcp-blast-radius)<a href="https://allmcps.com/mcp/aos-standard-mcp-blast-radius"><img src="https://allmcps.com/api/badge/aos-standard-mcp-blast-radius?style=directory" alt="MCP Blast Radius on AllMCPs" /></a>