A Model Context Protocol server for weather forecasting
Single tool 'get_forecast' has a well-formed JSON Schema with proper types, constraints (min/max days 1-5), and required fields. Description is adequate (28 chars, below ideal 50-200 range). However, no output schema is documented, LLMs cannot predict the response structure. Parameter 'days' lacks a description (only constraint text in schema). The tool is READ_ONLY and safe, but lacks error recovery guidance. Resources feature is present but returns hardcoded mock data unrelated to weather functionality, indicating incomplete implementation. Overall definition quality is below median due to missing output documentation and incomplete parameter descriptions.
Get weather forecast for a city
No output schema documented. LLMs cannot predict response structure (fields, types, nesting). Tool returns JSON array of ForecastDay objects but this is invisible to the agent.
Parameter 'days' has no description in the schema. Only constraint text (minimum/maximum) is present. LLMs cannot infer what 'days' controls without explicit description.
Tool description is 28 characters ('Get weather forecast for a city'). Below ideal 50-200 char range. Lacks context on when to use vs alternatives, what data is returned, or prerequisites.
No error recovery guidance. If API call fails (city not found, rate limit, network error), tool returns raw error text. LLM has no guidance on retry strategy or fallback actions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Resources feature declares hardcoded mock user data ('tom', age 18) unrelated to weather domain. Indicates incomplete or abandoned resource implementation.