MCP server that provides weather alerts and forecasts using the National Weather Service (NWS) API
Two tools with basic schemas and minimal descriptions. get_alerts and get_forecast both have valid JSON Schema with required parameters and type definitions, but descriptions are extremely terse (under 50 chars each). No parameter descriptions provided, LLMs cannot infer what 'state' means or why latitude/longitude are needed. No output schemas documented. No error handling guidance. No tool annotations. Naming is acceptable (verb_noun pattern) but lacks context about prerequisites, return structure, or when to use each tool.
Get Alerts for a area in US (API is of US).
Get weather forecast for a location.
Parameter descriptions completely missing. 'state' parameter has no description explaining it expects a two-digit US state code. 'latitude' and 'longitude' lack units, precision, or range guidance.
Tool descriptions are under 50 characters and lack context. 'Get Alerts for a area in US (API is of US).' does not explain when to call this vs get_forecast, what data is returned, or what 'alerts' means (weather warnings? system alerts?). 'Get weather forecast for a location.' is generic and does not specify forecast duration, units (F/C), or confidence levels.
No output schemas documented. LLMs cannot plan downstream tool calls or extract relevant fields. What does get_alerts return? A list of alert objects? A single alert? What fields are included?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | <=2025-11-25 | v2 |
No error handling or recovery guidance. If state code is invalid or coordinates are out of bounds, what error is returned? How should the LLM respond?
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Both tools are read-only and idempotent, but this is not declared in the schema.