MCP server that provides weather alerts and forecasts using the National Weather Service API
Two tools with basic but incomplete definitions. Both have action-verb names (get-alerts, get-forecast) and descriptions present. Input schemas are visible with proper JSON Schema types and constraints (minLength/maxLength for state, min/max for lat/lon). However, descriptions are minimal (under 50 chars), lack context on when to use each tool, and provide no guidance on output structure or error recovery. No parameter descriptions beyond the schema constraints. Output schemas are not documented. Error handling is silent (returns null on API failure with generic text response). Follows ~30% of the 54 patterns.
Get weather alerts for a state
Get weather forecast for a location
Tool descriptions are too brief (under 50 chars each). LLMs cannot determine when to select get-alerts vs get-forecast or understand output structure. Descriptions should explain WHAT the tool does, WHEN to use it, and what data it returns.
No output schema documented. Callers cannot predict response structure (e.g., does get-forecast return a single period or an array? What fields are in each period?). LLMs must guess, leading to parsing errors.
Error handling is silent and generic. When NWS API fails, the tool returns 'Failed to retrieve alerts data' with no guidance on retry, fallback, or root cause. LLMs cannot self-correct.
No result limits or pagination. If get-alerts returns 100+ active alerts for a state, the response bloats the context window. Baseline pattern requires pagination or a documented cap.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Parameter descriptions exist only in schema constraints (minLength, maxLength, min, max). No prose explanation of what 'state' means (US state code? Territory?) or how latitude/longitude are used (point lookup? bounding box?).