MCP server for Nuclei vulnerability scanning with cluster integration
Security Scanner MCP exhibits mediocre definition quality with mixed parameter coverage and missing output schemas. While tool names are action-verb compliant and descriptions present, schema completeness is inconsistent, parameter documentation lacks depth, and error handling is minimal. The server attempts to address security scanning via Nuclei integration but lacks the rigor required for production use.
Use TPU-accelerated embeddings to detect anomalous security findings.
Retrieve results from a previous scan.
List all previous security scans.
List available Nuclei templates by tag or severity.
Scan all nodes in the agentic cluster for vulnerabilities.
Scan a target URL or IP with Nuclei vulnerability scanner.
Update Nuclei templates to latest version.
Output schemas not documented for any tool. Tools return JSON strings but LLM does not know the field names, types, or nesting. This violates the pattern:tool requirement for documented return types and forces LLMs to parse unstructured JSON.
Parameter constraints missing for semantic enums. 'severity' parameter accepts 'info,low,medium,high,critical' but is not declared as an enum in schema. LLMs may hallucinate invalid values like 'critical-high' or 'urgent'.
update_templates has severely truncated description (12 characters). Violates minimum 20-character rule. No explanation of network blocking behavior, which is critical for async planning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 63 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
No error recovery guidance. Tools return JSON with success flag but do not suggest next steps on failure. E.g., 'Scan timed out after 300 seconds', does not suggest increasing timeout or checking target availability.
Missing tool interdependencies documentation. scan_cluster_nodes requires CLUSTER_NODES env var but does not state this in description. If config is missing, scan_cluster_nodes silently returns empty results without guidance.
Pagination strategy unclear for list_templates and list_scans. Limit param exists but no cursor, offset, or next_token documentation. If results exceed limit, LLM cannot enumerate remaining items.
No numeric bounds on parameters. rate_limit defaults to 150 but min/max not stated. timeout defaults to 300 but no guidance on practical range. threshold in detect_anomalous_findings defaults to 0.7 but valid range unknown.
detect_anomalous_findings has sparse documentation (55 chars). Missing: what makes a finding 'anomalous', how baseline comparison works, output format (list of anomalies, scores, summaries?).