Open-Meteo

liveWeatherClimate

Global weather forecast + ERA5 historical reanalysis + air quality + marine + flood. Keyless (fair-use).

6tools
0msauth
free tier50 calls/day

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

Parameters
NameTypeDescription
latitudereqnumber—
longitudereqnumber—
hourlyoptstring—
dailyoptstring—
forecast_daysoptnumber1-16
past_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

Parameters
NameTypeDescription
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

Parameters
NameTypeDescription
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

Parameters
NameTypeDescription
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

Parameters
NameTypeDescription
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

Parameters
NameTypeDescription
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.

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");