A simple MCP server that provides weather information
Single tool with minimal definition quality. Tool name 'getWeatherDetailsByLocation' uses camelCase (non-standard verb_noun pattern) and lacks clarity on what 'details' means. Description is only 47 characters, below the 10-1024 baseline and provides no context on WHEN to use this tool or WHAT it returns. Input schema present but parameter 'location' has only a basic string type with minimal description (47 chars). No output schema documented anywhere in the codebase. No error handling guidance, no pagination support, no structured response documentation. Tool definition appears inferred from Spring AI annotations rather than explicitly registered with full MCP schema.
Get weather details for a specific location
Tool name uses camelCase instead of snake_case verb_noun pattern. 'getWeatherDetailsByLocation' should be 'get_weather_details' or 'get_weather_by_location'. LLMs expect action_resource naming.
Tool description is only 47 characters ('Get weather details for a specific location'). Baseline is 194 chars. Missing: WHEN to use this tool, WHAT fields are returned, any prerequisites or rate limits, and how it differs from similar weather tools.
No output schema documented. LLMs cannot plan downstream calls or extract fields without knowing the response structure. Test shows response includes tempCelsius, tempFahrenheit, weatherDescription, humidity, windSpeed, location, but this is not declared in tool metadata.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 25 | 2026-07-28+ | v2 |
Parameter 'location' description is minimal (47 chars). Does not specify: format (city name? coordinates? postal code?), required format, examples, or whether it accepts partial matches. LLMs will guess.
No error handling guidance. What happens if location is invalid, API is down, or rate limit is hit? No recovery hints for LLM. No categorization of errors as retryable vs fatal.