forecast

Pack: open-meteo · Endpoint: https://gateway.pipeworx.io/open-meteo/mcp

“What’s the weather in [city]” / “weather forecast for [location]” / “will it rain tomorrow” / “temperature in [place] this week” / “wind / precipitation / humidity forecast” — global weather forecast up to 16 days ahead, hourly or daily, at any lat/lng. Returns temperature, precipitation, wind, humidity, cloud cover, weather codes by default; pass hourly/daily arg for custom variables. Free, keyless, no signup (Open-Meteo / ECMWF + national weather services). Pair with geocode to convert “Paris” → lat/lng first.

Parameters

NameTypeRequiredDescription
latitudenumberyes
longitudenumberyes
hourlystringnoComma-separated hourly variables. Default sensible set.
dailystringnoComma-separated daily variables. Default sensible set.
forecast_daysnumberno1-16 (default 7)
past_daysnumberno0-92 (default 0)
timezonestringnoIANA timezone or “auto”
temperature_unitstringnocelsius (default) | fahrenheit
wind_speed_unitstringnokmh | ms | mph | kn

Example call

Arguments

{
  "latitude": 40.7128,
  "longitude": -74.006,
  "temperature_unit": "fahrenheit",
  "forecast_days": 10
}

curl

curl -X POST https://gateway.pipeworx.io/open-meteo/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"forecast","arguments":{"latitude":40.7128,"longitude":-74.006,"temperature_unit":"fahrenheit","forecast_days":10}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('forecast', {
  "latitude": 40.7128,
  "longitude": -74.006,
  "temperature_unit": "fahrenheit",
  "forecast_days": 10
});

More examples

{
  "latitude": 51.5074,
  "longitude": -0.1278,
  "hourly": "temperature_2m,precipitation,wind_speed_10m",
  "daily": "weather_code,temperature_2m_max,temperature_2m_min",
  "timezone": "Europe/London"
}

Response shape

FieldTypeDescription
latitudenumberQuery latitude
longitudenumberQuery longitude
generationtime_msnumberAPI response generation time in milliseconds
utc_offset_secondsintegerUTC offset in seconds for the requested timezone
timezonestringIANA timezone string
elevationnumberElevation of the location in meters
hourly_unitsobjectUnits for hourly variables
hourlyobjectHourly forecast data
daily_unitsobjectUnits for daily variables
dailyobjectDaily forecast data
Full JSON Schema
{
  "type": "object",
  "properties": {
    "latitude": {
      "type": "number",
      "description": "Query latitude"
    },
    "longitude": {
      "type": "number",
      "description": "Query longitude"
    },
    "generationtime_ms": {
      "type": "number",
      "description": "API response generation time in milliseconds"
    },
    "utc_offset_seconds": {
      "type": "integer",
      "description": "UTC offset in seconds for the requested timezone"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone string"
    },
    "elevation": {
      "type": "number",
      "description": "Elevation of the location in meters"
    },
    "hourly_units": {
      "type": "object",
      "description": "Units for hourly variables",
      "additionalProperties": {
        "type": "string"
      }
    },
    "hourly": {
      "type": "object",
      "description": "Hourly forecast data",
      "properties": {
        "time": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "ISO 8601 timestamps"
        }
      },
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    },
    "daily_units": {
      "type": "object",
      "description": "Units for daily variables",
      "additionalProperties": {
        "type": "string"
      }
    },
    "daily": {
      "type": "object",
      "description": "Daily forecast data",
      "properties": {
        "time": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "ISO 8601 date strings"
        }
      },
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    }
  }
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "open-meteo": {
      "url": "https://gateway.pipeworx.io/open-meteo/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build July 6, 2026