Skip to main content
Glama

Weather MCP Server by Meteosource

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
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

A4.2/5.0

Scored across 7 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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 tools
get_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

    Related MCP Servers

    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.