Weather MCP Server by Meteosource
Server Details
Forecasts, severe-weather alerts, air quality, 20-year weather history, solar and wind production.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- Meteosource/meteosource-weather-mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 7 tools
Each tool maps to a distinct data domain (forecast, history, air quality, alerts, solar, wind, place lookup), so selection is generally clear. The only real overlap is that get_forecast can return an 'alerts' section that duplicates get_alerts, though the descriptions distinguish polling use from full forecasts.
All seven tools follow a clean verb_noun pattern (get_air_quality, get_alerts, get_forecast, get_solar_production, get_weather_history, get_wind_production, search_places) with snake_case throughout. No mixed conventions or vague one-word names.
Seven tools is well within the sweet spot and each covers a genuinely different data product of the Meteosource API. Nothing looks padded or redundant at the count level.
The surface covers the full lifecycle: geocoding (search_places), current/hourly/daily forecast, historical archive with aggregation, alerts, air quality, and niche renewable-production endpoints. Minor gap: there is no standalone current-conditions tool (it must be requested as a section of get_forecast), and nothing exposes account/plan or unit metadata directly.
Available Tools
7 toolsget_air_qualityAInspect
Hourly 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.
Inputs: locations (required), hours, timezone, variables.
get_alertsAInspect
Official 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).
Inputs: locations (required), language.
get_forecastAInspect
Weather 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.
Inputs: locations (required), days, hours, units, +4 more.
get_solar_productionAInspect
Production 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.
Inputs: sites (required), date_to (required), date_from (required), units, +3 more.
get_weather_historyAInspect
Historical 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
precipitation_normal_probability — compare a period with its normal in
one call. Each location+day costs one API request on first fetch;
a single call is capped at 400 location-days — split longer ranges
into multiple calls. Not available on the free tier (startup+).
Output: `columns` once at the top level; each location has `rows` as
arrays in column order (a year of daily rows is ~15 kB).
Inputs: date_to (required), date_from (required), locations (required), units, +4 more.
get_wind_productionAInspect
Production 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,
SWT113/3200, SWT120/3600 (the default), SWT130/3300, SWT130/3600,
SWT142/3150; Vestas V80/2000, V90/2000, V90/2000/GS, V90/3000, V100/1800,
V100/1800/GS, V112/3000, V112/3075, V112/3300, V112/3450, V117/3300,
V117/3450, V117/3600, V126/3000, V126/3300, V126/3450, V164/8000,
V164/9500; Vensys VS112/2500.
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.
Inputs: sites (required), date_to (required), date_from (required), units, +3 more.
search_placesAInspect
Find 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").
Inputs: lat, lon, query, language.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Weather data, forecast API, climate data, historical weather, alerts, agricultural & travel weather.
Forecasts for any US point, with context: alerts, what changed overnight, why, and history.
Weather history, nowcasts, forecasts, and soil data for saved locations or any US or Canada point.
Smarter Weather MCP: forecasts, alerts, outlooks, observations, AQI, grids, and map imagery.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides real-time weather data and multi-day forecasts for any location worldwide.51 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides real-time weather information and multi-day forecasts for global locations using city names, coordinates, or ZIP codes. It includes tools for current conditions, forecasting, and weather summaries designed for activity planning.11 npmMIT
- AlicenseAqualityDmaintenanceReal-time weather, forecasts, astronomy, marine data for 200+ countries1124 npm1MIT
- AlicenseNot gradedqualityDmaintenanceGlobal weather intelligence for AI assistants providing 10 weather tools — forecasts, historical data, air quality, marine, geocoding, elevation, and climate projections at 1km resolution with 80+ years of archive.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.