A Model Context Protocol server built with Spring Boot and Spring AI that exposes tools for weather information retrieval
Single tool 'getWeather' has critical definition gaps. Tool name lacks action verb prefix (should be 'get_weather' or similar). Description is minimal (11 chars in Chinese, non-English). Input schema present but parameter 'city' lacks description entirely. No output schema documented. Tool definition inferred from @Tool annotation in test file rather than explicit registration. No error handling, validation, or recovery guidance. Fails baseline requirements for production-grade tools.
根据城市获取天气
Tool description is non-English (Chinese '根据城市获取天气') and extremely short (11 chars). LLMs trained primarily on English will not understand when/why to select this tool. Descriptions must be 10-1024 chars in English.
Input parameter 'city' has no description. LLMs cannot infer that this accepts city names vs city IDs vs coordinates. Parameter descriptions are mandatory.
Tool name 'getWeather' does not follow verb_noun convention (should be 'get_weather'). Inconsistent naming reduces LLM parsing reliability.
No output schema documented. Return type is String but LLMs need to know the structure (e.g., is it JSON, plain text, temperature in Celsius/Fahrenheit?). Undocumented outputs force LLMs to guess.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 27 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If city is invalid or API fails, the tool returns nothing actionable. LLMs need explicit error messages and next-step guidance.