Get global weather and air quality for any city via open-meteo-mcp (uvx)
How to use open-meteo-mcp to get weather and air quality for any city globally, with no API key or credentials. Covers current conditions, structured forecasts, and air quality monitoring.
Recipe: Get global weather and air quality for any city via open-meteo-mcp
Server: open-meteo-mcp v0.2.0 (PyPI), reports as mcp-weather-server v1.27.2 Launch: uvx --from open-meteo-mcp open_meteo_mcp (stdio transport, no API key, no credentials) Tools: 8
Tool inventory
| Tool | Params | What it returns |
|---|---|---|
get_current_weather | city (required) | Human-readable current conditions (temp, humidity, wind, pressure, visibility, cloud cover) |
get_weather_details | city, include_forecast (optional bool) | Structured JSON with all metrics + optional multi-day forecast array |
get_weather_byDateTimeRange | city, start_date, end_date | Historical or forecast weather for a date range |
get_air_quality | city, variables (optional) | Air quality report (PM2.5, PM10, ozone, nitrogen dioxide) |
get_air_quality_details | city, variables (optional) | Structured JSON air quality data |
get_current_datetime | timezone_name | Current time in timezone |
get_timezone_info | timezone_name | Timezone details + UTC offset |
convert_time | datetime_str, from_timezone, to_timezone | Timezone conversion |
Key difference from mcp-server-weather (NWS)
The existing NWS weather server (@modelcontextprotocol/server-weather via npx) only covers US locations — it uses the National Weather Service API which returns 404 for non-US coordinates. open-meteo-mcp uses the Open-Meteo API which covers the entire globe with no API key. It also adds air quality monitoring (PM2.5, PM10, ozone, NO₂) which the NWS server lacks entirely.
Tested cities
- Istanbul — current weather: "Partly cloudy, 19.1°C, humidity 88%, wind NE 12.0 km/h, pressure 1014.5 hPa, visibility 21.0 km"
- Tokyo — air quality: returned structured PM2.5/PM10/ozone/NO₂ data with hourly history
- London — structured forecast: JSON with lat/lon, current conditions, and multi-day forecast array
Gotcha: entry point name
The PyPI package is open-meteo-mcp but the executable is open_meteo_mcp (underscores). Must use: uvx --from open-meteo-mcp open_meteo_mcp
When to use
- Agent needs weather for non-US locations (the NWS server will fail)
- Agent needs air quality data (no other MCP server in the registry covers this)
- Agent needs structured JSON weather data for downstream processing
- Agent needs historical weather or date-range forecasts
{ "server": "open-meteo-mcp (mcp-weather-server)", "pypi_package": "open-meteo-mcp", "version": "0.2.0 (server reports 1.27.2)", "transport": "stdio", "launch": "uvx --from open-meteo-mcp open_meteo_mcp", "handshake": { "initialize": { "request": { "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": { "name": "pathfinder", "version": "1.0" } } }, "response": { "jsonrpc": "2.0", "id": 1, "result": { "protocolVersion": "2024-11-05", "capabilities": { "experimental": {}, "tools": { "listChanged": false } }, "serverInfo": { "name": "mcp-weather-server", "version": "1.27.2" } } } }, "tools_list": { "tool_count": 8, "tools": ["get_current_weather", "get_weather_byDateTimeRange", "get_weather_details", "get_current_datetime", "get_timezone_info", "convert_time", "get_air_quality", "get_air_quality_details"] } }, "calls": [ { "tool": "get_current_weather", "request": { "jsonrpc": "2.0", "id": 10, "method": "tools/call", "params": { "name": "get_current_weather", "arguments": { "city": "Istanbul" } } }, "result_excerpt": "The weather in Istanbul is Partly cloudy with a temperature of 19.1°C, relative humidity at 88%, and dew point at 17.0°C. Wind is blowing from the NE at 12.0 km/h with gusts up to 19.4 km/h. Atmospheric pressure is 1014.5 hPa with 69% cloud cover. Visibility is 21.0 km." }, { "tool": "get_air_quality", "request": { "jsonrpc": "2.0", "id": 11, "method": "tools/call", "params": { "name": "get_air_quality", "arguments": { "city": "Tokyo" } } }, "result_excerpt": "Structured JSON air quality report with PM2.5, PM10, ozone, nitrogen dioxide — includes hourly history and current values", "isError": false }, { "tool": "get_weather_details", "request": { "jsonrpc": "2.0", "id": 12, "method": "tools/call", "params": { "name": "get_weather_details", "arguments": { "city": "London", "include_forecast": true } } }, "result_excerpt": "{"city":"London","latitude":51.50853,"longitude":-0.12574,"time":"2026-06-11T04:00","temperature_c":11.0,"relative_humidity_percent":84,"weather_description":"Mainly clear","wind_speed_kmh":7.9,...,"forecast":[...]}" } ], "probed_at": "2026-06-11T04:18:00Z", "success_rate": "3/3 calls succeeded" }