MCP server for fetching weather alerts and forecasts 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 baseline for LLM-optimized descriptions). Input schemas are present with type definitions and parameter descriptions, meeting minimum requirements. However, output schemas are completely undocumented, tools return plain strings with no structured format guidance. No error handling guidance, no pagination support, no field-level documentation of what the string contains. No tool annotations (readOnlyHint, etc.). Composition is reasonable (two distinct concerns), but descriptions lack WHEN/WHY context and dependency hints.
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 specification. LLMs cannot plan downstream operations or extract specific fields.
Descriptions are too short (34-40 chars vs 50-200 char baseline). Missing WHEN/WHY context. 'Get weather alerts for a US state' does not explain when to use this vs get_forecast, or what the output contains.
No error handling guidance. make_nws_request() returns None on failure, tools return generic 'Unable to fetch' strings. LLMs cannot distinguish retryable errors from user-fixable ones.
No tool annotations. Tools are read-only but lack readOnlyHint. Agents cannot determine safety/idempotency from metadata.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
get_forecast hardcodes limit to 5 periods with no pagination support. Large result sets could exceed context; no way to request more data.