Skip to main content
Glama

meteoswissLocalForecast

Get a multi-day weather forecast for any Swiss location. Returns daily summaries (temperature, precipitation, sunshine, wind, weather icon) plus a hierarchical hourly breakdown of every series.

This uses official MeteoSwiss Open Data — the same forecasts powering the MeteoSwiss app and website.

Accepts:

  • Postal codes: "8001" (Zurich), "3000" (Bern), "1200" (Geneva)

  • Station abbreviations: "SMA" (Zurich Fluntern), "BER" (Bern)

  • Place names: "Zurich", "Basel", "Lugano"

Coverage: ~6000 Swiss locations (all postal codes + weather stations + mountain points). Forecast horizon: up to 9 days. Updated hourly.

Each day's summary fields: temperature_min_c, temperature_max_c, precipitation_total_mm, sunshine_total_minutes, wind_avg_kmh, wind_gust_max_kmh, weather, weather_icon_url.

Each day also includes "hourly": one array of per-hour objects covering every series together — { time, temperature_c, precip_mm, sunshine_minutes, wind_kmh, wind_gust_kmh } — useful for judging when rain, sun, or wind is expected, not just the daily summary:

  • Each entry's "time" is already local wall-clock time for the location (Europe/Zurich), with the UTC offset included, e.g. "2026-07-09T14:00:00+02:00". It is NOT UTC — do not convert it.

  • A dry/calm/sunless hour is reported as its measured value (often 0), not omitted. A fully dry day is still a full array of zero-precipitation hours, not an empty array.

  • Each field is independently null if just THAT series has no reading for a given hour — the other fields for that same hour are still populated. An hour is omitted entirely only when every series is missing for it.

  • "hourly" itself is null when no hourly breakdown exists for this location at all (a total data gap); [] only when this location supports hourly data but none was available for that specific day.

  • For weather stations, temperature_min_c/temperature_max_c/precipitation_total_mm are MeteoSwiss's own official daily aggregates — a different, separately-curated product from the hourly series shown alongside them. They can legitimately NOT match summing/ averaging the hourly entries for that day; this is expected, not a data error. sunshine_total_minutes/wind_avg_kmh/wind_gust_max_kmh have no official daily product for stations and are always derived from the hourly series. For postal codes/mountain points, every summary field is derived from the same hourly series shown alongside it, so it always matches summing/averaging that series exactly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of forecast days (1-9, default 5)
locationYesSwiss location: postal code (e.g., "8001"), station abbreviation (e.g., "SMA"), or place name (e.g., "Zurich")

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceYesData attribution
forecastYesOne entry per forecast day, in date order
locationYes
generatedYesTimestamp the forecast was generated (ISO 8601)

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description fully carries the behavioral transparency burden. It explains timezone handling ('NOT UTC — do not convert it'), zero-hour inclusion, null-field semantics, empty-array vs null distinctions, and the expected mismatch between official station daily aggregates and hourly-derived values.

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 description is long, but it is well-structured with clear paragraphs and bullet-like lists. Every section addresses a real need for safe invocation and output interpretation, and the core purpose is front-loaded in the first sentence.

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?

The description is complete for this tool's complexity, covering input variants, output structure, edge cases, and data quirks. Given the output schema exists, the description goes beyond what is minimally required and would allow an agent to correctly invoke the tool and interpret results without additional context.

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

Parameters5/5

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

Even though schema description coverage is 100%, the description adds substantial meaning beyond the schema by providing concrete location examples, forecast horizon details, field definitions for the returned summaries, and hourly object semantics. This helps an agent accurately construct inputs and interpret outputs.

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?

The description opens with a specific verb and resource: 'Get a multi-day weather forecast for any Swiss location', and explicitly lists what is returned (daily summaries plus a hierarchical hourly breakdown). This clearly differentiates the tool from siblings like meteoswissCurrentWeather and meteoswissClimateData.

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?

The description gives clear context for when to use the tool: multi-day forecasts for Swiss locations, including accepted input formats, coverage of ~6000 locations, forecast horizon, and update frequency. However, it does not explicitly name sibling alternatives or state when not to use this tool, so it falls just 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: current conditions, forecasts, historical climate, pollen, station metadata, and web content search/retrieval. There is no meaningful overlap or ambiguity between any two tools.

Naming Consistency3/5

The five weather-domain tools share a consistent 'meteoswiss' prefix with camelCase noun suffixes, but 'search' and 'fetch' are generic lowercase verbs that do not follow this pattern. The mix of verb-style and noun-style names is readable but not fully predictable.

Tool Count5/5

Seven tools is well-scoped for a national weather service. Each tool covers a major capability (current weather, forecast, climate, pollen, stations, website access) without being too few or unnecessarily numerous.

Completeness4/5

The set covers the core weather data needs comprehensively, including real-time, forecast, historical, pollen, and station discovery. Obvious gaps are severe weather warnings and radar/satellite products, but the addition of search/fetch partially compensates by allowing access to the full MeteoSwiss website.

Resources