A Spring Boot MCP server demo with weather tools
Single tool 'getWeather' has minimal definition quality. Tool name lacks action verb prefix (should be 'get_weather'). Description is extremely terse (23 chars, below 34-char p10 baseline). Input schema present but parameter 'location' lacks description entirely. No output schema documented. No error handling guidance. Tool definition appears inferred from Spring AI annotations rather than explicitly registered with full metadata.
Get weather at city name
Tool name 'getWeather' does not follow verb_noun convention. Should be 'get_weather' with underscore separator for clarity and LLM parsing.
Tool description 'Get weather at city name' is 23 characters, below the 34-char p10 baseline. Lacks context on when to use, what it returns, and any prerequisites. LLMs cannot determine selection criteria.
Input parameter 'location' has no description. LLMs cannot infer whether to pass city name, coordinates, or postal code. Parameter descriptions are mandatory per pattern:tool-description.
No output schema documented. LLMs cannot plan downstream operations or extract temperature, conditions, or forecast data. Return type must be explicitly defined.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
No error handling guidance. If city not found or API fails, LLM receives no recovery path. Must include actionable error messages per pattern:recovery-guide.