Swiss open data MCP server — 68 tools across 20 modules. Zero API keys.
Swiss open data MCP server — 68 tools across 20 modules. Zero API keys.
mcp-swiss is a Model Context Protocol server that gives any AI assistant direct access to Swiss open data — trains, weather, rivers, maps, and companies.
Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| search_stations | Find stations/stops by name or location |
| get_connections | Journey planner between any two points |
| get_departures | Live departures from a station |
| get_arrivals | Live arrivals at a station |
| get_nearby_stations | Stations near coordinates |
| get_weather | Current conditions at a MeteoSwiss station |
| list_weather_stations | All ~160 MeteoSwiss stations with metadata |
| get_weather_history | Historical weather data (up to 32 days) |
| get_water_level | River/lake level + temperature (BAFU) |
| list_hydro_stations | All 400+ hydrological monitoring stations |
| get_water_history | Historical hydrology data |
| geocode | Swiss address → coordinates |
| reverse_geocode | Coordinates → Swiss address |
| search_places | Swiss place names, mountains, lakes, features |
| get_solar_potential | Rooftop solar irradiation at a location |
| identify_location | All geographic data layers at a point |
| get_municipality | Municipality info by name |
| search_companies | Search by name, canton, legal form |
| get_company | Full company details by ZEFIX ehraid |
| search_companies_by_address | Companies registered at an address |
| list_cantons | All 26 Swiss cantons |
| list_legal_forms | AG, GmbH, and all Swiss legal forms |
| get_public_holidays | Swiss public holidays by year, optionally filtered by canton |
| get_school_holidays | School holiday periods by year and canton |
| is_holiday_today | Quick check if today is a public holiday |
| search_parliament_business | Search federal political affairs (bills, motions, questions) |
| get_parliament_members | List parliament members by canton, party, or activity |
| get_parliament_votes | Voting results for a specific affair |
| get_session_schedule | Upcoming/recent parliament sessions |
| search_parliament_speeches | Debate speeches for an affair |
| get_politician_interests | Declared interests and mandates of a member |
| search_cantonal_affairs | Search across 26 cantonal parliaments |
| get_parliamentary_documents | Official documents for an affair |
| get_committee_meetings | Committee/commission meeting schedule |
| get_avalanche_bulletin | Current avalanche bulletin with danger levels and PDF links |
| list_avalanche_regions | All 22 Swiss avalanche warning regions |
| list_air_quality_stations | All 14 NABEL monitoring stations |
| get_air_quality | Station info, Swiss legal limits (LRV), and BAFU data links |
| lookup_postcode | PLZ → locality, canton, coordinates |
| search_postcode | City name → matching postcodes |
| list_postcodes_in_canton | All postcodes in a canton |
| track_parcel | Generate Swiss Post tracking URL for a parcel |
| get_electricity_tariff | Electricity tariff by municipality with component breakdown |
| compare_electricity_tariffs | Compare electricity prices across municipalities |
| search_municipality_energy | Find municipality ID for tariff lookup |
| get_population | Population by canton or municipality from BFS STATPOP |
| search_statistics | Search BFS datasets on opendata.swiss |
| get_statistic | Fetch detailed dataset information |
| list_currencies | List all currencies available from the Swiss National Bank (SNB) |
| get_exchange_rate | Get the current CHF exchange rate for any currency |
| get_exchange_rate_history | Get historical monthly CHF exchange rates with date filtering |
| get_waste_collection | Next waste collection dates by Zurich ZIP code and waste type |
| list_waste_types | List all supported waste types with descriptions |
| get_waste_calendar | Full waste collection calendar for a ZIP code (upcoming dates) |
| get_swiss_news | Latest Swiss headlines from SRF by category (Switzerland/international/economy) |
| search_swiss_news | Search SRF news by keyword across all categories |
| get_voting_results | Swiss popular vote results from Basel-Stadt open data |
| search_votes | Search popular votes by keyword (German/French/Italian) |
| get_vote_details | Detailed per-district breakdown of a specific vote |
| search_dams | Search Swiss federal dams by name or keyword |
| get_dams_by_canton | List all federal dams in a canton |
| get_dam_details | Detailed info on a specific dam (height, volume, purpose) |
| get_trail_closures | Swiss trail closures and hiking alerts from swisstopo |
| get_trail_closures_nearby | Trail closures near given coordinates |
| get_property_price_index | Swiss property price index (BFS Immo-Monitoring) |
| search_real_estate_data | Search BFS real estate datasets on opendata.swiss |
| get_rent_index | Swiss rent index and housing cost data from BFS |
| get_traffic_count | Traffic counting station data (ASTRA) — daily volumes and heavy traffic share |
| get_traffic_by_canton | List ASTRA traffic counting stations filtered by canton |
| get_traffic_nearby | Find traffic counting stations near given coordinates |
| get_recent_earthquakes | Recent seismic events in/around Switzerland from the Swiss Seismological Service (SED) at ETH Zürich |
| get_earthquake_details | Full details for a specific seismic event by SED event ID |
| search_earthquakes_by_location | Earthquakes near given coordinates with configurable radius, time range, and limit |
| get_snow_conditions | Current snow depth and new snow (24h) across Switzerland from SLF IMIS stations, filterable by canton/altitude |
| list_snow_stations | All 307 SLF snow measurement stations (IMIS automatic + manual study plots) |
| get_snow_measurements | Detailed snow and weather measurements for a specific SLF station |
| get_pollen_current | Current hourly pollen concentrations at any of 16 MeteoSwiss stations (7 types: Alder, Birch, Hazel, Beech, Ash, Oak, Grasses) |
| get_pollen_daily | Daily pollen averages for trend analysis over configurable time range |
| list_pollen_stations | All 16 MeteoSwiss automatic pollen monitoring stations with location details |
{
"mcpServers": {
"swiss": {
"command": "npx",
"args": [
"-y",
"mcp-swiss"
]
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
Contribute, challenge, verify, and query contestable public records on Veritas Acta.
Free web lookups; PDF to Markdown, audio transcripts, screenshots, WHOIS/DNS paid per call via x402.
UK neighbourhood research from government open data: postcode reports, comparisons, 45 datasets.
Dutch address dossier, vehicle, building, elevation, holidays, demographics. Free samples first.
Normalized official data with provenance, aggregations, insights, free samples and agent access.
Normalized official data with provenance, aggregations, insights, free samples and agent access.