Sample Spring Boot application demonstrating MCP stdio server usage
Single tool with minimal definition quality. Tool name 'getWeatherForecastBrazil' violates verb_noun convention (should be 'get_weather_forecast_brazil' or similar). Description is generic ('MY OWN Get weather forecast...') and under 50 chars, providing no context on when/why to use it. Input schema present but sparse: only 'location' param with basic string type, no enum constraints, no format guidance, no examples of valid inputs. No output schema documented. No error handling guidance. Tool definition inferred from test file rather than explicit server registration code, cannot verify actual MCP registration. Spring AI framework used but no evidence of tool annotation metadata (readOnlyHint, destructiveHint, idempotentHint) in source.
MY OWN Get weather forecast for a specific latitude/longitude
Tool name violates verb_noun convention. 'getWeatherForecastBrazil' uses camelCase and lacks underscore separation. Should be 'get_weather_forecast_brazil' or 'get_weather_forecast' with location as parameter.
Description is generic and under 50 characters ('MY OWN Get weather forecast for a specific latitude/longitude'). Does not explain WHEN to use this tool, what it returns, or how it differs from other weather tools. LLM cannot determine selection criteria.
Input parameter 'location' lacks constraints. No enum of valid locations, no format guidance (city name? lat/lon? postal code?), no examples. Description says 'e.g. Campinas' but example values in descriptions are anti-pattern, should use formal constraints instead.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 26 | 2026-07-28+ | v2 |
No output schema documented. LLM cannot plan downstream operations or extract forecast data. What fields does the response contain? Temperature, humidity, wind speed? Structured vs free-text?
Tool definition inferred from test file (ClientStdioTest.java) rather than visible in server registration code (McpServerApplication.java). Cannot verify actual MCP tool registration, schema binding, or runtime behavior. Tool may not be properly exposed to MCP clients.