compare_electricity_tariffs
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.
76 tools over official Swiss open data — trains, weather, rivers, maps, the company registry, parliament — with no API key to obtain.
LABSCO SUMMARY
Every answer traces to a named official source — SBB and PostBus for transport, MeteoSwiss, BAFU, swisstopo, ZEFIX, SLF, the SNB and the Federal Statistical Office. Load it whole only if you genuinely roam that widely; otherwise pass --modules or --preset so a commute question does not drag the parliament and earthquake tools along with it.
A single server fronting a long list of Swiss public data sources, each already public and unauthenticated, exposed as tools grouped into modules you can switch on individually.
No account, no API key and no registration — every source behind it is Swiss open data. It runs over stdio: npx mcp-swiss, the Docker image vikramgorla/mcp-swiss, or the .mcpb bundle for one-click install in Claude Desktop. --modules and --preset trim what loads — the commuter preset keeps transport, weather and holidays at 14 tools and minimal keeps transport alone at 5 — and --list-modules and --list-presets show what is on offer.
One command — npx mcp-swiss
USE CASES
Find the two stations, plan the connection, and check live departures before leaving.
Read the current water level and temperature at the hydrological station, alongside the local weather.
Search the federal registry by name, then pull the full entry by its registry ID.
Search the affairs, then read the recorded votes and the debate speeches on the one you care about.
Read the avalanche bulletin and snow conditions, then check for trail closures near where you are going.
Find the municipality ID, read its tariff, then compare it against neighbouring municipalities.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
compare_electricity_tariffsCompare Swiss electricity tariffs across multiple municipalities side-by-side. Returns prices sorted from cheapest to most expensive. Useful for relocation decisions or cost analysis.
geocodeConvert a Swiss address or place name to coordinates (swisstopo)
get_air_qualityGet 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).
get_arrivalsGet live arrivals at a Swiss transport station
get_avalanche_bulletinGet 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).
get_committee_meetingsGet Swiss parliament committee/commission meeting schedule. Optionally filter by committee group ID.
get_companyGet 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.
get_connectionsGet train/bus connections between two Swiss locations
get_dam_detailsGet 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_dams_by_cantonList 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_departuresGet live departures from a Swiss transport station
get_earthquake_detailsGet 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.
get_electricity_tariffGet 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.
get_exchange_rateGet the current CHF exchange rate for a currency from the Swiss National Bank (SNB). Returns the latest monthly average rate and currency details.
get_exchange_rate_historyGet 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_municipalityGet information about a Swiss municipality by name
get_nearby_stationsFind Swiss public transport stations near given coordinates
get_parliament_membersList current or past Swiss Parliament members (National Council and Council of States). Filter by canton or party.
get_parliament_votesGet voting results for a specific parliamentary affair (Geschäft). Returns all recorded votes for the given affair ID from OpenParlData.
get_parliamentary_documentsGet official documents for a parliamentary affair — reports, committee opinions, federal council statements.
get_politician_interestsGet declared interests and mandates of a Swiss parliament member — board memberships, consulting roles, organizations.
get_populationGet 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).
get_property_price_indexGet 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.
get_public_holidaysGet Swiss public holidays for a given year, optionally filtered by canton (e.g. ZH, BE, GE). Returns national and canton-specific holidays.
get_recent_earthquakesGet 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_rent_indexGet 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_school_holidaysGet Swiss school holidays for a given year, optionally filtered by canton. Returns holiday periods (start/end dates) by canton.
get_session_scheduleGet upcoming and recent Swiss parliament sessions (Sessionen). Shows session names, dates and types.
get_snow_conditionsGet 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.
get_snow_measurementsGet 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.
get_solar_potentialGet rooftop solar energy potential for a location in Switzerland
get_statisticFetch details and resource links for a specific BFS/OFS dataset by its opendata.swiss identifier. Use search_statistics first to find dataset IDs.
get_swiss_newsGet the latest Swiss news headlines from SRF (Schweizer Radio und Fernsehen). Returns top news articles with title, description, link, and publication date.
get_traffic_by_cantonList ASTRA traffic counting stations in a Swiss canton. Returns up to 20 stations with traffic data.
get_traffic_countGet 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.
get_traffic_nearbyFind ASTRA traffic counting stations near a geographic coordinate in Switzerland. Returns nearby stations with traffic volume data.
get_trail_closuresGet 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.
get_trail_closures_nearbyFind 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_vote_detailsGet detailed breakdown of a specific Swiss popular vote, including per-district results for Basel-Stadt (Basel city, Riehen, Bettingen, and overseas voters).
get_voting_resultsGet 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.
get_waste_calendarGet 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_waste_collectionGet 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).
get_water_historyGet historical river/lake water level data for a Swiss hydrological station
get_water_levelGet current river or lake water level and temperature at a Swiss hydrological station
get_weatherGet current weather conditions at a Swiss MeteoSwiss station (e.g. BER=Bern, ZUE=Zürich, LUG=Lugano)
get_weather_historyGet historical weather data for a Swiss station
identify_locationIdentify geographic features and data layers at a specific Swiss location
is_holiday_todayCheck whether today is a Swiss public holiday, optionally for a specific canton. Returns the holiday name if it is one.
list_air_quality_stationsList 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.
list_avalanche_regionsList 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_cantonsList all Swiss cantons with their codes
list_currenciesList all currencies available from the Swiss National Bank (SNB) for CHF exchange rate data. Returns currency codes, names, and regions.
list_hydro_stationsList all available BAFU hydrological monitoring stations (rivers and lakes) in Switzerland
list_legal_formsList all Swiss company legal forms (AG, GmbH, etc.)
list_postcodes_in_cantonList all Swiss postcodes (PLZ) in a given canton. Accepts 2-letter canton codes (ZH, BE, GR…) or full names. Source: Swiss federal geodata (swisstopo).
list_snow_stationsList 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.
list_waste_typesList 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).
list_weather_stationsList all available MeteoSwiss weather stations in Switzerland
lookup_postcodeLook up a Swiss postcode (PLZ) to get locality name, canton, and coordinates. Source: Swiss federal geodata (swisstopo).
reverse_geocodeConvert coordinates to a Swiss address (swisstopo)
search_cantonal_affairsSearch political affairs across Swiss cantonal parliaments (Kantonsräte). Covers all 26 cantons via OpenParlData.
search_companiesSearch Swiss company registry (ZEFIX) by name, canton, or legal form
search_companies_by_addressSearch Swiss companies registered at a specific address or locality
search_damsSearch 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.
search_earthquakes_by_locationSearch 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.
search_municipality_energySearch for Swiss municipality IDs needed for electricity tariff lookup. Returns BFS municipality numbers for use with get_electricity_tariff and compare_electricity_tariffs.
search_parliament_businessSearch Swiss Parliament political affairs — bills, motions, interpellations, postulates, questions, and initiatives. Uses OpenParlData.ch full-text search across the Federal Assembly (Bundesversammlung).
search_parliament_speechesGet debate speeches and contributions for a specific parliamentary affair. Returns speaker info and speech details.
search_placesSearch Swiss place names, localities, mountains, and geographic features
search_postcodeSearch Swiss postcodes by city or locality name. Returns all PLZ entries matching the name. Source: Swiss federal geodata (swisstopo).
search_real_estate_dataSearch 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.
search_stationsSearch for Swiss public transport stations/stops by name or coordinates
search_statisticsSearch Swiss Federal Statistical Office (BFS/OFS/UST) datasets on opendata.swiss. Returns matching dataset titles, IDs, and descriptions.
search_swiss_newsSearch Swiss news headlines from SRF by keyword. Searches across all available news categories and returns matching articles.
search_votesSearch Swiss popular votes by keyword in the vote title (e.g. 'Initiative', 'Klimaschutz', 'CO2', 'AHV'). Returns matching votes with yes/no results.
track_parcelGenerate 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.
BEFORE YOU INSTALL
76 tools when we connected. --modules and --preset cut the set on purpose: minimal 5, commuter 14, citizen 17, outdoor 19, business 24.
CONTEXT COST
Rated by the size of the 76 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx mcp-swiss{
"mcpServers": {
"swiss": {
"command": "npx",
"args": [
"-y",
"mcp-swiss"
]
}
}
}download mcp-swiss.mcpb from the latest release and open it
claude mcp add swiss -- npx -y mcp-swiss{
"servers": {
"swiss": {
"command": "npx",
"args": [
"-y",
"mcp-swiss"
]
}
}
}code-insiders --add-mcp '{"name":"swiss","command":"npx","args":["-y","mcp-swiss"]}'{
"mcpServers": {
"mcp-swiss": {
"command": "npx",
"args": [
"-y",
"mcp-swiss"
]
}
}
}{
"mcpServers": {
"swiss": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"vikramgorla/mcp-swiss"
]
}
}
}