Skip to main content
Glama

Weather MCP Server by Meteosource

Server Details

Forecasts, official weather alerts, air quality, 20 years of history, and PV and wind production, via the Meteosource API. Hosted, with your own API key.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 7 tools

Disambiguation4/5

Most tools target clearly distinct resources: place resolution, forecast, history, air quality, alerts, solar and wind production. The only real overlap is that get_forecast can also emit an 'alerts' section, duplicating get_alerts, but the descriptions justify the split (cheap polling vs full forecast). get_weather_history vs the renewables production tools is also distinguishable by domain.

Naming Consistency5/5

Every tool follows a consistent snake_case verb_noun pattern (get_air_quality, get_forecast, get_weather_history, search_places). No camelCase or mixed conventions, and the resource is always explicit after the verb.

Tool Count5/5

Seven tools is well-scoped for a weather API: one resolver plus six data endpoints covering distinct product families. No tool feels redundant or padded, and nothing essential is split across near-duplicate tools.

Completeness5/5

The surface covers the full weather lifecycle: place resolution, current/hourly/daily/minutely forecast, 20-year history with aggregation, air quality, official alerts, and both solar and wind production. Minor extras like historical air quality are absent but no core workflow dead-ends.

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.
ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNo
timezoneNoauto
locationsYes
variablesNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses the return shape (a table per location with `columns` once and `rows` as arrays), that output is trimmed to `hours`, the default variable set, the 20-location cap, the ~4-day horizon, and a tier restriction. It stops short of error behavior or auth/rate-limit details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then output shape, then caveats; every sentence contributes. The pollutant variable enumeration is long but earns its place by telling the agent what values `variables` accepts.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations, so the description must stand alone — and it covers output layout, defaults, geographic limit, horizon, and tier restriction. It is nearly complete for invocation, with only timezone semantics and over-limit error behavior left undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is 0%, yet the description names the default variables (pm10, pm25, no2_surface, so2_surface, ozone_surface), enumerates the additional options for `variables`, and explains that `hours` trims the table. It adds meaning well beyond the schema, though `timezone` and the place_id-vs-lat/lon choice go unaddressed here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource with scope: hourly air-quality (smog) forecast for up to 20 locations, ~4 days ahead. The purpose is unmistakable and clearly distinct from weather-oriented siblings like get_forecast, but the description never explicitly differentiates itself from those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the resource name and the note that it is 'Not available on the free tier,' which is a useful eligibility constraint. However, there is no explicit when-to-use guidance, no guidance on when to supply custom `variables` versus the defaults, and no routing away from alternatives such as get_forecast.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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).
ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoen
locationsYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full load and does it well: it discloses that only locations with an active alert are returned, that an empty list is a valid all-clear signal, geographic coverage (USA/EU/Canada), and a tier/auth prerequisite. It does not state what happens for out-of-coverage coordinates or error behavior, leaving a small gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core identity is front-loaded in the first line, then return-shape, cost profile, coverage, and access tier follow in short scannable clauses. No sentence is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema or annotations, the description still explains the return payload (event type, severity, validity window, headline), the empty-result case, coverage limits, and cost/access constraints. Only the undocumented 'language' parameter keeps it from being fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds a genuinely useful constraint absent from the schema: a hard cap of 20 locations. However, the top-level 'language' parameter is never mentioned, and location-input semantics (place_id vs lat/lon, label echo) are only covered by the schema's nested descriptions rather than the tool description itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Official weather warnings (severe weather alerts)') plus a clear scope limit of up to 20 locations. An agent can immediately separate this from get_forecast, get_air_quality, or search_places without inspecting the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operating context: 'designed for monitoring/polling' and 'cheap to call frequently', and explains that an empty list means all clear, which tells the agent how to interpret results. It stops short of explicitly naming an alternative sibling (e.g. use get_forecast for outlooks) or stating when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.
ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
hoursNo
unitsNoauto
languageNoen
sectionsNocurrent,daily
timezoneNoauto
locationsYes
variablesNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it discloses meaningful traits: tier-gated horizons (free: 7 days), section availability by tier (minutely 'higher tiers', alerts 'startup tier and above'), timezone/unit defaults, and the flattened table output shape. It omits auth requirements, rate limits, and error behavior, but the tier and output disclosures go well beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose and capacity in the first sentence, then organized into labeled sections for parameters and output. It is dense but each sentence carries information; the output paragraph is somewhat long given no output schema exists to carry that load.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no annotations and no output schema, the description covers the essential gaps: forecast horizons per tier, section semantics, output table structure with flattened column naming, and unit/timezone behavior. An agent has enough to call it correctly without opening the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% at the top level, so the description must compensate, and it largely does: it enumerates valid `sections` values, explains that hourly is trimmed to `hours` and daily to `days`, names example `variables`, and defines `timezone` and `units` defaults. It leaves `language` and the `locations` array limits/shape unexplained, so it falls short of full coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Weather forecast') with a stated capacity limit ('up to 20 locations in one call'), which clearly separates it from get_weather_history, get_air_quality, and get_solar_production. It does not address the overlap with get_alerts, even though its own 'alerts' section covers the same data, leaving that sibling distinction unstated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: it recommends using `variables` 'when querying many locations' and notes tier requirements per section, which is useful operational guidance. However, it never says when to prefer this tool over get_alerts, get_weather_history, or how to obtain a place_id before calling (search_places), so the routing decision is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.
ParametersJSON Schema
NameRequiredDescriptionDefault
sitesYes
unitsNometric
date_toYes
timezoneNoauto
date_fromYes
variablesNo
granularityNodaily

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations to lean on, the description carries the full behavioral burden and does so: it discloses the renewables-tier key requirement, the 400 site-day cap, one-request-per-site-day costing, caching of past days, per-site refusal of out-of-plan history, and the exact error wording. This is unusually thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Long but densely packed with no filler; the first sentence front-loads purpose and scale before drilling into site fields, date rules, granularity, columns and cost. It could be split for scannability, but almost every sentence carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description defines the return shape (top-level `columns`, per-site `rows` arrays in column order) and the meaning of each production column. Combined with the auth, cost and error behavior, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema coverage is reported as 0%, so the description must compensate, and it largely does: it explains module_kw=1 for specific yield, inverter_kw defaulting to module_kw, tilt/orientation defaults and azimuth convention, date format and bounds, granularity options and their limits, and the variables list. However, `units` and `timezone` are never explained anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Production of photovoltaic systems, past and forecast') plus scope ('up to 20 sites'), which cleanly separates it from the sibling get_wind_production. An agent can tell exactly what this returns without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete selection guidance for the granularity parameter (hourly capped at 14 days, daily/monthly at 366 days) and date window (20 years back to 4 days ahead), and warns that older days need a paid add-on. It stops short of explicitly routing to sibling tools, but the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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).
ParametersJSON Schema
NameRequiredDescriptionDefault
unitsNometric
date_toYes
normalsNo
timezoneNoauto
date_fromYes
locationsYes
variablesNo
granularityNodaily

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full behavioral burden and does so: plan-based read limits, the exact error string for blocked old days reported per location, per-location-day billing, first-fetch request cost, caching of repeats, a 400 location-day call cap, max ranges per granularity, and rough response size. This is exactly the operational context an agent needs before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with a single-line summary, then organized into access, granularity, variables/aggregations and output blocks. It is long but dense; a few clauses (e.g. the wind_power_density formula, repeated caps) could be trimmed without losing decision-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no annotations and no output schema, the description is nearly complete, even sketching the return shape (top-level 'columns', per-location 'rows', ~15 kB for a year of daily data). The remaining gap is the unexplained units/timezone parameters and no explicit statement of the default units.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for top-level params, so the description must compensate and largely does: date format and inclusivity, granularity values with their caps, the full variables list with defaults, and the normals=true semantics. However, 'units' and 'timezone' are never explained in either schema or description, leaving two parameters undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource: 'Historical weather (archive) with server-side aggregation.' It is unambiguous that this is the retrospective/archive tool versus the forecast-oriented siblings, and the granularity/aggregation framing tells the agent exactly what kind of data it returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Rich conditional guidance: plan-based access windows (startup 7 days, standard 1 year, premium/flexi 20 years, byvalue 366 days), the paid add-on for older days, per-granularity call caps, and when to split long ranges. It does not explicitly name a sibling alternative (e.g. get_forecast for future data), so it stops short of full when-not/exclusions guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.
ParametersJSON Schema
NameRequiredDescriptionDefault
sitesYes
unitsNometric
date_toYes
timezoneNoauto
date_fromYes
variablesNo
granularityNodaily

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden and does so well: it discloses the historical add-on boundary (last 3 years free, older days refused with 'historical data this old' reported per site), request billing (one API request per site+day, cached on repeats), the 400 site-days cap, and auth tier. It even sketches the return shape (columns at top level, rows as ordered arrays).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very long, but front-loaded with purpose and organized by concern (sites, dates, granularity, columns, variables, catalogue, cost). The turbine catalogue is bulky yet necessary because the schema explicitly points to it in the description; the rest is dense with no obvious filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with no annotations and no output schema, the description covers nearly everything an agent needs: date rules, granularity trade-offs, cost model, failure modes, output layout, and the turbine catalogue. Minor gap: units and timezone parameters are never addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is 0%, so the description must compensate, and it largely does: turbine_model is tied to an inline catalogue (with the default SWT120/3600), roughness enum values and the farmland default are spelled out, hub_height default 100 m is stated, and the exactly-one-of turbine_count/total_capacity rule is explicit. It leaves units, timezone, and label unexplained, so not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource+scope: 'Production of wind farms, past and forecast, for up to 20 sites.' This clearly separates it from siblings like get_solar_production (different resource) and get_weather_history (production output vs raw weather).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives rich context on when the call is viable: date window (20 years back to 4 days ahead), per-call caps (14 days hourly, 366 days daily/monthly, 400 site-days), and the renewables-tier key requirement. It never explicitly names an alternative sibling or a 'use X instead when' rule, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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").
ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
queryNo
languageNoen

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden, and it delivers useful behavior: result cap (up to 10), ordering by relevance, the returned field set, and the non-obvious degree-letter coordinate format quirk. It stops short of stating behavior on zero matches or any auth/rate-limit constraints, so not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with purpose, then usage, then return shape and the coordinate-format caveat. Every sentence earns its place; nothing is repeated from the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description does the heavy lifting well, documenting return cardinality, ordering, fields, and coordinate encoding. Minor residue remains: undefined `language` behavior and unspecified no-match/error handling for a tool other agents depend on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does for three of four parameters: it defines `query` (place name or postal code) and the paired `lat`/`lon` semantics (nearest known place) plus their mutual exclusivity. The `language` parameter is never mentioned, leaving one gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find locations and their Meteosource place_id') and immediately frames the tool's role relative to siblings: it produces place_id values consumed by the other weather tools. An agent can distinguish it from get_forecast/get_alerts without reading any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this first' and names the two alternative input modes with their selecting conditions: `query` for place name/postal code, `lat`+`lon` for nearest known place. This is exactly the when-to-use/when-to-use-which guidance the dimension asks for.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updates
    • First observedget_air_quality
    • First observedget_alerts
    • First observedget_forecast
    • First observedget_solar_production
    • First observedget_weather_history
    • First observedget_wind_production
    • First observedsearch_places

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    11 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources