MCP server for weather forecasts and alerts using 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 baseline for LLM optimization). Input schemas are present with typed parameters and descriptions, but output is unstructured plain text. No error handling guidance, no pagination, no structured response schema. Tools are read-only but lack explicit risk annotations. Naming is clear but descriptions are minimal.
Get weather alerts for a US state.
Get weather forecast for a location.
Descriptions are too short (34-40 chars vs. baseline 50-200). LLMs cannot determine when to select these tools over alternatives or understand prerequisites.
Output is unstructured plain text (string return type). LLMs cannot extract structured data for downstream tool calls or parse multi-item results reliably.
No error handling guidance. When NWS API fails or returns no data, responses are generic ('Unable to fetch alerts'). LLMs cannot determine if they should retry, ask the user, or try an alternative.
get_alerts returns all active alerts for a state with no pagination. Large alert lists (50+ items) will blow context window and degrade LLM reasoning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
get_forecast hardcodes limit to 5 periods without exposing it as a parameter. Users cannot request extended forecasts, and the arbitrary limit is not documented.