mcp-blast-radius
This server statically analyzes MCP server directories to audit their blast radius — what files, network, subprocesses, and environment variables they can access — and optionally enforces compliance against declared manifests.
aos_compliance_validate — Scans a target MCP server directory and returns a pass/fail compliance report, including:
Dependency extraction (from
requirements.txt,pyproject.toml,package.json)Static Python AST analysis of file I/O, network calls, environment variable access, and subprocess usage
Divergence detection between declared manifest boundaries (
permitted_output_paths/oracle_paths) and observed static behaviorTwo gate modes:
advisory(default): Reports findings without blockingblocking: Setsblocks_next_step=trueon failure, enabling CI enforcement (exit 1 on divergence)
Optional
tool_idlabel for identifying the scan in logs
aos_compliance_self_test — A smoke/connectivity test to verify the MCP server wiring is functioning correctly.
Additional support includes environment variables (AOS_VALIDATOR_TARGET_DIR, AOS_VALIDATOR_MCP_LOG, AOS_VALIDATOR_CALLER) and CLI tools: mcp-blast-radius (MCP stdio server) and mcp-blast-radius-gate (CI gate).
MCP Blast-Radius Auditor
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.
Try it in 3 steps
① Scan your server in one command
pip install mcp-blast-radius==0.2.5
mcp-blast-radius-gate --gate-mode advisory --target-dir /path/to/your-mcp-serverPoint --target-dir at your shipping package root (e.g. src/). Default scope excludes tests, docs, and scripts.
② Read the JSON
Field | What it means |
| Scan finished ( |
| Lines starting with |
| Static capability surface (network, subprocess, env, filesystem) |
|
|
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.
Related MCP server: cloud-pathfinder
Machine-readable metadata
Agent Card (capabilities, limitations, pricing): agent_card.json
Catalog entry (pricing, install, MCP endpoint): aos-standard/catalog
Spec: AOS-v0.1
Example walkthrough
git clone --depth 1 https://github.com/oraios/serena.git /tmp/serena
mcp-blast-radius-gate --gate-mode advisory --target-dir /tmp/serenaInspect blast_radius and any DIVERGENCE: lines in blocking_reasons.
Report a scan question
Open a GitHub issue with your JSON output (structured template loads automatically).
30-second scan
pip install mcp-blast-radius
mcp-blast-radius-gate --gate-mode blocking --target-dir /path/to/mcp-serverpipx run mcp-blast-radius starts the MCP stdio server (for Claude Desktop / Cursor). For CLI scanning, use mcp-blast-radius-gate as above.
Red (blocking): divergence detected — code touches paths or capabilities not declared in manifest.
Green: no divergences (or no manifest — blast radius report only, advisory pass).
Install
python3 -m venv .venv
source .venv/bin/activate
pip install .CLI entry
mcp-blast-radius # MCP stdio server
mcp-blast-radius-gate # CI gate (default blocking, exit 1 on fail)CI blocking gate
mcp-blast-radius-gate --gate-mode blocking --target-dir .
# no divergences → exit 0 / divergences or declaration violations → exit 1MCP tools
aos_compliance_validate— scan one MCP server directory (target_dirrequired;tool_idoptional label)aos_compliance_self_test— wiring smoke test
Default gate_mode=advisory. Use gate_mode=blocking in CI to fail on divergences.
What is extracted
Layer | Scope | Confidence |
Dependencies |
|
|
Python AST | imports, file I/O, network, env, subprocess; MCP tool attribution |
|
Divergence | manifest | 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.
Environment
Variable | Purpose |
| Default scan root when |
| JSONL path for local tool call log (never sent externally) |
| Caller label ( |
Example
aos_compliance_validate target_dir=/path/to/my-mcp-server gate_mode=blockingLicense
MIT
Available Tools
2 toolsaos_compliance_self_testC
Self-connectivity check for MCP wiring.
| Name | Required | Description | Default |
|---|---|---|---|
| mock | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation (self-check) but does not disclose behavioral traits beyond that. With no annotations, it should provide details on side effects, permissions, or error conditions. The description lacks such transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one sentence) and front-loaded. However, it sacrifices necessary detail for brevity, making it under-specified. It earns points for no fluff but loses for incomplete coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional boolean parameter, likely no side effects) and the presence of an output schema, the description still lacks essential context about what the self-test actually checks, what failure modes exist, and how the single parameter affects behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention the only parameter 'mock' or its meaning. Since schema description coverage is 0%, the description carries full responsibility but adds no value over the schema. This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Self-connectivity check for MCP wiring' clearly states the tool's purpose (checking connectivity) and resource (MCP wiring). It is specific but could be improved by distinguishing from the sibling 'aos_compliance_validate'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The sibling tool exists but the description does not mention when to choose one over the other. Additionally, there is no context on prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aos_compliance_validateA
Validate one agent directory and return pass/fail with blocking_reasons.
gate_mode=advisory (default): returns pass/fail info, does NOT block next steps. gate_mode=blocking: pass=false sets blocks_next_step=true for CI enforcement.
| Name | Required | Description | Default |
|---|---|---|---|
| tool_id | No | ||
| target_dir | No | ||
| gate_mode | No | advisory | |
| mock | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must cover behavioral traits. It discloses that advisory mode does not block while blocking mode does, and returns pass/fail with blocking_reasons. Missing details on authorization needs, side effects (likely read-only), or rate limits, but adequate for basic understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each serving a purpose: first states overall function, second and third detail gate modes. No fluff, front-loaded with key info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core validation behavior and gate modes. An output schema exists, so return values are covered. However, with 4 parameters and 0% schema coverage, missing parameter explanations make the description incomplete. Additional details on target_dir and tool_id would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description should explain parameters. It only describes gate_mode; it does not explain tool_id, target_dir, or mock. This leaves significant ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'validate', the resource 'one agent directory', and the output 'pass/fail with blocking_reasons'. It distinguishes from sibling tool 'aos_compliance_self_test' which tests the compliance system itself, not a directory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains both gate modes: advisory (default) returns info without blocking, and blocking sets blocks_next_step=true for CI enforcement. However, it does not explicitly guide when to use this tool versus the sibling self_test.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.0- First observed
aos_compliance_self_test - First observed
aos_compliance_validate
TDQS
Scored across 2 tools
The two tools have clear distinct purposes: one checks connectivity (self-test) and the other validates agent directories. No overlap in functionality.
Both tools use the consistent prefix 'aos_compliance_' followed by a verb in snake_case, creating a predictable naming pattern.
With only 2 tools, the surface feels thin for a compliance validation server. However, it may be acceptable if the domain is narrow.
The server lacks common operations such as listing directories, retrieving past validations, or managing configurations, making it incomplete for typical compliance workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP Spec Compliance MCP — audits any MCP server.json against the official Model Context Protocol
Scan any MCP server for tool-poisoning, security, auth & license. Trust score before install.
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
IaC attack-path auditor: finds internet-to-crown-jewel chains in Terraform/CFN/K8s.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceDefensive credential-exposure auditor for GKE that inventories workload identity, service account tokens, and RBAC posture, exposing findings via an MCP server at /mcp.Apache 2.0
- AlicenseAqualityCmaintenanceMCP server for auditing infrastructure-as-code attack paths, finding multi-hop chains from public internet to sensitive resources.2MIT
- AlicenseNot gradedqualityAmaintenanceSecurity scanner for MCP servers — vet an MCP before you wire it into an agent. Detects prompt-injection, credential exfiltration (via taint analysis), RCE, and supply-chain risks, and catches cross-server exfil chains no single server reveals. Zero-dependency local CLI, SARIF output, CI-gateable, no account.65MIT

dr-mcpofficial
AlicenseNot gradedqualityCmaintenanceLocal-first MCP audit and cleanup tool that scans MCP configs to find stale servers, abandoned packages, duplicates, context-heavy tools, risky permissions, and major upgrades, generating reversible patch plans.89MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aos-standard/mcp-blast-radius'
If you have feedback or need assistance with the MCP directory API, please join our Discord server