MCP server for retrieving weather information for cities
Single tool 'get_weather' has critical definition gaps. Tool name is acceptable (verb_noun pattern), but description is minimal (Chinese-only, 12 chars in English equivalent). Input schema exists with basic type info but lacks constraints, ranges, or format guidance. No output schema documented, response is free-form formatted text, not structured JSON. No error handling guidance for missing cities, API failures, or timeout scenarios. Parameter 'city' has no description in the schema (only in docstring). Tool lacks idempotency guarantees and does not follow response-shaper pattern for structured output.
获取某个城市的天气
No output schema documented. Tool returns free-form formatted text string instead of structured JSON object with typed fields (temp, humidity, wind_speed, etc.). LLMs cannot reliably extract or chain this data.
Parameter 'city' lacks description in schema. Only docstring mentions it; schema has no description field. LLMs cannot infer whether to pass city name, code, or ID.
No error handling guidance. Tool silently returns empty string on API failure, city not found, or timeout. LLM receives no actionable error message and cannot retry or recover.
Tool description is non-English (Chinese '获取某个城市的天气'). English-speaking LLMs may not reliably parse or select this tool. Descriptions should be in the primary language of the MCP ecosystem (English).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
No input validation or constraints. Parameter 'city' accepts any string; no guidance on format, length, or valid values. Tool should validate and return clear error if city is empty or malformed.