Swiss open data for AI — zero config, zero API keys
@vikramgorla
About Swiss open data for AI — zero config, zero API keys
Swiss open data MCP server — transport, weather, geodata, companies, etc,. Zero API keys.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"swiss": {
"command": "npx",
"args": [
"-y",
"mcp-swiss"
]
}
}
}Tools
76Search for Swiss public transport stations/stops by name or coordinates
Get train/bus connections between two Swiss locations
Get live departures from a Swiss transport station
Get live arrivals at a Swiss transport station
Find Swiss public transport stations near given coordinates
Get current weather conditions at a Swiss MeteoSwiss station (e.g. BER=Bern, ZUE=Zürich, LUG=Lugano)
List all available MeteoSwiss weather stations in Switzerland
Get historical weather data for a Swiss station
Get current river or lake water level and temperature at a Swiss hydrological station
List all available BAFU hydrological monitoring stations (rivers and lakes) in Switzerland
Get historical river/lake water level data for a Swiss hydrological station
Convert a Swiss address or place name to coordinates (swisstopo)
Convert coordinates to a Swiss address (swisstopo)
Search Swiss place names, localities, mountains, and geographic features
Get rooftop solar energy potential for a location in Switzerland
Identify geographic features and data layers at a specific Swiss location
Get information about a Swiss municipality by name
Search Swiss company registry (ZEFIX) by name, canton, or legal form
Get full details of a Swiss company by its ZEFIX internal ID (ehraid). Use search_companies first to find the ehraid — it is returned in company search results.
Search Swiss companies registered at a specific address or locality
List all Swiss cantons with their codes
List all Swiss company legal forms (AG, GmbH, etc.)
Get Swiss public holidays for a given year, optionally filtered by canton (e.g. ZH, BE, GE). Returns national and canton-specific holidays.
Get Swiss school holidays for a given year, optionally filtered by canton. Returns holiday periods (start/end dates) by canton.
Check whether today is a Swiss public holiday, optionally for a specific canton. Returns the holiday name if it is one.
Search Swiss Parliament political affairs — bills, motions, interpellations, postulates, questions, and initiatives. Uses OpenParlData.ch full-text search across the Federal Assembly (Bundesversammlung).
List current or past Swiss Parliament members (National Council and Council of States). Filter by canton or party.
Get voting results for a specific parliamentary affair (Geschäft). Returns all recorded votes for the given affair ID from OpenParlData.
Get upcoming and recent Swiss parliament sessions (Sessionen). Shows session names, dates and types.
Get debate speeches and contributions for a specific parliamentary affair. Returns speaker info and speech details.
Get declared interests and mandates of a Swiss parliament member — board memberships, consulting roles, organizations.
Search political affairs across Swiss cantonal parliaments (Kantonsräte). Covers all 26 cantons via OpenParlData.
Get official documents for a parliamentary affair — reports, committee opinions, federal council statements.
Get Swiss parliament committee/commission meeting schedule. Optionally filter by committee group ID.
Get the current Swiss avalanche danger bulletin from SLF (WSL Institute for Snow and Avalanche Research). Returns current bulletin URLs, danger level descriptions, and links to the interactive map. The bulletin is published daily at ~08:00 and updated at ~17:00 Swiss time (October–May).
List all Swiss avalanche warning regions as defined by SLF/EAWS. Returns region IDs, names, cantons, and typical elevations. Use region IDs with get_avalanche_bulletin.
List all official Swiss NABEL (Nationales Beobachtungsnetz für Luftfremdstoffe) air quality monitoring stations operated by BAFU/EMPA. Returns station codes, names, cantons, coordinates, and environment types.
Get information about a Swiss NABEL air quality monitoring station, including location, environment type, Swiss legal limits (LRV), and a direct link to the BAFU live data portal. Use station codes from list_air_quality_stations (e.g. BER=Bern, ZUE=Zürich, LUG=Lugano).
Look up a Swiss postcode (PLZ) to get locality name, canton, and coordinates. Source: Swiss federal geodata (swisstopo).
Search Swiss postcodes by city or locality name. Returns all PLZ entries matching the name. Source: Swiss federal geodata (swisstopo).
List all Swiss postcodes (PLZ) in a given canton. Accepts 2-letter canton codes (ZH, BE, GR…) or full names. Source: Swiss federal geodata (swisstopo).
Generate a Swiss Post parcel tracking URL for a given tracking number. Swiss Post does not provide a public tracking API, so this returns the official tracking page URL to open in a browser.
Get Swiss electricity tariff (price in Rappen/kWh) for a municipality from ElCom (Swiss Federal Electricity Commission). Returns total price and price breakdown by component (energy, grid, taxes). Valid years: 2011–2026.
Compare Swiss electricity tariffs across multiple municipalities side-by-side. Returns prices sorted from cheapest to most expensive. Useful for relocation decisions or cost analysis.
Search for Swiss municipality IDs needed for electricity tariff lookup. Returns BFS municipality numbers for use with get_electricity_tariff and compare_electricity_tariffs.
Get Swiss population data from the Federal Statistical Office (FSO/BFS). Returns population figures for Switzerland, a canton, or all cantons. Data source: BFS STATPOP (permanent resident population).
Search Swiss Federal Statistical Office (BFS/OFS/UST) datasets on opendata.swiss. Returns matching dataset titles, IDs, and descriptions.
Fetch details and resource links for a specific BFS/OFS dataset by its opendata.swiss identifier. Use search_statistics first to find dataset IDs.
List all currencies available from the Swiss National Bank (SNB) for CHF exchange rate data. Returns currency codes, names, and regions.
Get the current CHF exchange rate for a currency from the Swiss National Bank (SNB). Returns the latest monthly average rate and currency details.
Get historical CHF exchange rates for a currency from the Swiss National Bank (SNB). Returns monthly average rates with optional date filtering. Without date range, returns the most recent 90 months.
Get upcoming waste collection dates for a Zurich city ZIP code. Returns the next scheduled pickups sorted by date. Currently covers Zurich city only (ZIP codes 8001–8099). Powered by OpenERZ (openerz.metaodi.ch).
List all supported waste collection types for Zurich city. Returns each type with its description and local name. Currently covers Zurich city only (ZIP codes 8001–8099). Powered by OpenERZ (openerz.metaodi.ch).
Get a full monthly waste collection calendar for a Zurich city ZIP code. Returns all collection events grouped by date for the given month. Currently covers Zurich city only (ZIP codes 8001–8099). Powered by OpenERZ (openerz.metaodi.ch).
Get the latest Swiss news headlines from SRF (Schweizer Radio und Fernsehen). Returns top news articles with title, description, link, and publication date.
Search Swiss news headlines from SRF by keyword. Searches across all available news categories and returns matching articles.
Get results of Swiss popular votes (Volksabstimmungen) from Basel-Stadt open data. Returns vote title, date, yes/no counts, yes percentage, and eligible voters. Covers national and cantonal votes since 2021.
Search Swiss popular votes by keyword in the vote title (e.g. 'Initiative', 'Klimaschutz', 'CO2', 'AHV'). Returns matching votes with yes/no results.
Get detailed breakdown of a specific Swiss popular vote, including per-district results for Basel-Stadt (Basel city, Riehen, Bettingen, and overseas voters).
Search Swiss dams and reservoirs under federal supervision by name. Searches both dam names and reservoir names. Returns dam type, height, crest length, reservoir volume, purpose, canton, and year built. Data source: Swiss Federal Office of Energy (SFOE) via swisstopo BGDI.
List all Swiss dams under federal supervision in a given canton. Returns up to 20 dams with basic details. Data source: Swiss Federal Office of Energy (SFOE) via swisstopo BGDI.
Get full technical details of a specific Swiss dam by name. Returns all available fields: dam type, height, crest length, crest level, reservoir name, impoundment volume, storage level, purpose, operation dates, federal supervision start, and canton. Data source: Swiss Federal Office of Energy (SFOE) via swisstopo BGDI.
Get current Swiss hiking trail closures and detours from the official ASTRA/Schweizer Wanderwege dataset. Filter by closure reason (e.g. Steinschlag, Bauarbeiten, Hangrutsch) or type (closure, detour). If no parameters are given, returns all active closures. Data source: swisstopo ch.astra.wanderland-sperrungen_umleitungen.
Find Swiss hiking trail closures and detours near a given GPS coordinate. Converts WGS84 coordinates to Swiss LV95 and queries the swisstopo identify endpoint. Returns closures within the specified radius.
Get the Swiss Residential Property Price Index (SWRPI) — official BFS data. Baseline Q4 2019 = 100. Returns quarterly index values tracking Swiss property prices since 2009. Covers all properties, single-family houses, and apartments separately.
Search opendata.swiss for Swiss real estate and housing datasets. Finds datasets about property prices, rents, housing construction, vacancy rates, and more. Returns dataset names, descriptions, and resource download URLs.
Get the Swiss Consumer Price Index (CPI/LIK), which tracks cost of living including residential rents. Baseline December 1982 = 100. Published monthly by BFS. For property purchase prices, use get_property_price_index instead.
Get traffic volume at an ASTRA counting station in Switzerland by location name (e.g. 'Gotthard', 'Zürich', 'Genf'). Returns daily and weekday traffic counts, heavy vehicle percentage, and measurement year.
List ASTRA traffic counting stations in a Swiss canton. Returns up to 20 stations with traffic data.
Find ASTRA traffic counting stations near a geographic coordinate in Switzerland. Returns nearby stations with traffic volume data.
Get recent seismic events in and around Switzerland from the Swiss Seismological Service (SED) at ETH Zürich. Returns earthquakes and optionally quarry blasts, sorted by most recent first.
Get full details for a specific seismic event by its SED (Swiss Seismological Service) event ID. Use event IDs returned by get_recent_earthquakes or search_earthquakes_by_location.
Search for earthquakes near a geographic location using the Swiss Seismological Service (SED) FDSN API. Useful for finding seismic activity near a Swiss city, landmark, or custom coordinates.
Get current snow conditions across Switzerland from SLF (WSL Institute for Snow and Avalanche Research). Returns snow depth and new snow (24h) for IMIS stations, sorted by snow depth. Filter by canton or minimum altitude. Data updated daily.
List all SLF snow measurement stations in Switzerland (IMIS automatic stations and manual study plots). Returns station code, name, altitude, canton, and type. Sorted by elevation descending.
Get detailed snow and weather measurements for a specific SLF station. IMIS stations return 30-min data (snow depth, temperature, humidity, wind, radiation). Study plots return daily data (snow depth, new snow, water equivalent). Use list_snow_stations to find station codes.
Overview
What is Swiss open data for AI — zero config, zero API keys?
Swiss open data for AI — zero config, zero API keys is a Model Context Protocol (MCP) server that gives any AI assistant direct access to Swiss open data — trains, weather, rivers, maps, and companies. It provides 76 tools, requires no API keys or registration, and runs with just npx mcp-swiss.
How to use Swiss open data for AI — zero config, zero API keys?
Run npx mcp-swiss in any MCP-compatible client. No API keys, no .env files, no accounts. Configure the server in your client using the stdio transport command npx -y mcp-swiss. Optionally load only specific modules using --modules or --preset flags.
Key features of Swiss open data for AI — zero config, zero API keys
- Zero configuration, no API keys or accounts needed
- 76 tools across 21 modules of Swiss open data
- Supports transport, weather, hydrology, geodata, companies, holidays, parliament, avalanche, air quality, Swiss Post, energy, statistics, SNB rates, recycling, news, voting, dams, hiking, real estate, traffic, and earthquakes
- One-click install via
.mcpbbundles - Module filtering and presets for token efficiency
- Docker image available on Docker Hub and GitHub Container Registry
Use cases of Swiss open data for AI — zero config, zero API keys
- Plan train journeys between Swiss cities with live departure and arrival information
- Check current weather, river levels (e.g., Aare swimming), and avalanche danger
- Search for Swiss companies by name, canton, or address in the federal registry
- Look up public and school holidays by canton for any year
- Retrieve Swiss parliamentary bills, votes, and member information
FAQ from Swiss open data for AI — zero config, zero API keys
Does it require any API keys or registration?
No, it requires zero API keys, no registration, and no .env files. Just run npx mcp-swiss.
What runtime is needed?
Node.js is required; the server runs via npx. The package is available on npm and also as a Docker image.
How many tools does it provide and can I load only a subset?
It provides 76 tools across 21 modules. You can load specific modules using --modules (e.g., transport,weather) or use built-in presets like commuter, outdoor, business, citizen, or minimal.
What transport protocol does it use?
mcp-swiss uses stdio transport. It works with any MCP-compatible client by adding the command npx -y mcp-swiss to the client's MCP server configuration.
Where does the data come from?
Data is sourced from Swiss open data authorities including SBB, MeteoSwiss, BAFU, swisstopo, ZEFIX federal registry, OpenParlData.ch, SLF, NABEL, Swiss Post, ElCom, BFS, SNB, OpenERZ, SRF, Basel-Stadt open data, SFOE, and the Swiss Seismological Service.
Frequently asked questions
Does it require any API keys or registration?
No, it requires zero API keys, no registration, and no `.env` files. Just run `npx mcp-swiss`.
What runtime is needed?
Node.js is required; the server runs via `npx`. The package is available on npm and also as a Docker image.
How many tools does it provide and can I load only a subset?
It provides 76 tools across 21 modules. You can load specific modules using `--modules` (e.g., transport,weather) or use built-in presets like `commuter`, `outdoor`, `business`, `citizen`, or `minimal`.
What transport protocol does it use?
`mcp-swiss` uses stdio transport. It works with any MCP-compatible client by adding the command `npx -y mcp-swiss` to the client's MCP server configuration.
Where does the data come from?
Data is sourced from Swiss open data authorities including SBB, MeteoSwiss, BAFU, swisstopo, ZEFIX federal registry, OpenParlData.ch, SLF, NABEL, Swiss Post, ElCom, BFS, SNB, OpenERZ, SRF, Basel-Stadt open data, SFOE, and the Swiss Seismological Service.
Basic information
More Developer Tools MCP servers

Termany
thinkany-aiAgent-Native Terminal
SecondSim
econdSim provisions real UK mobile numbers (non-VoIP) via eSIM, built for freelancers, sole traders, small businesses, and enterprise teams. Unlike VoIP apps and virtual numbers, SecondSim numbers register as genuine phy

Routebase
RoutebaseRoutebase keeps your API's design, docs, contract tests, mocks and monitoring in one living OpenAPI spec so they can't drift apart. Agents work on that same source of truth, under your team's permissions.

Skycloak
Manage your Skycloak-hosted Keycloak: clusters, realms, apps, SSO and users, from any MCP client.
LocalCan
LocalCanGives AI agents public URLs (tunnels) for localhost, live HTTP traffic inspection, snapshot publishing, and access control. Part of LocalCan, the ngrok alternative for Mac, Windows and Linux. Free plan.
Comments