Weather MCP server providing access to US National Weather Service alerts and forecasts
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 optimization). Input schemas are present with typed parameters 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), and no indication of what fields the LLM should expect in responses. Composition is reasonable (two distinct read-only operations), but lack of output documentation and minimal parameter validation significantly limit production readiness.
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 typed fields.
Tool descriptions are too short (34-40 chars vs. baseline 50-200 chars). Lack context for LLM selection and do not explain when to use each tool vs. alternatives.
No input validation or constraint documentation. 'state' parameter accepts any string; should validate against 50 US state codes or document the constraint in description.
No error handling guidance. Tools return generic 'Unable to fetch' strings with no recovery hints. LLMs cannot determine if error is retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Latitude/longitude parameters lack range constraints. Description should specify valid ranges (±90 for lat, ±180 for lon) to prevent invalid API calls.