A simple MCP server example providing tools for arithmetic, BMI calculation, weather fetching, and greeting resources
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names lack action verbs (add, calculate_bmi, fetch_weather are acceptable but minimal). Descriptions are present but brief (10-50 chars), below the 194-char baseline for production tools. Parameter descriptions exist but lack constraints, ranges, or format guidance. No output schemas documented. Error handling absent. Chinese descriptions reduce LLM clarity in English-first environments.
计算两个数相加
在给定体重(kg)和身高(米)的情况下计算BMI数值。
获取一个城市的当前天气
Tool descriptions are too brief (10-50 chars vs 194-char baseline). 'add' lacks context on when to use it; 'fetch_weather' does not explain API limitations or response format.
No output schemas documented. LLMs cannot predict return types or plan downstream tool calls. 'add' returns int, 'calculate_bmi' returns float, 'fetch_weather' returns str, none are formally declared.
Parameter descriptions lack constraints. 'city' in fetch_weather accepts '城市名称或6位数字的城市地区编码' but no format validation, length limits, or error guidance if invalid.
No error handling or recovery guidance. fetch_weather calls external API (amap.com) but no timeout, rate-limit, or 'city not found' error handling visible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Descriptions in Chinese reduce clarity for English-speaking LLMs and developers. Tool descriptions should be in the primary language of the agent/user base.