Expose ORTHRUS scans/findings as tools an AI agent can call. Provides read-only access to vulnerability scan results and findings via MCP tools.
Four tools with basic verb-noun naming (list_*, get_*) and present descriptions. All tools are READ_ONLY, reducing risk. However, descriptions are terse (10-60 chars), parameter descriptions are minimal or absent, and output schemas are not documented. Input schemas are visible and properly typed, but lack depth. No error handling guidance, no pagination support despite list_scans accepting a limit parameter, and no chaining IDs documented. Follows basic patterns but falls short of production quality.
Get all findings for a scan id (vuln type, severity, URL, CWE, evidence).
Get a scan's status, phase, and severity summary by scan id.
List the available ORTHRUS scanner module names.
List recent ORTHRUS scans (newest first) with their finding counts.
Output schemas not documented. LLMs cannot infer what fields list_scans, get_scan, get_findings, and list_modules return, forcing them to guess at response structure and breaking downstream tool chaining.
Parameter descriptions are missing or trivial. 'scan_id' in get_scan and get_findings lacks guidance on format (UUID? string? numeric?). 'limit' in list_scans has a description but no min/max bounds or guidance on default behavior when omitted.
Tool descriptions are under 60 characters and lack context. 'List recent ORTHRUS scans (newest first) with their finding counts' does not explain when to call this vs get_scan, what 'finding counts' means, or how pagination works.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
No pagination guidance. list_scans accepts 'limit' but does not document offset/cursor support, total count, or whether results are sorted. Large result sets will blow context windows without documented pagination.
No error handling or recovery guidance. Tools do not document what happens on invalid scan_id, missing scans, or service failures. LLMs have no guidance on retry vs user-fixable errors.