A weather service MCP server that provides weather alerts and forecasts using the National Weather Service API
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 is unstructured plain text strings rather than structured objects. No error handling guidance, no pagination support, no output schema documentation. Lacks composition patterns for chaining. Naming is acceptable but descriptions are too terse to guide LLM tool selection effectively.
Get weather alerts for a US state.
Get weather forecast for a location.
Descriptions too terse (34-40 chars vs 50-200 char baseline). LLMs cannot determine when to select get_alerts vs get_forecast or what each returns without reading code.
Output is unstructured plain text (formatted strings) instead of structured JSON objects. LLMs cannot extract fields for downstream tool calls or pagination.
No output schema documented. LLMs do not know what fields to expect or how to chain results to other tools.
No error handling guidance. Errors return plain strings ('Unable to fetch alerts') without recovery hints or categorization (retryable vs fatal).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
get_forecast hardcodes limit to 5 periods without pagination support. Large result sets will be truncated silently; no way to fetch additional data.