MCP server security scanner — find plaintext secrets, injection vulnerabilities, and missing auth in your MCP configurations
Probe has 4 tools with clear, action-oriented names (probe_scan, probe_scan_server, probe_list, probe_check_config) that follow verb_noun convention. Descriptions are present and substantive (100-200 chars), explaining what each tool does and when to use it. However, input schemas are minimal or absent: probe_scan and probe_list have empty input objects ({}), while probe_scan_server and probe_check_config have only one parameter each with basic type info. No output schemas are documented, LLMs cannot predict the structure of returned JSON reports. Error handling exists (e.g., 'Server not found' in probe_scan_server) but lacks recovery guidance. Overall, definitions are functional but lack the rigor expected of production tools.
Scan a specific MCP config file for security issues. Args: config_path: Absolute path to an MCP config file (e.g., ~/.mcp.json, ~/.cursor/mcp.json) Returns JSON with grades and findings for all servers defined in that config file.
List all discovered MCP servers without scanning them. Shows server names, transport types, commands, source files, and config locations. Use this to see what's configured before running a full scan.
Scan all discovered MCP servers for security issues. Auto-discovers servers from ~/.mcp.json, project .mcp.json files, and other known config locations. Returns a JSON report with grades (A-F), findings by severity, and fix recommendations. Start here to get an overview of your MCP security posture.
Scan a specific MCP server by name. Args: name: The server name as it appears in your MCP config (e.g., "engram", "kv", "slack-bot") Returns JSON with the server's grade, findings, and recommendations.
No output schemas documented. Tools return JSON strings but LLMs cannot predict field structure, types, or nesting. Agents must parse unstructured output, wasting tokens and risking extraction errors.
probe_scan and probe_list have empty input schemas ({}). While correct for no-parameter tools, the MCP schema should explicitly declare this. Current representation is ambiguous.
Error responses lack recovery guidance. probe_scan_server returns 'Server not found' with available_servers list, which is good, but probe_check_config returns bare error strings without actionable next steps.
No tool annotations (readOnlyHint, idempotentHint). All four tools are read-only and idempotent, but this is not declared in the schema. Agents cannot optimize caching or retry logic without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Parameter descriptions for 'name' and 'config_path' include example values (e.g., 'engram', 'kv', '~/.mcp.json'). LLMs tend to reuse examples literally rather than adapt to context.