How to connect
Same URL, five paste targets. Ready surface · Auth required. Not a safe-to-install badge. Handshake this URL
Paste into Settings → MCP or .cursor/mcp.json.
{
"mcpServers": {
"cyanheads-open-meteo-mcp-server": {
"url": "https://open-meteo-mcp-server--cyanheads.run.tools"
}
}
}
Paste into .vscode/mcp.json.
{
"mcpServers": {
"cyanheads-open-meteo-mcp-server": {
"url": "https://open-meteo-mcp-server--cyanheads.run.tools"
}
}
}
Settings → Connectors → Add → Custom → Web. Paste the URL. Enable in a new chat.
Claude → Settings → Connectors → Add → Custom → Web
Name: open-meteo-mcp-server
URL: https://open-meteo-mcp-server--cyanheads.run.tools
OAuth only if this server requires it.
Save, start a new chat, enable the connector.
Developer mode custom connector. ChatGPT cannot reach localhost.
Settings → Apps & Connectors → Advanced → Developer mode ON
Create custom connector
Name: open-meteo-mcp-server
MCP server URL: https://open-meteo-mcp-server--cyanheads.run.tools
Auth: none unless the server requires OAuth
New chat → + → Developer mode → enable the connector
Register the HTTPS URL, then claude mcp list.
claude mcp add --transport http cyanheads-open-meteo-mcp-server \
https://open-meteo-mcp-server--cyanheads.run.tools
Pass on session/new as mcpServers when the agent advertised HTTP MCP.
[
{
"type": "http",
"name": "cyanheads-open-meteo-mcp-server",
"url": "https://open-meteo-mcp-server--cyanheads.run.tools"
}
]
Paste into a README or docs site. The widget loads snippets from Influzer — still not a SAFE badge.
Same handshake clock as this listing (overlay / warm / seed; live tools/list only if that is missing). Indigo is live_ok, amber is auth_required, gray is unreachable. Not a SAFE badge. Stdio listings have no badge.
[](https://www.influzer.ai/mcp/probe?url=https%3A%2F%2Fopen-meteo-mcp-server--cyanheads.run.tools)
<div data-influzer-install="cyanheads-open-meteo-mcp-server"></div>
<script async src="https://www.influzer.ai/embed/install.js"></script>
https://www.influzer.ai/embed/mcp/cyanheads-open-meteo-mcp-server.md
JSON: https://www.influzer.ai/api/v1/install/cyanheads-open-meteo-mcp-server
Recipes using this server
No published recipes yet for this server.
Listing quality
Observable facts from our catalog and daily probe — not a safe-to-install badge.
- Surface
- Ready surface
- Auth gate
- Auth gate
- Tools source
- tools/list (live)
Observable catalog + probe facts — not a safe-to-install badge. How we verify.
Verification summary
Stored signals only. Not a safety score.
- Verification grade
- A (85)
- Last verified
- Status
- Auth required
- Response time
- 0 ms
- Auth
- Auth gate
- Transport
- http, HTTPS
- Tools indexed
- 11
- 30-day uptime
- 100% of 7 samples over 7 days
Probe history
- · auth_required · 0 ms
- · auth_required · 0 ms
- · auth_required · 0 ms
- · auth_required · 0 ms
- · auth_required · 0 ms
Tools
(11)-
openmeteo_geocodeResolve a place name to ranked coordinate matches with country, region, elevation, timezone, and population. Required prerequisite for name-based queries — all weather tools take latitude/longitude, not place names. Search by a bare place name (city, region, or landmark); never fold a qualifier into it — pass "Baoding", not "Baoding Hebei", and "Paris", not "Paris, France". To disambiguate places that share a name, set the country input (ISO 3166-1 alpha-2, e.g. "US") and/or read the admin1 and
-
openmeteo_get_elevationTerrain elevation from the Copernicus Digital Elevation Model (~90m resolution) for one or more coordinate pairs. Accepts up to 100 pairs per call. Useful for geographic context, elevation-adjusted weather interpretation, or route planning.
-
openmeteo_get_forecastWeather forecast for coordinates: hourly and/or daily variables for up to 16 days ahead, with optional past_days (up to 92) for recent history. Use past_days instead of openmeteo_get_historical for dates within the last 1–5 days, since ERA5 has a variable lag. Returns per-timestamp records — each hourly entry contains a "time" field (ISO 8601) plus one key per requested variable; each daily entry contains a "time" field (YYYY-MM-DD) plus requested variables. Common hourly variables: temperature_
-
openmeteo_get_historicalHistorical weather from the ERA5 reanalysis archive (1940–present). Requires start_date and end_date (ISO 8601 date, e.g., "2024-07-01"). ERA5 has a variable lag of up to ~5 days — for dates within the last week, use openmeteo_get_forecast with past_days instead. Uses the same variable names as the forecast API for direct comparison. Large date ranges (multi-year hourly) produce thousands of records — these spill to DataCanvas for SQL querying when canvas is enabled. At least one of hourly_varia
-
openmeteo_get_marineMarine weather forecast for a coastal or ocean coordinate: wave height, wave period, wave direction, wind-wave height, swell height, sea-surface temperature. Forecast horizon up to 7 days. Returns per-timestamp records — each entry contains a "time" field plus one key per requested variable. Best for open-ocean and coastal exposed points — sheltered inland waters return near-zero wave values. Common hourly variables: wave_height, wave_direction, wave_period, wind_wave_height, wind_wave_direction
-
openmeteo_get_air_qualityModeled CAMS (Copernicus Atmosphere Monitoring Service) air quality forecast: PM2.5, PM10, nitrogen dioxide, sulphur dioxide, ozone, carbon monoxide, dust, pollen, and European/US AQI indices. This is modeled grid data, not measured station readings — for measured data, use openaq-mcp-server. Forecast only (no historical archive). Common variables: pm2_5, pm10, carbon_monoxide, nitrogen_dioxide, sulphur_dioxide, ozone, dust, european_aqi, us_aqi, alder_pollen, birch_pollen, grass_pollen, mugwort
-
openmeteo_get_ensembleProbabilistic ensemble weather forecast — up to 51 ensemble members, up to 16 days ahead with optional past_days (0–92). Each member's values appear as separate columns named with a member suffix (e.g. temperature_2m_member01, temperature_2m_member02). Use the spread across members to compute exceedance probabilities, quantify forecast uncertainty, and build decision thresholds. Available models: "ecmwf_ifs025" (51 members, global, 0.25°), "gfs025" (31 members, global, 0.25°), "icon_seamless" (4
-
openmeteo_get_floodGloFAS (Global Flood Awareness System) river discharge forecast and historical reanalysis. Returns daily ensemble river discharge (m³/s) for the river nearest to the given coordinates — no river ID needed, the API snaps to the nearest stream. Forecast horizon up to 210 days ahead; reanalysis history back to 1984-01-01. Use start_date/end_date for historical pulls and forecast_days for future forecasts; both can be combined. Available daily variables: "river_discharge" (ensemble mean), "river_dis
-
openmeteo_get_climateLong-range climate projections from bias-corrected daily CMIP6 models, covering 1950-01-01 to 2050-12-31 at any coordinate. Answers "what will conditions look like through 2050?" — the future-projection counterpart to openmeteo_get_historical (ERA5, what happened). Daily resolution only. Available models: "CMCC_CM2_VHR4", "FGOALS_f3_H", "HiRAM_SIT_HR", "MRI_AGCM3_2_S", "EC_Earth3P_HR", "MPI_ESM1_2_XR", "NICAM16_8S". With 2+ models each variable appears once per model with the model name as suffi
-
openmeteo_dataframe_queryRun a read-only SQL SELECT against tables staged on a DataCanvas by openmeteo_get_historical, openmeteo_get_ensemble, or openmeteo_get_climate. Pass the canvas_id returned when any of those tools spills (truncated: true). Tables are named by the spillover helper (e.g. spilled_<id>); use openmeteo_dataframe_describe to list available tables and their columns before querying.
-
openmeteo_dataframe_describeList the tables and their columns on a DataCanvas staged by openmeteo_get_historical, openmeteo_get_ensemble, or openmeteo_get_climate. Call this first to discover table names before querying with openmeteo_dataframe_query.
Tool source: tools/list (live) · last probed 2026-11-05