Open-Meteo
liveWeatherClimateGlobal weather forecast + ERA5 historical reanalysis + air quality + marine + flood. Keyless (fair-use).
6tools
0msauth
free tier50 calls/day
Tools
forecastrequired: latitude, longitudeUp to 16-day forecast.
Parameters
NameTypeDescription
latitudereqnumber—longitudereqnumber—hourlyoptstring—dailyoptstring—forecast_daysoptnumber1-16past_daysoptnumber—timezoneoptstring—temperature_unitoptstring—wind_speed_unitoptstring—Try it
Response
historicalrequired: latitude, longitude, start_date, end_dateERA5 reanalysis 1940-present.
Parameters
NameTypeDescription
latitudereqnumber—longitudereqnumber—start_datereqstring—end_datereqstring—hourlyoptstring—dailyoptstring—timezoneoptstring—Try it
Response
geocoderequired: nameResolve a place name to coordinates.
Parameters
NameTypeDescription
namereqstring—countoptnumber—languageoptstring—Try it
Response
air_qualityrequired: latitude, longitudePM2.5, PM10, ozone, NO2, AQI.
Parameters
NameTypeDescription
latitudereqnumber—longitudereqnumber—hourlyoptstring—forecast_daysoptnumber—Try it
Response
marinerequired: latitude, longitudeWave height + period + direction.
Parameters
NameTypeDescription
latitudereqnumber—longitudereqnumber—hourlyoptstring—forecast_daysoptnumber—Try it
Response
floodrequired: latitude, longitudeDaily river discharge forecast (GloFAS).
Parameters
NameTypeDescription
latitudereqnumber—longitudereqnumber—dailyoptstring—forecast_daysoptnumber—Try it
Response
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
List available tools
bash
curl -X POST https://gateway.pipeworx.io/open-meteo/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Call a tool
bash
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.
TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("forecast", {"latitude":"example","longitude":"example"});ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("global weather forecast + era5 historical reanalysis + air quality + marine + flood");