A Spring Boot-based MCP server that provides weather information tools
The MCP Weather Server has ONE tool (WeatherService tools), but the source code provided does NOT include the actual tool definition, implementation, or schema. The evaluation is based on: (1) pom.xml shows spring-ai-mcp-server-spring-boot-starter dependency, indicating Spring AI MCP integration; (2) McpServerSimpleApplication.java registers tools via MethodToolCallbackProvider.builder().toolObjects(weatherService).build(), but the WeatherService class itself is NOT provided, only a filename is cited; (3) the Dockerfile shows STDIO transport (-Dspring.ai.mcp.server.stdio=true); (4) no tool names, descriptions, parameters, schemas, or error handling are visible in the provided source. The tool reference is purely inferred from the file path (src/main/java/cn/baruto/mcp/server/weather/service/WeatherService.java), and the implementation is completely absent. Per the hard scoring rule: 'If you cannot see the actual tool definition in the source (only inferred): cap that tool's overall at 50.' Since no tool definition is visible at all, the score reflects complete absence of verifiable quality signals.
WeatherService tools are registered but implementation not shown in provided source
Tool implementation NOT PROVIDED in source code. Only filename cited (src/main/java/cn/baruto/mcp/server/weather/service/WeatherService.java); WeatherService.java is missing. Cannot evaluate naming, descriptions, parameters, schemas, or error handling.
No tool name(s) visible. Expected tool names to start with action verbs (get_weather, list_forecasts, etc.) following pattern:tool conventions. Cannot assess naming quality without source.
No parameter descriptions or type definitions visible. Even if weather tools exist, LLMs cannot determine which parameters are required, what types they accept, or what values are valid without explicit descriptions and schemas.
No output schema documented. Tool responses for weather data must specify structure (e.g., temperature, humidity, forecast_days) so agents can extract and chain results. Absence prevents downstream tool composition.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 13 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 33 | - | v1 |
No error handling patterns visible. If weather API calls fail (rate limit, invalid location, API key missing), there is no evidence of recovery guidance, error classification, or actionable error messages.
API key exposed via environment variable without secret injection pattern. WeatherApiProperties reads WEATHER_API_KEY from application.yml/environment, but no evidence of secure secret vault or per-request isolation. Environment variables can leak into logs and error traces.