Weather MCP server providing access to US National Weather Service data
Two tools with basic verb-noun naming (get_alerts, get_forecast). Both have short descriptions (34-40 chars, below the 50-200 char LLM-optimized baseline). Input schemas present with types and descriptions, but output schemas are completely undocumented, tools return plain strings with no structured format. No error handling guidance, no parameter constraints (e.g., state code validation), no pagination support. Descriptions lack WHEN/WHY context and dependency hints. No tool annotations (readOnlyHint, etc.). Overall structure is minimal but functional.
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. LLMs cannot parse results or extract fields for downstream tool calls.
Descriptions too short (34-40 chars vs 50-200 char baseline). Missing WHEN/WHY context, prerequisites, and dependency hints. 'Get weather alerts for a US state' does not explain when to call this vs get_forecast or what the output contains.
No input validation or error guidance. State parameter accepts any string; no enum constraint or validation that it is a valid 2-letter US code. Latitude/longitude unbounded, no min/max constraints. Errors return plain strings ('Unable to fetch...') with no recovery guidance.
No tool annotations. Tools are read-only but lack readOnlyHint. Agents cannot determine idempotency or destructiveness from metadata.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
get_forecast returns only 5 periods hardcoded; no pagination support or limit parameter. Large result sets could exhaust context. No total count or next_cursor returned.