AI Security — Live Analysis

Does your server actually behave the way the contract says it should?

MCP Scan connects to your live MCP server and runs the checks that genuinely need a live connection: protocol probing and input-format fuzzing. No agent session, no API key required for a baseline pass — point it at a URL and get results in under 60 seconds.

Scope note: content-threat analysis (prompt injection, tool poisoning, semantic reasoning) now lives in MCP Audit, since it needs no live connection. MCP Scan is narrower and live-only: protocol probing plus fuzzing. This mirrors how API Audit (static) and API Scan (live) already split on the API side.
Protocol probing — 8 checks

Drawn directly from the OWASP MCP Security Cheat Sheet

CheckOWASP threatSeverity
MCPS-001 — HTTP transport (no TLS)Unencrypted channelHIGH
MCPS-002 — Unauthenticated accessMissing authenticationHIGH
MCPS-003 — No message signingTampered tool resultsHIGH
MCPS-004 — Replay acceptedReplay attacksMEDIUM
MCPS-005 — No tool integrity hashesRug-pull attacksMEDIUM
MCPS-007 — Spoofed agent identityConfused deputy / privilege escalationHIGH
MCPS-008 — Fail-open on bad inputInput validation bypassMEDIUM
MCPS-009 — No rate limitingResource exhaustion / DoSMEDIUM
Input-format fuzzing

Does your server silently accept malformed input?

Adversarial test cases run against every discovered tool's parameters — missing params, wrong types, size sweeps, and boundary cases. A tool that accepts malformed input without validation is flagged as a finding, not just a console warning.

# Live protocol probing + fuzzing $ mcp-scanner -addr https://your-server/mcp -active # Push the report to the platform $ mcp-scanner -addr https://your-server/mcp -active \ -report scan.json -api-id <uuid> -api-key <key> # One-shot: contract + active scan + push $ mcp-scanner -addr https://your-server/mcp -discover \ -api-id <uuid> -api-key <key>

See what's actually running, not just what's declared.