Static security scanner for MCP servers — codegen injection, tool-param injection, auth posture, secret handling.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"jaimenbell-mcp-security-scanner","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# mcp-security-scanner [](https://github.com/jaimenbell/mcp-security-scanner/actions/workflows/ci.yml) A static security scanner for [Model Context Protocol](https://modelcontextprotocol.io) servers. Point it at an MCP server repo; it reads the source and flags the vulnerability classes that actually show up in production MCP servers — with a severity, a `file:line`, a remediation, and an honest **confidence** on every finding. > [!info] What this is, plainly > This is **static analysis**, not a prover. It reads code; it does not run your server, and it does not prove any finding is remotely exploitable. It produces a prioritized review queue, not a verdict. A "clean bill" means *these detectors found no critical/high patterns* — not a security guarantee. That boundary is printed on every report on purpose. > [!warning] Not to be confused with the other PyPI package named `mcp-security-scanner` > There is an unrelated project on PyPI under the plain name `mcp-security-scanner` (a runtime pentester that connects to a *live* MCP server over HTTP/SSE). This repo is a different tool: it performs **static analysis of server source code**, offline, with no network connection to the target. Because the plain name was already taken, this project's PyPI distribution is published as `jaimenbell-mcp-security-scanner`; the console command (`mcp-scan`) and the import package (`mcp_scanner`) are unaffected. ## What it scans Seven detector families. The first six are grounded in a real finding from a fleet-wide audit of production MCP servers; the seventh (added 2026-07-21) covers scheduled jobs, wrappers, and IaC/CI files — cron, systemd, GitHub Actions, PowerShell/bash/batch deploy scripts: | # | Class | Detects | |---|---|---| | 1 | **Codegen / template injection** | Jinja `autoescape` off in a code-*generating* tool that renders untrusted fields into generated …
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.