MCP server providing weather alerts and forecast data from the National Weather Service API
Two tools with basic verb-noun naming (get_alerts, get_forecast). Both have short descriptions (34-40 chars, below the 50-200 char LLM-optimized baseline). Input schemas are present with typed parameters and descriptions, but output schemas are completely undocumented, tools return plain strings with no structured format. No error handling guidance, no pagination support, no parameter constraints (e.g., state code validation). Naming is clear but descriptions lack context on when to use each tool or what the output contains.
Get weather alerts for a US state.
Get weather forecast for a location.
Output schemas completely undocumented. Both tools return plain strings with no structured format. LLMs cannot parse results reliably or chain to downstream tools.
Descriptions are too short (34-40 chars vs. 50-200 char baseline). Missing context on when to use each tool, what output contains, and prerequisites. Insufficient for LLM tool selection.
No input validation or error guidance. State parameter in get_alerts accepts any string; no enum constraint or validation. Invalid inputs return generic 'Unable to fetch' with no recovery hint.
No pagination support. get_alerts returns all active alerts for a state with no limit or offset. Large result sets will blow context window.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Error handling returns plain strings with no actionable recovery guidance. 'Unable to fetch alerts' gives LLM no hint whether to retry, ask user, or try a different tool.