MCP server for FireHydrant incident management platform, providing tools to list and create incidents, manage retrospectives, and retrieve alerts
FireHydrant MCP has well-structured tool definitions with complete schemas and descriptions. All 5 tools have clear names following verb_noun convention (list, create, update). Descriptions are present and adequate (50-150 chars). Input schemas are comprehensive with typed parameters and descriptions. However, output schemas are not documented in the source code provided, and error handling guidance is absent. Tool annotations (readOnlyHint, destructiveHint) are present in the framework but not visible in individual tool definitions. Parameter descriptions lack format constraints and validation rules (e.g., date formats, enum values for status/severity/priority fields). No evidence of pagination result limits or chaining IDs in responses.
Retrieve all alerts, including Signals alerts and third-party
Create a new incident
List all of the incidents in the organization
Retrieve retrospectives attached to an incident
Update retrospective field value
Output schemas not documented. Tool responses are formatted via formatResult() utility but no schema documentation visible for what fields agents should expect. LLMs cannot plan downstream calls without knowing response structure.
Parameter descriptions lack format constraints. Fields like 'severity', 'priority', 'status' accept string values but no enum constraints or valid options documented. Date parameters (closed_at_or_after, etc.) lack ISO 8601 format specification.
No error handling guidance. Tool implementations do not document what errors can occur, whether they are retryable, or what the LLM should do next. Agents cannot self-correct on failures.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
List tools lack documented pagination limits. incidents_list_incidents and alerts_list_alerts accept per_page parameter but no maximum limit or default documented. Large result sets risk context window exhaustion.
incidents_create_incident has minimal required parameters. Only title, severity, priority, status documented but no guidance on which are truly required vs optional, or what defaults apply if omitted.