MCP server providing current weather and forecasts via OpenWeatherMap
Two tools with complete input schemas and reasonable descriptions. Naming follows verb_noun convention (get_current_weather, get_forecast). Schemas use proper JSON Schema with types, enums, and constraints. However, descriptions are generic (194 chars baseline suggests room for improvement), and output schemas are not documented in the source. Parameter descriptions are present but minimal. No error handling guidance visible. No tool annotations (readOnlyHint, destructiveHint). Missing dependency hints and recovery guidance.
Get the current weather for a city or GPS coordinates.
Get a weather forecast (3‑hourly periods) for a city or coordinates.
Output schemas not documented. LLMs cannot plan downstream calls or extract fields without knowing what get_current_weather and get_forecast return.
Tool descriptions lack context for selection. 'Get the current weather for a city or GPS coordinates' does not explain WHEN to use this vs get_forecast, or what fields are returned.
No tool annotations. Tools are marked READ_ONLY in metadata but lack readOnlyHint in schema. LLMs cannot infer safety properties from tool definitions alone.
No error handling guidance. If city lookup fails or API returns 401 (missing key), the tool provides no recovery hint. LLMs cannot self-correct.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Parameter descriptions are minimal. 'City name (e.g. London,GB or Tokyo)' includes example values that LLMs may reuse literally. Use enum or pattern constraints instead.