Weather MCP Server providing access to US National Weather Service alerts and forecasts
Two tools with basic but incomplete definitions. Both have action-verb names (get-*) and descriptions, but descriptions are minimal (18-34 chars, well below the 50-200 char LLM-optimized baseline). Input schemas are present with proper types and constraints (latitude/longitude bounds, state length), but lack depth. No output schema documentation. Error handling returns text but lacks recovery guidance or categorization. No tool annotations (readOnlyHint, etc.). Composition is reasonable, two distinct concerns, but descriptions don't explain when to use each tool or what to expect in responses.
Get weather alerts for a state
Get weather forecast for a location
Descriptions are too short (18-34 chars). LLM-optimized descriptions should be 50-200 chars and explain WHAT the tool does, WHEN to use it, and what it returns. Current descriptions lack context for tool selection.
No output schema documented. LLMs cannot plan downstream calls or extract data without knowing the response structure. Both tools return text content but no structured field definitions.
Error responses lack recovery guidance. Errors return plain text ('Failed to retrieve alerts data') without suggesting next steps. Per pattern:recovery-guide, errors should tell the LLM what to do next.
No tool annotations. Tools lack readOnlyHint, destructiveHint, or idempotentHint metadata. Both are read-only but this is not declared in the tool definition.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Parameter descriptions are minimal. 'Two-letter state code (e.g. CA, NY)' and coordinate descriptions lack context on why these parameters matter or what happens if invalid values are passed.