meteoswissLocalForecastLABSCO SUMMARY
Official Swiss weather, shaped for a model instead of scraped off a page.
Station discovery is what makes this more than a forecast lookup: fuzzy matching and geocoding mean an agent can answer a question about a place without first knowing that place's station code, and the climate series reach back decades through the same interface. The output format was measured rather than guessed — across 13 models reading the forecast JSON, hour-level lookups scored ~100% on local-time timestamps against ~0% on UTC, and local time is what ships.
What it is
An MCP server over MeteoSwiss Open Government Data, the same data behind the MeteoSwiss app and website. It exposes 7 structured tools with fuzzy station matching, geocoding, and TTL-tiered caching, and there is a hosted instance you can point a client at with nothing installed.
What you get
- meteoswissLocalForecast — multi-day forecasts by postal code, station, or place name, across about 6000 Swiss locations
- meteoswissCurrentWeather — temperature, wind, humidity, and pressure from about 300 stations, updated every 10 minutes
- meteoswissStations — find stations by name, canton, or GPS coordinates
- meteoswissPollenData — pollen concentrations from about 15 monitoring stations
- meteoswissClimateData — National Basic Climatic Network series for temperature, precipitation, sunshine, and climate indicators going back decades
- search and fetch — MeteoSwiss website content in German, French, Italian, and English
- Fuzzy matching on station names, so a place spelled the way a person would spell it still resolves
Requirements
No account and no API key — the data is free. The shortest path is the hosted instance: claude mcp add meteoswiss https://meteoswiss-mcp.ars.is/mcp, or add it from the Cursor Directory. To run it yourself, the npm package is meteoswiss-mcp, or pull the container ghcr.io/eins78/meteoswiss-mcp:latest and publish port 3000. The same repository also ships the identical data access as an agent skill built on curl, awk, and jq, for clients with shell access and no MCP support.
Setup effort
One command — claude mcp add --transport http meteoswiss https://meteoswiss-mcp.ars.is/mcp
USE CASES
Answering a weather question in any of Switzerland's languages
Forecasts resolve from a postal code, a station, or a place name, so the question can be asked the way a person would ask it.
Checking what it is doing right now near a specific town
Find the station by name, canton, or coordinates, then read its latest measurement.
Planning around pollen season
Read concentrations from the monitoring stations, narrowed to the ones near where the question is about.
Putting this week's temperature in historical context
Pull the climate series for the station and compare it against what the station is measuring today.
Reading what MeteoSwiss itself published about a weather event
Search the website content, then fetch the full page rather than working from the search snippet.
7 tools
Listed in project docs. Your client may show a different list.
meteoswissCurrentWeathermeteoswissStationsmeteoswissPollenDatameteoswissClimateDatasearchfetchBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
INSTALLATION
Connect your client
Server setup
claude mcp add
Claude Code
claude mcp add --transport http meteoswiss https://meteoswiss-mcp.ars.is/mcpHosted endpoint
https://meteoswiss-mcp.ars.is/mcpAdd this hosted endpoint to your MCP client.
MCP Clients
Cursor
add it manually via Settings → MCP, using the hosted instance https://meteoswiss-mcp.ars.is/mcp
Self-hosted Docker server
Start the server with Docker:
docker run -p 3000:3000 ghcr.io/eins78/meteoswiss-mcp:latestIts MCP endpoint is then http://localhost:3000/mcp. Point your client there; the package README's local configuration bridges it with mcp-remote:
{
"mcpServers": {
"meteoswiss-local": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:3000/mcp"
]
}
}
}