Audit an MCP server against the OWASP MCP Top 10. Nine questions, a graded score, and a concrete remediation list.
| ID | OWASP risk | Checked here as | Status |
|---|---|---|---|
| MCP01 | Token Mismanagement & Secret Exposure | hardcoded credentials | clear |
| MCP02 | Privilege Escalation via Scope Creep | — | not covered |
| MCP03 | Tool Poisoning | — | not covered |
| MCP04 | Software Supply Chain Attacks | STDIO transport · build provenance | finding |
| MCP05 | Command Injection & Execution | command construction · process spawning | finding |
| MCP06 | Intent Flow Subversion | — | not covered |
| MCP07 | Insufficient Authentication & Authorization | auth on every request | finding |
| MCP08 | Lack of Audit & Telemetry | — | not covered |
| MCP09 | Shadow MCP Servers | — | not covered |
| MCP10 | Context Injection & Over-sharing | file-path confinement · network egress | finding |
MCP prefix with OWASP’s IDs but do not mean the same thing, which is why this table maps by meaning rather than by number.This is a self-assessment checklist, not a penetration test. It reflects the answers you give and cannot detect a vulnerability you are unaware of. Treat a high score as 'no known misconfiguration in these nine areas', not as proof of security.
Between January and February 2026 more than thirty CVEs were filed against MCP servers, clients and infrastructure. The striking thing is what they were not: they were not sophisticated zero-days. They were missing authentication, path traversal, command injection and hardcoded credentials — the same four classes that have topped web-application risk lists for a decade. CVE-2026-32211 (Azure MCP Server, CVSS 9.1) had no authentication at all, and no patch was released. The lesson is that MCP servers are being written fast, by people focused on capability rather than threat modelling, and the MCP SDK deliberately provides no authentication layer — it is entirely the implementer’s responsibility. This checklist walks the eight highest-yield questions.
Untrusted input arrives from the model, not from a browser. The model may itself be carrying a prompt injection from a poisoned document, so every value it supplies has to be treated as attacker-controlled — which is why path handling, command construction and auth are the recurring failure points.
A developer installs a community filesystem MCP server over STDIO. It has no auth (it is local, after all), reads paths supplied by the model, and was published straight from a laptop.
Why did the cow cross the road?
No signups, no data sold. The core of every tool is free forever — the optional Pro plan adds batch processing, unlimited downloads, white-label exports and an ad-free experience.
☕Support me on Ko-fi— keep tools free100% of proceeds go towards hosting & building more free tools.