A Spring Boot-based MCP server that exposes weather-related tools using Spring AI's tool framework and the weatherstack API
Three weather tools with minimal quality. All descriptions are in Turkish (non-English), making them inaccessible to most LLM agents. Tool names lack clarity: 'is_outdoor_weather_good' conflates evaluation with boolean return (unclear if it returns true/false or a detailed assessment). Input schemas present but trivial (single string param, no constraints). No output schemas documented. No error handling guidance. No parameter validation rules. Tools appear to be inferred from Spring AI framework rather than explicitly defined with full MCP schemas.
Belirli bir şehir veya konum için güncel hava durumu bilgisini alır. Sıcaklık, nem, rüzgar, yağış vb. tüm verileri içerir.
Belirli bir konum için sadece sıcaklık bilgisini getirir
Belirli bir konumdaki hava durumunun dış mekan aktiviteleri için uygun olup olmadığını değerlendirir.
All tool descriptions are in Turkish, not English. LLM agents expect English descriptions to understand when and why to invoke tools. Non-English descriptions are inaccessible to most LLM systems.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields without knowing what the tool returns. Baseline: 100% of A+ tools have documented return types.
Input parameter 'location' lacks constraints (enum, format, length limits). Unbounded string parameters invite hallucinated values. No guidance on expected format (city name, coordinates, postal code?).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | <=2025-11-25 | v2 |
Tool 'is_outdoor_weather_good' name is ambiguous. Does it return a boolean, a score, or a detailed assessment? Unclear when to use vs 'get_current_weather'. Similar names cause LLM confusion.
No error handling guidance. If location is invalid or API fails, LLMs have no recovery path. Baseline: error responses must tell the LLM what to do next.