Minimal runtime service for Wazuh Autopilot providing evidence pack persistence, approval token management, metrics endpoint, structured logging, and MCP client wrapper with toolmap resolution
Critical gaps across all dimensions. No input schemas visible in source code, schema scores must be 0. Descriptions are present but generic (10-60 chars, below 20-char floor for most). No output schemas documented. No error handling guidance. No parameter validation rules. No tool annotations. HTTP transport claimed but no actual MCP server implementation visible in provided code, only Dockerfile and package.json with Slack dependencies.
Retrieve a specific alert from Wazuh by alert ID
Search for alerts in Wazuh using query parameters
Search for events in Wazuh using query parameters
Tool definitions inferred from shell script, not visible in actual MCP server code. No explicit tool registration with schemas found in index.js or supporting modules.
No input schemas visible in source code. All three tools show parameter names and types in metadata but no JSON Schema definitions in the actual MCP server implementation.
Descriptions are too short (10-60 chars) and lack context. 'Retrieve a specific alert from Wazuh by alert ID' does not explain when to use this vs search_alerts, what fields are returned, or error cases.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | <=2025-11-25 | v2 |
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., alert_id for chaining to other tools).
No error handling guidance. Tools lack recovery hints (e.g., 'If alert not found, try search_alerts with a time range'). No categorization of retryable vs fatal errors.