An OpenWeather Model Context Protocol (MCP) server that provides tools to interact with OpenWeather API, focusing on current weather and weather forecasts using Open-Meteo API
OpenWeather MCP Server exposes a single tool with adequate naming, description, and input schema. The tool name 'get_current_weather_by_coordinates' clearly indicates the action (get) and the method (by_coordinates), aligning with verb_noun conventions. The description is informative (190 chars) and includes usage context, result interpretation, and field documentation. Input parameters (latitude, longitude, units) are typed and described. However, there are significant gaps: the tool description lacks details on prerequisites (e.g., 'requires valid lat/lon'), no output schema is documented despite mentioning returned fields (location, current, units), no error handling guidance is provided (what happens if coordinates are invalid?), and the tool completely lacks error recovery hints. The baseline for A-grade tools expects 100% of params to have descriptions and documented return types, this server has neither output schema documentation nor comprehensive error patterns. The single tool is competent but not production-grade. Code inspection shows tool is registered via FastMCP decorator but lacks formal output schema definition.
Get current weather using latitude and longitude coordinates. ## Usage This tool retrieves the current weather conditions for specified coordinates. It's useful when you already have precise location data. ## Result Interpretation The result includes: - location: The coordinates - current: Current weather conditions including temperature, humidity, etc. - units: The units used for measurements
Missing output schema documentation. Tool description mentions returned fields (location, current, units) but no formal output schema is visible in code or documentation. LLMs cannot plan downstream operations without knowing response structure.
No error handling or recovery guidance. Tool description does not specify what happens if coordinates are out of bounds, API fails, or response is malformed. LLMs need explicit error classification (retryable, user-fixable, fatal) to plan recovery.
Parameter description for 'units' lacks validation constraints. While an enum is declared (metric, imperial, standard), the description does not explain what each unit means or consequences of selection. Default is 'metric' but no rationale is given.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Tool requires valid latitude and longitude but does not document valid ranges. No indication that lat must be in [-90, 90] or lon in [-180, 180]. LLMs may pass invalid coordinates without knowing constraints.
STDIO transport only. Server is not remotely accessible and cannot be integrated with hosted MCP clients. This is a hard architectural limitation, not a configuration issue.