Look at live servers, dependencies, source code and the other files your agent obeys.
The default scan reads files. These features go further, and most of them are opt-in because they use the network or start programs.
Live server inspection
Deep inspection
mcp-audit scan --connect
What
Starts each server and reads the tools it actually offers, then checks their descriptions for hidden instructions.
Why it matters
A config only names a server. This looks at what the agent will actually be told, and catches tools that impersonate or steer toward another server's tools.
Scans the source code of an MCP server you're building or reviewing for injection, credential and auth bugs, with 91 Semgrep rules (47 Python, 44 TypeScript).
Why it matters
For people who write MCP servers, or review one before adopting it.
The poisoning checks are benchmarked in docs/poisoning.md on MCPTox and on the 100 most-downloaded npm MCP servers. On that real-world corpus, none of the 46 poisoning findings from mcp-audit 0.23.0 was an actual attack; most were full-width CJK punctuation, which POISON-060 no longer counts. Six checks for “orders that hide” (POISON-070..075) caught 23 of 45 held-out hand-written orders and 0 of 45 look-alike ordinary sentences. A source fingerprint test forces a re-measure whenever the poisoning code changes. That discipline is the reason to trust the numbers that are good.
Check yourself
1. Why does --connect find things a plain scan can't?
Many servers' tool descriptions only exist at runtime.
2. A server is clean but one of its libraries has a CVE. Which flag finds it?
--check-vulns walks the dependency graph via deps.dev and OSV.
3. What does killchain tell you?
It ranks fixes by how many paths they break, and re-runs the analysis to prove it.