mcp server
MeteoSwiss MCP Server
Swiss weather data for AI assistants — forecasts, measurements, stations, pollen.
Description as published by the maintainer. Source
- version 2.0.2
- active
active — Most recent push to the repository was 2026-08-08.
What this server can do
7 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
fetch(id, format, includeMetadata)- Fetch full content from a MeteoSwiss webpage and convert to markdown or plain text. Use the search tool first to discover valid page URLs, then pass the full URL as the id parameter. Required: id.
meteoswissClimateData(limit, station, end_date, resolution, start_date, coordinates)- Get homogeneous climate measurement series from Switzerland's National Basic Climatic Network (NBCN). Returns temperature, precipitation, sunshine, radiation, wind, pressure, and climate indicators (frost days, summer days, heat days) going back decades. 29 climate stations + 46 precipitation stations with daily, monthly, and yearly resolution. Use cases: "What are typical January temperatures in Zurich?", "How has precipitation changed in Basel over 50 years?", "How many heat days did Lugano have last year?" Accepts station names ("Zurich", "Basel"), abbreviations ("SMA", "BAS"), or WGS84 coordinates.
meteoswissCurrentWeather(station, coordinates)- Get real-time weather measurements from ~300 Swiss automatic weather stations (~160 full weather + ~140 precipitation-only). Returns temperature, precipitation, wind, humidity, pressure, sunshine, and more. Data updates every 10 minutes. Precipitation-only stations return only rainfall data. For 8 stations (Zurich, Basel, Chur, Sion, Altdorf, Säntis, Jungfraujoch, Grand St-Bernard), also includes daily visual observations: cloud cover, fog, rain, snowfall, hail, and snow coverage. Accepts station names ("Zurich"), abbreviations ("SMA"), addresses ("Bahnhofplatz 1 Bern"), or WGS84 coordinates. Automatically finds the nearest station.
meteoswissLocalForecast(days, location)- 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. Required: location.
meteoswissPollenData(station)- Get current pollen concentration data from MeteoSwiss monitoring stations (~15 stations across Switzerland). Shows pollen levels for 7 measured species (alder, birch, hazel, beech, ash, oak, grasses) — each is always included, with a "no-current-data" status when out of season. Ambrosia (ragweed) is a MeteoSwiss forecast-only category and is not part of this OGD measurement network, so it is not included. Useful for allergy sufferers.
meteoswissStations(limit, canton, search)- List and search MeteoSwiss measurement stations. Filter by name, canton, or browse the full network of ~300 stations (~160 full weather + ~140 precipitation-only) across Switzerland.
search(page, sort, query, language, contentType)- Search MeteoSwiss website content in multiple languages (DE, FR, IT, EN). Returns relevant pages with URLs that can be passed to the fetch tool. Always returns up to 10 results per page — the upstream API has a fixed page size that cannot be changed. Note: pagination may return duplicate results across pages (upstream API limitation). Required: query.
Last successful function declaration observed on . Source: https://meteoswiss-mcp.ars.is/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://meteoswiss-mcp.ars.is/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| GitHub stars | 2 | Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. | cumulative, all time | GitHub | |
| Last commit | 2026-08-08 | Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. | point in time | GitHub | |
| Open issues | 10 | Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. | as of fetch | GitHub | |
| Latest published version | 2.0.2 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-03-29 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| License | CC0-1.0 | Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. | as of fetch | GitHub | |
| First listed in the MCP Registry | 2026-03-29 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| repository status | active | The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. | as of fetch | GitHub | |
| mcp tools declared | 7 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | meteoswiss-mcp.ars.is | |
| mcp endpoint status | ok | The server listed 7 functions when asked. | as of probe | meteoswiss-mcp.ars.is |
Where to get it
Related, by what their authors tagged them
-
OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine
— last commit 2026-08-06, shares open-data, switzerland
1M+ Swiss court decisions, statutes & doctrine with citation graph (DE/FR/IT). CC0, free, 42 tools.
-
JassWiki — Swiss Jass Authority (AMCP v0.1)
— last commit 2026-07-06, shares switzerland
First production Authority-MCP. W3C VC attested by Jassverband Schweiz.
-
io.github.Digilac/simap-mcp
— last commit 2026-08-04, shares switzerland
MCP server for simap.ch - Swiss public procurement platform
-
Crosby, TX Weather
— last commit 2026-08-05, shares weather
Crosby, TX weather, air quality, tropics, floods, fishing, pollen, roads, radar, news & schools.
-
com.datakoot/weather-intel-mcp
— last commit 2026-08-02, shares weather
US weather, alerts, earthquakes and elevation for AI agents, from NWS/NOAA and USGS. No API keys.
-
BeachFinder - beaches and live conditions
— last commit 2026-07-17, shares weather
Search 184,900 swim spots, conditions, water activities, providers and guides worldwide.
-
Clarigrid
— last commit 2026-07-29, shares weather
Read-only electricity, gas, and weather data with structured provenance and units.
-
Weather API
— last commit 2026-07-18, shares weather
Current weather and 7-day forecast for any location. OpenMeteo-powered. x402 micropayment.
-
io.github.cyanheads/noaa-cdo-mcp-server
— last commit 2026-07-30, shares weather
Search NOAA CDO stations and datasets, fetch historical weather observations.
-
io.github.cyanheads/noaa-climate-mcp-server
— last commit 2026-07-30, shares weather
Search NOAA climate stations and datasets, fetch historical weather observations.
These share tags the maintainers applied themselves, such as open-data, switzerland, weather. Common tags like "mcp" or "ai" are ignored for this: agreeing with six hundred other projects is not a similarity.
This is not a recommendation and not a test result. It is a map of what the authors said their work is about.
How the author describes it
Topics the maintainer set on GitHub: claude-code, claude-skill, mcp-server, meteoswiss, open-data, switzerland, weather.
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json