Weather MCP server providing weather alerts and forecast data from the National Weather Service API
This server has critical gaps in definition quality. Both tools have non-English names and minimal descriptions that lack essential context. Tool schemas are present but parameter descriptions are very brief. The naming violates LLM conventions by using Chinese characters instead of English verb-noun patterns, making tool discovery and selection impossible for most LLM agents. Descriptions are under 30 characters each, providing almost no guidance on when or how to use these tools. Error handling and output schemas are not documented.
获取一个定位的天气预测
获取一个州的天气
Tool names are in Chinese (获得天气信息警报, 获取天气预测), not English. LLMs expect action verbs in English (get_, fetch_, retrieve_). Non-English names make tools undiscoverable and unmaintainable in multilingual agent systems.
Tool descriptions are extremely brief (under 20 characters: '获取一个州的天气', '获取一个定位的天气预测'). These provide no context on WHAT the tool does, WHEN to use it, or WHAT it returns. Descriptions must be 10-1024 chars and explain purpose and use case.
Parameter descriptions are minimal. 'state' parameter has 'Two-letter state code (e.g. CA, NY)' but does not explain WHAT states are valid, WHY they're needed, or WHEN to use this tool vs the forecast tool. 'latitude' and 'longitude' lack context on coordinate systems and acceptable precision.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 33 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 18 | - | v1 |
No output schema documented. LLMs cannot plan downstream tool calls or extract the right data without knowing what fields to expect. Missing documentation of return types (weather conditions, temperature format, units, etc.).
No error handling guidance. If a state code is invalid, or coordinates are out of bounds, what does the tool return? No recovery hints like 'Try with a 2-letter US state code' or error categorization (retryable, user-fixable, fatal).
Parameter 'state' in tool 1 should be an enum of valid US state codes, not a free-form string. Enums prevent hallucinated/invalid values and make the schema self-documenting.