A Spring Boot-based MCP server providing weather information tools
This is a practice/learning project with 3 tools that have minimal documentation and no visible input validation. Tool names follow the verb_noun pattern (getWeatherByDate, addWeatherData, getAvailableDates), which is positive, but descriptions are extremely brief (10-32 characters), falling far below the 50-200 char baseline for LLM optimization. Input schemas are present with basic type information, but parameter descriptions are missing critical context (e.g., no explanation of date format requirements, humidity range, temperature units). No output schema documentation is visible. Error handling, retry guidance, and recovery patterns are absent from the code. The WeatherService implementation is not provided, so we cannot verify that parameters are actually validated or that errors are actionable.
Add or update weather information for a specific date
Get all available weather dates
Get weather information by date
Tool descriptions are critically sparse (10-32 characters), far below the 50-200 character baseline. LLMs cannot determine when to call these tools or what they return without fuller context.
No output schemas are documented. LLMs cannot plan downstream calls or extract relevant fields if they don't know what getWeatherByDate() or getAvailableDates() returns.
Parameter descriptions are missing or trivial. 'Date in YYYY-MM-DD format' is minimal; missing are constraints like 'past dates only' or 'future dates up to 365 days'. 'Humidity percentage (0-100)' lacks guidance on decimals or rounding.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 31 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 31 | - | v1 |
getAvailableDates has an empty input schema ({}), yet the tool's purpose and return type are unexplained. An LLM cannot infer whether this returns an array of strings, objects with metadata, or a paginated response.
No error handling patterns are visible. If a date is invalid, the service is missing (network error), or humidity exceeds bounds, there is no recovery guidance for the LLM.
Tool implementation in WeatherService is not provided in the source, so input validation, error classification, and actual return schemas cannot be verified.