Weather MCP Server providing access to US National Weather Service forecasts and alerts
Two tools with clear verb-noun naming (get-alerts, get-forecast) and basic parameter schemas using Zod. Both tools have short descriptions (under 50 chars) that lack context for LLM selection. Parameter descriptions are present but minimal. No output schema documentation. Error handling returns text responses but lacks actionable recovery guidance. No tool annotations (readOnlyHint, etc.). Schemas are properly typed with constraints (lat/lon bounds, state length), but descriptions do not explain when to use each tool or what the output structure contains.
Get weather alerts for a state
Get weather forecast for a location
Tool descriptions are too short (under 50 chars) and lack context. 'Get weather alerts for a state' does not explain when to use this vs get-forecast, what data is returned, or prerequisites. LLMs cannot reliably select between tools with such minimal descriptions.
No output schema documented. Tools return text content with formatted strings, but LLMs cannot parse the structure or extract fields for downstream calls. Baseline: 100% of A+ tools document return types.
Error handling returns generic text ('Failed to retrieve alerts data') without actionable recovery guidance. LLMs cannot determine if the error is retryable, user-fixable, or fatal.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Both tools are read-only and idempotent, but this is not declared in the schema. Agents cannot infer safety properties.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Parameter descriptions are minimal. 'Two-letter state code (e.g. CA, NY)' includes an example value that LLMs may reuse literally. Use enum constraints or formal patterns instead. Latitude/longitude descriptions lack context on coordinate system or precision.