GnistAI GnistAI
Log in

Open-Meteo (Weather)

Current weather, forecasts, historical data, and severe weather alerts.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 8 tools tools 8 8 type: api wrapper type type api wrapper api wrapper lifecycle: flagship lifecycle lifecycle flagship flagship Environment

Data source: Open-Meteo, NWS

MCP Endpoint (Streamable HTTP) https://context.gnist.ai/mcp/open-meteo/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (8)

geocode_location

Search for a city or place name and return matching coordinates.

Use this tool first to convert a place name into latitude/longitude
coordinates, then pass those coordinates to the weather, air quality,
or marine forecast tools.

Returns matching locations with name, coordinates, country, population,
and timezone.

ParameterTypeRequiredDescription
namestringrequiredCity or place name to search for (e.g. "Oslo", "New York", "Tokyo").
countintegeroptionalMaximum number of results to return (1-100). Default 5. (default: 5)
languagestringoptionalResponse language as ISO 639-1 code (e.g. 'en', 'de', 'fr'). Default 'en'. (default: "en")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "geocode_location",
    "arguments": {
      "name": "example"
    }
  }
}
get_current_weather

Get current weather conditions at a location.

Returns current temperature, humidity, wind, precipitation, and description.
Weather descriptions follow the WMO Weather Interpretation Code standard.

ParameterTypeRequiredDescription
latnumberrequiredLatitude of the location (-90 to 90).
lonnumberrequiredLongitude of the location (-180 to 180).
unitsstringoptionalUnit system: "metric" (C, m/s, mm) or "imperial" (F, mph, inch). (default: "metric")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_current_weather",
    "arguments": {
      "lat": 1.0,
      "lon": 1.0
    }
  }
}
get_weather_forecast

Get hourly weather forecast for a location.

Returns hourly forecast entries with temperature, precipitation probability,
wind, and weather description for each hour. Up to 7 days (168 hours).

ParameterTypeRequiredDescription
latnumberrequiredLatitude of the location (-90 to 90).
lonnumberrequiredLongitude of the location (-180 to 180).
hoursintegeroptionalNumber of hours to forecast (1-168, default 24). (default: 24)
unitsstringoptionalUnit system: "metric" (C, m/s, mm) or "imperial" (F, mph, inch). (default: "metric")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_weather_forecast",
    "arguments": {
      "lat": 1.0,
      "lon": 1.0
    }
  }
}
get_alerts

Get active severe weather alerts for a location.

Currently covers the United States via the National Weather Service (NWS) API.
Returns an empty list for non-US coordinates.

ParameterTypeRequiredDescription
latnumberrequiredLatitude of the location (-90 to 90).
lonnumberrequiredLongitude of the location (-180 to 180).
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_alerts",
    "arguments": {
      "lat": 1.0,
      "lon": 1.0
    }
  }
}
get_historical_weather

Get historical weather data for a location and date range.

Draws from the ERA5 climate reanalysis archive, covering 1940-01-01 to
approximately 5 days before the current date. Returns daily summaries
with max/min/mean temperature, precipitation, and wind speed.

ParameterTypeRequiredDescription
latnumberrequiredLatitude of the location (-90 to 90).
lonnumberrequiredLongitude of the location (-180 to 180).
start_datestringrequiredStart of the date range, format YYYY-MM-DD (earliest: 1940-01-01).
end_datestringrequiredEnd of the date range, format YYYY-MM-DD (latest: ~5 days ago).
unitsstringoptionalUnit system: "metric" (C, m/s, mm) or "imperial" (F, mph, inch). (default: "metric")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_historical_weather",
    "arguments": {
      "lat": 1.0,
      "lon": 1.0,
      "start_date": "example",
      "end_date": "example"
    }
  }
}
get_air_quality

Get air quality forecast for a location.

Returns hourly air quality data including European AQI, US AQI, PM2.5,
PM10, carbon monoxide, nitrogen dioxide, sulphur dioxide, and ozone.

AQI scales:
- European AQI: 0-20 Good, 20-40 Fair, 40-60 Moderate, 60-80 Poor, 80-100 Very Poor, 100+ Extremely Poor
- US AQI: 0-50 Good, 51-100 Moderate, 101-150 Unhealthy (sensitive), 151-200 Unhealthy, 201-300 Very Unhealthy

ParameterTypeRequiredDescription
latnumberrequiredLatitude of the location (-90 to 90).
lonnumberrequiredLongitude of the location (-180 to 180).
hoursintegeroptionalNumber of hours to forecast (1-120, default 24). (default: 24)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_air_quality",
    "arguments": {
      "lat": 1.0,
      "lon": 1.0
    }
  }
}
get_marine_forecast

Get marine/ocean forecast for a coastal location.

Returns hourly wave data including total wave height, direction, and period,
as well as separate wind-wave and swell components. Best for coastal and
offshore locations; inland locations may return null values.

ParameterTypeRequiredDescription
latnumberrequiredLatitude of the coastal location (-90 to 90).
lonnumberrequiredLongitude of the coastal location (-180 to 180).
hoursintegeroptionalNumber of hours to forecast (1-168, default 24). (default: 24)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_marine_forecast",
    "arguments": {
      "lat": 1.0,
      "lon": 1.0
    }
  }
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "report_feedback",
    "arguments": {
      "feedback": "example"
    }
  }
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/mcp/open-meteo/" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "geocode_location", "arguments": {"name": "example"}}}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/open-meteo/",
    headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "geocode_location",
    "arguments": {
      "name": "example"
    }
  }
},
)
print(resp.json())

Related Toolkits (Environment)

Resources