OWASP WSTG knowledge base MCP server for automated penetration testing
Scoring was not performed
Tool descriptions lack LLM-optimized guidance on WHEN to use the tool and WHAT prerequisites exist. 'Score and sort endpoints by risk for prioritized testing' is action-focused but omits dependency hints and selection context. Description for get_priority_queue is similarly bare.
No output schemas documented. LLMs cannot infer what fields are returned by prioritize_endpoints or get_priority_queue. This violates pattern:tool and pattern:response-shaper, forcing LLMs to guess downstream field names and break tool chains.
Parameter 'endpoints_json' requires a JSON array with specific structure (method, path, parameters, auth_required, tech_stack, has_taint_chain, tool_count), but this constraint is buried in the description text, not formalized in schema. No regex pattern, minItems, or additionalProperties constraints are visible. This invites malformed input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 28 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 49 | - | v1 |
Parameter descriptions are minimal. 'engagement_id' is described only as 'The engagement identifier', no format, length, or pattern guidance. 'endpoints_json' description is longer but mixes JSON structure spec with usage intent, making it harder to parse.
No error handling patterns documented. What happens if engagement_id does not exist? If endpoints_json is malformed? If the priority queue is empty? LLMs receive no recovery guidance (pattern:recovery-guide).
Tool schemas lack type and validation metadata. 'limit' parameter has type integer and a default, but no minimum/maximum bounds are visible. Unbounded integers allow LLMs to pass absurd values (negative, 999999) that could break the tool or downstream APIs.
No tool annotations visible (readOnlyHint, destructiveHint, idempotentHint). Both tools are marked 'READ_ONLY' in the file metadata, but the MCP tool definition should declare this via tool annotations so clients can enforce it.