MCP server that provides weather information and GitHub user data
Input schemas are present but extremely sparse: only a single 'city'/'username' parameter with minimal type info and no validation constraints. No output schemas documented. No error handling guidance. Tool names follow verb_noun pattern but descriptions lack WHAT/WHEN/WHY context required for LLM selection. No parameter constraints (enums, ranges, formats). Composition is reasonable (two independent tools) but definitions are production-unready.
根据用户名获取 Github 用户信息
根据经纬度获取天气信息
Tool descriptions are under 20 characters (Chinese: '根据经纬度获取天气信息' ~15 chars, '根据用户名获取 Github 用户信息' ~18 chars). Descriptions must explain WHAT the tool does, WHEN to use it, and any prerequisites in 10-1024 chars.
Input schemas lack type definitions and descriptions for parameters. 'city' and 'username' parameters have no validation constraints (enums, min/max length, regex patterns). LLMs cannot infer valid input ranges.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields without knowing response structure. Baseline: 100% of A+ tools have documented return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 30 | 2026-07-28+ | v2 |
No error handling guidance. If a city/username is not found or API fails, LLMs receive no recovery instructions. Missing pattern: error responses must tell LLM what to do next (e.g., 'Try search_cities() with partial name').
Parameter descriptions marked '(optional)' but no defaults specified. Unclear whether omitting 'city' or 'username' returns a default location/user or an error. Undocumented dependencies invite silent misuse.