All three tools have identical structural weaknesses. Tool descriptions are in Chinese and extremely brief (10-20 chars), violating the 10-1024 char guideline and providing minimal LLM guidance. Input schemas exist but are minimal: single 'city' string parameter with no enum constraints, despite the code showing only 3 supported cities (北京, 上海, 武汉). No output schemas documented. Error handling returns plain text rather than structured guidance. Tool names lack clear verb-noun patterns (query_* is acceptable but generic). No tool annotations present. The server is STDIO-only, which is a hard transport cap at 50, but definition quality issues push the score lower.
要查询天气预报的城市名称
要查询精细天气预报的城市名称
要查询天气的城市名称,如北京、上海、广州等
Tool descriptions are under 20 characters and in Chinese only. Examples: 'query_weather' → '要查询天气的城市名称,如北京、上海、广州等' (18 chars). Descriptions must be 10-1024 chars and explain WHAT, WHEN, and WHY in English for LLM clarity.
Input schema lacks enum constraint for 'city' parameter. Code hardcodes only 3 cities (北京, 上海, 武汉) in CITY_MAP, but schema accepts any string. LLM will hallucinate unsupported cities. Must declare city as enum: ['北京', '上海', '武汉'].
No output schema documented. Tools return unstructured text with emoji formatting. LLMs cannot parse structured fields (temperature, humidity, wind) for downstream reasoning. Must return JSON with typed fields: {city, temperature, humidity, weather, forecast_items: [{date, temp_high, temp_low, weather}]}.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
Error responses are plain text without recovery guidance. Per pattern:recovery-guide, errors must tell LLM what to do next. Current: 'Invalid city' → should be: 'City not found. Supported cities: 北京, 上海, 武汉. Try one of these.'
STDIO transport only. This server cannot be deployed to production agent platforms.