Skip to main content

Weather MCP Server by Meteosource

com.meteosource/weatherVersion 0.1.2

Forecasts, severe-weather alerts, air quality, 20-year weather history, solar and wind production.

Status

Responds61 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:06 UTC
Latency
61 ms
Remotes responding
1 of 1
Sign-in
API key
Hosting
EU hosting detected (detected, not a legal statement)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://mcp.meteosource.com/mcpResponds61 ms
No sign-in

Claude Code

claude mcp add --transport http weather https://mcp.meteosource.com/mcp --header 'Authorization: Bearer <YOUR_TOKEN>'

Replace <YOUR_TOKEN> before running.

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: weather
Remote MCP server URL: https://mcp.meteosource.com/mcp
This server expects the header Authorization.

Cursor

{
  "mcpServers": {
    "weather": {
      "url": "https://mcp.meteosource.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

Replace <YOUR_TOKEN> before running.

VS Code

code --add-mcp '{"name":"weather","type":"http","url":"https://mcp.meteosource.com/mcp","headers":{"Authorization":"Bearer <YOUR_TOKEN>"}}'

Replace <YOUR_TOKEN> before running.

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

7 tools

Tools of Weather MCP Server by Meteosource
Read-only
Idempotent
Open world
get_air_qualityHourly air-quality (smog) forecast for up to 20 locations, about 4 days ahead. Columns: `air_quality` (index, 1 = good, higher = worse) and pollutant surface concentrations — default pm10, pm25, no2_surface, so2_surface, ozone_surface; also available via `variables`: co_surface, no_surface, ozone_total, aerosol_550, dust_550nm, dust_mixing_ratio_05. Output is a table per location (`columns` once, `rows` as arrays), trimmed to `hours`. Not available on the free tier. Not declaredNot declaredNot declaredNot declared
get_alertsOfficial weather warnings (severe weather alerts) for up to 20 locations. Returns only locations that currently have an active alert, with event type, severity, validity window and headline — an empty list means all clear. Cheap to call frequently; designed for monitoring/polling. Coverage: USA, EU countries and Canada. Requires the startup tier or higher (not available on the free tier). Not declaredNot declaredNot declaredNot declared
get_forecastWeather forecast for up to 20 locations in one call. Sections (comma-separated): 'current' (now), 'hourly' (up to 168 h ahead, trimmed to `hours`), 'daily' (up to 30 days ahead, trimmed to `days`), 'minutely' (precipitation minute-by-minute, higher tiers), 'alerts' (official weather warnings, startup tier and above), or 'all'. Use `variables` to keep only specific fields (e.g. ["temperature", "wind", "precipitation", "probability", "irradiance"]) and reduce output size — recommended when querying many locations. Timezone defaults to each location's local time; units default per-country ('metric' forces SI). Forecast horizon depends on the subscription tier (free: 7 days). Output: time series (hourly, daily, minutely) are tables — `columns` listed once and `rows` as arrays in column order; nested API groups are flattened with underscores (wind_speed, probability_storm, cloud_cover_total). `units` is given once at the top level when it is the same for every location. Not declaredNot declaredNot declaredNot declared
get_solar_productionProduction of photovoltaic systems, past and forecast, for up to 20 sites. Each site is lat + lon plus the installation: module_kw (installed kWp; use 1 to get specific yield per kWp), inverter_kw (defaults to module_kw), tilt (degrees from horizontal, default 30) and orientation (azimuth the modules face, clockwise from north: 180 = south, the default). Dates are YYYY-MM-DD, inclusive, from up to 20 years back to 4 days ahead, so one call can cover last week's actual weather and the coming days. The renewables plan includes the last 3 years; older days need the paid historical add-on, otherwise the API refuses them ("historical data this old"), reported per site. Granularity: 'hourly' (power at each full hour, max 14 days per call), 'daily' or 'monthly' (energy, max 366 days per call — call repeatedly for multi-year yield; past days are cached so repeats are cheap). Columns: production_kw = output of the system at that hour (an instantaneous value); production_kwh = energy of the day or month, summed from those hourly values; production_max_kw = its peak. `variables` adds the weather behind the production: irradiance (ghi, dni, dhi in W/m2 hourly; ghi/dni/dhi_sum_wh_m2 daily and monthly), temperature, cloud_cover, humidity, dew_point, pressure, snowfall (flag per hour; snowfall_hours daily and monthly). Each site+day costs one API request on first fetch; a single call is capped at 400 site-days — split longer ranges into multiple calls. Needs a key on the renewables tier. Output: `columns` once at the top level; each site has `rows` as arrays in column order. Not declaredNot declaredNot declaredNot declared
get_weather_historyHistorical weather (archive) with server-side aggregation. The archive holds 20 years, but how much of it a key may read depends on its plan: startup includes the last 7 days, standard the last year, premium and flexi all 20 years; byvalue reaches 366 days back and no further. Older days need Meteosource's paid historical add-on (billed per location and day); without it the API refuses such a day with "not allowed to access historical data this old", reported per location, so start inside the plan's range. Dates are YYYY-MM-DD, inclusive. Granularity: 'hourly' (raw hours, max 14 days per call), 'daily' (per-day min/max/avg/sum statistics, max 366 days) or 'monthly' (folded from daily, max 366 days per call — call repeatedly for multi-year analyses; results are cached so repeats are cheap). Variables (default: temperature, precipitation, wind): cape, cloud_cover, dew_point, evaporation, feels_like, humidity, irradiance, ozone, precipitation, precipitation_type, pressure, soil_temperature, surface_temperature, temperature, weather, wind, wind_distribution. Aggregations per variable: temperature min/max/avg, precipitation sum, wind speed avg + gusts max, irradiance sum in Wh/m2 (useful for PV analysis), weather = most frequent code of the day, precipitation_types = kinds seen that day (e.g. "rain,snow"; "none" when dry) — use weather and precipitation_type to document what happened (snow, fog, thunderstorm). wind_distribution (daily/monthly; for wind-turbine siting) = hours per 10 m wind-speed bin (wind_hours_0_2 … wind_hours_10_plus) and wind_power_density_w_m2 = 1/2 * 1.225 * mean(v^3) at 10 m — scale to hub height yourself (the API has no hub-height wind). `normals=true` (daily/monthly) adds long-term columns for each calendar day: temperature_normal_avg/min/max, temperature_record_min/max, wind_normal_speed, wind_record_gusts, precipitation_normal_sum and Not declaredNot declaredNot declaredNot declared
get_wind_productionProduction of wind farms, past and forecast, for up to 20 sites. Each site is lat + lon plus the farm: turbine_model (catalogue below), exactly one of turbine_count or total_capacity (MW), hub_height (metres, default 100) and roughness of the surrounding terrain (water, open, farmland — the default, suburban, urban). Dates are YYYY-MM-DD, inclusive, from up to 20 years back to 4 days ahead, so one call can cover last week's actual weather and the coming days. The renewables plan includes the last 3 years; older days need the paid historical add-on, otherwise the API refuses them ("historical data this old"), reported per site. Granularity: 'hourly' (power at each full hour, max 14 days per call), 'daily' or 'monthly' (energy, max 366 days per call — call repeatedly for multi-year yield; past days are cached so repeats are cheap). Columns: production_mw = output of the whole farm at that hour (an instantaneous value); production_mwh = energy of the day or month, summed from those hourly values; production_max_mw = its peak. `variables` adds the weather behind the production: wind (10 m above ground, not hub height: wind_10m_speed, wind_10m_gusts and wind_10m_angle hourly; speed avg/max and gusts max daily and monthly), temperature, dew_point, pressure. Turbine catalogue (series + rotor diameter in m / rated power in kW): Adwen AD116/5000; Enercon E48/800, E-53/800, E-70/2000, E-70/2300, E-82/2000, E-82/2300, E-82/2350, E-82/3000, E-92/2350, E-101/3050, E-101/3500, E-115/3000, E-115/3200, E-126/4200, E-126/7500, E-126/7580, E-141/4200; Eno ENO100/2200, ENO114/3500, ENO126/3500; GE GE100/2500, GE103/2750, GE120/2500, GE120/2750, GE130/3200; Nordex N90/2500, N100/2500, N117/2400, N131/3000, N131/3300, N131/3600; Senvion MM92/2050, MM100/2000, S104/3400, S114/3200, S114/3400, S122/3000, S122/3200, S126/6150, S152/6330; aerodyn SCD168/8000; Siemens SWT113/2300, Not declaredNot declaredNot declaredNot declared
search_placesFind locations and their Meteosource place_id. Use this first to resolve city names, postal codes or coordinates into place_id values for the other weather tools. Provide either `query` (place name or postal code) to search, or `lat` + `lon` to find the nearest known place. Returns up to 10 matches ordered by relevance, each with place_id, administrative area, country, coordinates and timezone. Note: lat/lon are returned in degree-letter format (e.g. "50.08804N"). Not declaredNot declaredNot declaredNot declared

Details

Registry status
Active
Published
Oct 26, 2026
Updated
Oct 26, 2026
Categories (suggested)
Data and analyticsSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing