MCP server providing weather alerts and forecast data from the National Weather Service API
Server has critical structural issues. Tool definitions exist but lack rigor: descriptions are present but minimal (10-30 chars), parameter descriptions are sparse or missing, and output schemas are entirely undocumented. Duplicate tool registrations (get_alerts and get_forecast appear twice) suggest incomplete or broken tool discovery. No input validation, error guidance, or structured output documented. Parameter types are present in schema but descriptions are absent for most params. This is a D-grade server with major gaps in definition quality.
Echo a message as a resource
Get weather alerts for a US state.
Get weather alerts for a US state.
Get weather forecast for a location.
Get weather forecast for a location.
Duplicate tool registrations: get_alerts and get_forecast each appear twice in the tool list, indicating broken tool discovery or incomplete implementation.
Output schemas completely undocumented. Tools return plain strings with no structured schema definition. LLMs cannot parse results or chain to downstream tools.
Parameter descriptions missing or trivial. 'state' param in get_alerts has description 'Two-letter US state code (e.g. CA, NY)', includes example values that LLMs may reuse literally. latitude/longitude lack any description.
No error handling or recovery guidance. make_nws_request() returns None on failure with no context. LLM receives 'Unable to fetch alerts' with no actionable next step.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
Tool naming ambiguity: 'echo_resource' is vague. Does it create, read, or modify? Name does not start with clear action verb. Should be 'create_echo_resource' or 'get_echo_resource'.