Open-Meteo
liveWeatherClimateGlobal weather forecast + ERA5 historical reanalysis + air quality + marine + flood. Keyless (fair-use).
Tools
forecastrequired: latitude, longitude"What's the weather in [city]" / "weather forecast for [location]" / "will it rain tomorrow", "rain chance / probability this week" / "temperature in [place] this week" / "wind / precipitation / humid
latitudereqnumber—longitudereqnumber—hourlyoptstring—dailyoptstring—forecast_daysoptnumber1-16past_daysoptnumber—timezoneoptstring—temperature_unitoptstring—wind_speed_unitoptstring—Try it
historicalrequired: latitude, longitude, start_date, end_date"What was the weather on [date]" / "historical weather for [location]" / "temperature in [city] last summer" / "rainfall during [period]" / "past weather data" — ERA5 reanalysis covering 1940-present
latitudereqnumber—longitudereqnumber—start_datereqstring—end_datereqstring—hourlyoptstring—dailyoptstring—timezoneoptstring—Try it
geocoderequired: name"What are the coordinates of [city]" / "lat lng for [place]" / "find [town] location" — resolve a place name (city, village, region) to lat/lng so the other Open-Meteo tools can use them. Free, keyles
namereqstring—countoptnumber—languageoptstring—Try it
air_qualityrequired: latitude, longitude"Air quality / AQI in [city]" / "is the air safe to breathe in [location]" / "pollution levels for [place]" / "smoke / smog / wildfire-smoke forecast" / "pollen forecast" — global air quality and poll
latitudereqnumber—longitudereqnumber—hourlyoptstring—forecast_daysoptnumber—Try it
marinerequired: latitude, longitude"Wave / swell / surf forecast for [beach]" / "sea conditions in [bay]" / "wave height at [coordinates]" / "is it safe to sail" — global marine weather forecast (wave height, wave period, wave directio
latitudereqnumber—longitudereqnumber—hourlyoptstring—forecast_daysoptnumber—Try it
floodrequired: latitude, longitude"Flood risk for [river]" / "river discharge forecast" / "will [river] flood" / "water levels at [location]" — daily river discharge forecast from the GloFAS global flood model. Returns predicted m³/s
latitudereqnumber—longitudereqnumber—dailyoptstring—forecast_daysoptnumber—Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/open-meteo/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/open-meteo/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"forecast","arguments":{"latitude": 37.7749, "longitude": -122.4194}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("forecast", {"latitude":"example","longitude":"example"});// Or ask in plain English:
const answer = await px.ask("global weather forecast + era5 historical reanalysis + air quality + marine + flood");