MCP server providing weather forecast data via the Open-Meteo API
Single tool 'weather' has a basic schema with three required string parameters (Latitude, Longitude, Time), all with descriptions. However, the tool description is minimal (16 chars: 'Get weather forecast'), falling below the 20-char threshold. Parameter descriptions are present but lack format guidance (e.g., latitude/longitude ranges, time format). No output schema is documented, the handler returns a formatted text string, but LLMs cannot plan downstream operations without knowing the response structure. No error recovery guidance is provided; errors return generic messages like 'failed to fetch weather data' without actionable next steps. The tool lacks pagination, rate-limit handling, and does not follow the pattern:tool-description or pattern:response-shaper baselines.
Get weather forecast
Tool description is too short (16 chars). Must be 10 - 1024 chars; 50 - 200 chars is optimal for LLM selection. Current: 'Get weather forecast', does not explain when to use it, what it returns, or prerequisites.
No output schema documented. Handler returns a formatted text string, but LLMs need to know the response structure (fields, types) to plan chaining and extract data. Document: returns {temperature: float, humidity: float, wind_speed: float, location: string}.
Parameter descriptions lack format constraints. 'Latitude' and 'Longitude' do not specify valid ranges (-90 to 90, -180 to 180). 'Time' does not specify format (ISO 8601? Unix timestamp? Natural language?). LLMs will guess and pass invalid values.
Error messages are generic and non-actionable. 'failed to fetch weather data' and 'failed to parse weather data' do not tell the LLM what to do next (retry? ask user? try different coordinates?). No error classification (retryable vs fatal).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Tool name 'weather' is generic and does not start with an action verb. Follows pattern:tool baseline (90% of A+ tools start with verb like 'get_', 'fetch_', 'search_'). Should be 'get_weather_forecast' or 'fetch_weather'.