Authentication
Probes whether unauthenticated requests can list and call tools. Flags servers that expose tools with no auth, or only partial enforcement.
MCP servers hand tools, resources, and prompts to LLM agents — each one a fresh attack surface. scan-my-mcp connects to a server, does a real handshake, enumerates everything it exposes, and runs six categories of static checks against the result.
Opens a connection to your MCP server endpoint. Supports both Streamable HTTP and legacy SSE transports.
Sends a standard MCP initialize request and captures the server name, version, protocol revision, and any declared capabilities.
Calls tools/list, resources/list, and prompts/list to collect every definition the server exposes to an LLM agent.
Runs six offline security checks against the collected definitions — secret exposure, auth enforcement, dangerous permissions, input validation, prompt injection, and context-window cost.
Produces a weighted 0–100 security score. Criticals subtract 30 points each; highs subtract 15. Severity caps ensure a server with leaked secrets can never rate Safe.
Probes whether unauthenticated requests can list and call tools. Flags servers that expose tools with no auth, or only partial enforcement.
Scans every tool description for hidden instructions, role-redefining language, jailbreak patterns, and HTML smuggled into the model context.
Detects tools that claim destructive capabilities — filesystem writes, code execution, network egress — and warns when claims mismatch the schema.
Greps tool descriptions, resource URIs and prompt templates for leaked API keys, tokens, and other credential-shaped strings.
Inspects each tool's input schema. Reports tools with no schema, untyped parameters, and unconstrained strings that resist safe validation.
Measures how much of the model's context window the server burns by being connected — large tool counts and verbose descriptions degrade reliability.