{"name":"io.github.vikramgorla/swiss","slug":"vikramgorla-swiss","title":"Switzerland MCP 🇨🇭","description":"Swiss open data MCP server. 94 tools, zero API keys. Transport, weather, geodata, catalogue.","url":"https://mcp.market/server/vikramgorla-swiss","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"maps","tags":["maps"],"presence":{"score":43,"stars":27,"forks":4,"downloads_week":614,"last_push_at":"2026-11-09T07:54:48.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/vikramgorla/mcp-swiss","website":null,"version":"0.9.0","remotes":[],"packages":[{"registryType":"npm","identifier":"mcp-swiss","version":"0.9.0","runtimeHint":"npx","transport":{"type":"stdio"}}],"tools":[{"name":"buildings_near","description":"GWR buildings nearest a WGS84 point (small radius), with EGIDs","write_action":false,"price_micros":0,"input_schema":null},{"name":"compare_electricity_tariffs","description":"Compare electricity tariffs across 2–20 municipalities","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_map_features","description":"Find geo.admin features on one ech MapServer layer by an attribute value.","write_action":false,"price_micros":0,"input_schema":null},{"name":"geocode","description":"Address or place name to WGS84 coordinates (swisstopo)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_air_quality","description":"NABEL station info: location, environment type, legal limits (LRV) and a link to BAFU live data (no measurements returned)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_arrivals","description":"Live arrivals at a station","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_avalanche_bulletin","description":"Live SLF avalanche bulletin: danger level (1-5), avalanche problems with aspect and elevation, validity and advice text, for one warning region, a coordinate, or all of Switzerland. Outside the winter season it reports that no bulletin is in force","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_building","description":"Full GWR record of one building by EGID: construction, floors, areas, heating/hot-water system and energy source, parcel (EGRID), entrances, dwellings","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_committee_meetings","description":"Federal parliament committee meeting schedule","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_company","description":"Full company details by ZEFIX ehraid (from search_companies)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_connections","description":"Train/bus connections between two locations","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_dam_details","description":"Full technical details of one dam by name","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_dams_by_canton","description":"Federally supervised dams in a canton","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_departures","description":"Live departures from a station","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_earthquake_details","description":"Full details of one seismic event by SED event ID","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_electricity_tariff","description":"ElCom electricity tariff (Rp./kWh) for a municipality, with component breakdown","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_exchange_rate","description":"Latest SNB monthly-average CHF exchange rate for a currency","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_exchange_rate_history","description":"Historical SNB monthly-average CHF exchange rates (default: last 90 months)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_municipality","description":"Municipality info by name","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_nearby_stations","description":"Stations near coordinates","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_ogd_history","description":"Get historical MeteoSwiss OGD measurements for one station and date range by parsing the STAC CSV assets.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_ogd_recent","description":"Get the latest MeteoSwiss OGD measurements for one station by reading the STAC CSV asset","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_opendata_dataset","description":"Get metadata for one opendata.swiss dataset by its catalogue name or UUID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_parliament_members","description":"Federal parliament members (National Council, Council of States), filterable by canton/party","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_parliament_votes","description":"Recorded votes on a parliamentary affair (Geschäft)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_parliamentary_documents","description":"Official documents (reports, committee opinions, Federal Council statements) for a parliamentary affair","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_politician_interests","description":"Declared interests and mandates (boards, consulting roles) of a federal parliament member","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_pollen_current","description":"Latest hourly pollen concentrations (alder, birch, hazel, beech, ash, oak, grasses) at a MeteoSwiss station","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_pollen_daily","description":"Daily average pollen concentrations at a MeteoSwiss station","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_population","description":"Permanent resident population (BFS STATPOP) for Switzerland, a canton or all cantons","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_property_price_index","description":"BFS residential property price index (IMPI), quarterly since 2017Q1, Q4 2019 = 100","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_public_holidays","description":"Public holidays for a year, national and cantonal","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_recent_earthquakes","description":"Recent earthquakes in and around Switzerland (SED, ETH Zürich)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_rent_index","description":"BFS consumer price index (CPI/LIK, incl. rents), monthly, Dec 1982 = 100. Not a dedicated rent index; for purchase prices use get_property_price_index","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_school_holidays","description":"School holiday periods for a year, by canton","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_session_schedule","description":"Upcoming and recent federal parliament sessions","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_snow_conditions","description":"Current snow depth and 24h new snow at SLF IMIS stations, deepest first","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_snow_measurements","description":"Measurements for one SLF station: IMIS 30-min snow/weather data, or study-plot daily snow data","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_solar_potential","description":"Rooftop solar potential at a location","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_station_accessibility","description":"Platform accessibility for an SBB station: platform number, length, type, and whether access is rail-free (step-free).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_station_passengers","description":"Passenger counts for an SBB station from the data.sbb.ch frequency dataset.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_station_punctuality","description":"Punctuality for an SBB stop on the previous operating day (ist-daten-sbb target vs actual times).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_statistic","description":"Details and resource links for a BFS dataset by opendata.swiss ID (from search_statistics)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_swiss_news","description":"Latest SRF news headlines","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_traffic_by_canton","description":"ASTRA traffic counting stations in a canton (max 20)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_traffic_count","description":"ASTRA traffic counting station volumes by location name","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_traffic_nearby","description":"ASTRA traffic counting stations near a WGS84 point","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_trail_closures","description":"Current hiking trail closures and detours (ASTRA/Schweizer Wanderwege)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_trail_closures_nearby","description":"Hiking trail closures and detours near a WGS84 point","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_vote_details","description":"Per-district Basel-Stadt results (Basel, Riehen, Bettingen, abroad) for one vote. Give vote_title and/or date","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_voting_results","description":"Popular vote (Volksabstimmung) results as counted in Basel-Stadt: national and cantonal votes since 2021","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_waste_calendar","description":"Monthly waste collection calendar for a ZIP code. Zurich city only (8001–8099, OpenERZ)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_waste_collection","description":"Upcoming waste collection dates for a ZIP code. Zurich city only (8001–8099, OpenERZ)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_water_history","description":"Historical river/lake levels for a BAFU hydro station. Only the last 32 days are available","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_water_level","description":"Current river/lake level and temperature at a BAFU hydro station","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_weather","description":"Current weather at a MeteoSwiss station. For past dates use get_weather_history","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_weather_history","description":"Historical weather readings for a MeteoSwiss station. Only the last 32 days are available","write_action":false,"price_micros":0,"input_schema":null},{"name":"identify_location","description":"Geographic features and swisstopo data layers at a location","write_action":false,"price_micros":0,"input_schema":null},{"name":"identify_map_layer","description":"Identify geo.admin features at a WGS84 point on one ech MapServer layer.","write_action":false,"price_micros":0,"input_schema":null},{"name":"is_holiday_today","description":"Whether today is a public holiday","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_air_quality_stations","description":"List NABEL air-quality monitoring stations (BAFU/Empa)","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_avalanche_regions","description":"The 135 SLF/EAWS avalanche warning regions (id, name, canton) for get_avalanche_bulletin","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_cantons","description":"List cantons with codes","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_currencies","description":"List currencies with SNB CHF exchange rates","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_hydro_stations","description":"List BAFU hydro station IDs (rivers, lakes)","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_legal_forms","description":"List company legal forms (AG, GmbH, ...) with the ids used by search_companies","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_ogd_stations","description":"List MeteoSwiss Open Government Data stations from a STAC collection on data.geo.admin.ch.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_opendata_resources","description":"List downloadable resources (files and services) for an opendata.swiss dataset.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_pollen_stations","description":"List MeteoSwiss pollen stations","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_postcodes_in_canton","description":"List postcodes (PLZ) in a canton","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_snow_stations","description":"List SLF snow stations (IMIS automatic, manual study plots)","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_waste_types","description":"List waste collection types. Zurich city only (OpenERZ)","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_weather_stations","description":"List MeteoSwiss weather station codes","write_action":false,"price_micros":0,"input_schema":null},{"name":"lookup_postcode","description":"Locality, canton and coordinates for a postcode (PLZ)","write_action":false,"price_micros":0,"input_schema":null},{"name":"reverse_geocode","description":"WGS84 coordinates to address (swisstopo)","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_buildings","description":"Find buildings in the federal buildings register (GWR/RegBL) by address; gives EGIDs for get_building","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_cantonal_affairs","description":"Search affairs in a cantonal parliament (Kantonsrat), all 26 cantons","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_companies","description":"Search the ZEFIX commercial register by company name, optionally filtered by canton/legal form","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_companies_by_locality","description":"Companies whose registered seat is in a commune/town. ZEFIX has no street-address search","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_dams","description":"Search federally supervised dams by dam or reservoir name (SFOE)","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_earthquakes_by_location","description":"Earthquakes within a radius of a WGS84 point (SED)","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_map_layers","description":"Search or list layers in the geo.admin ech MapServer catalogue (all federal geospatial layers).","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_municipality_energy","description":"Find municipality BFS numbers for the electricity tariff tools","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_opendata","description":"Search the Swiss open data catalogue (opendata.swiss) for datasets.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_parliament_business","description":"Full-text search of federal parliament affairs (bills, motions, interpellations, postulates, questions, initiatives). For cantonal parliaments use search_cantonal_affairs","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_parliament_speeches","description":"Debate speeches on a parliamentary affair","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_places","description":"Search place names, localities, mountains, geographic features","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_postcode","description":"Postcodes (PLZ) for a city/locality name","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_real_estate_data","description":"Search opendata.swiss for real-estate/housing datasets (prices, rents, construction, vacancies)","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_stations","description":"Search public transport stations/stops by name or coordinates","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_statistics","description":"Search BFS datasets on opendata.swiss","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_swiss_news","description":"Keyword search in current SRF headlines (all categories)","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_votes","description":"Search popular votes by title keyword (Basel-Stadt results)","write_action":false,"price_micros":0,"input_schema":null},{"name":"swiss_call_tool","description":"Run one tool by name. Arguments are checked against that tool's schema before it runs.","write_action":true,"price_micros":0,"input_schema":null},{"name":"swiss_list_modules","description":"List Swiss open-data modules and the tool names in each.","write_action":false,"price_micros":0,"input_schema":null},{"name":"swiss_search_tools","description":"Find Swiss open-data tools. Pass a keyword, a module, or both. Returns matching names, descriptions, and input schemas.","write_action":false,"price_micros":0,"input_schema":null},{"name":"track_parcel","description":"Swiss Post tracking page URL for a tracking number (no live status: there is no public tracking API)","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-11-12T20:06:40.218Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-12T20:06:40.162Z","components":{"code":{"score":25,"max":25,"notes":["117 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"mcp-swiss","version":"0.9.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-11-03T03:47:37.947Z","repositoryUrl":"git+https://github.com/vikramgorla/mcp-swiss.git","weeklyDownloads":614}],"repo":{"found":true,"owner":"vikramgorla","repo":"mcp-swiss","archived":false,"pushedAt":"2026-11-09T07:54:48Z","stars":27,"forks":4,"openIssues":8,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/5608153?v=4","ownerCreatedAt":"2013-10-04T02:18:27Z","license":"MIT"},"icon":{"url":"https://raw.githubusercontent.com/vikramgorla/mcp-swiss/main/assets/icon.svg","source":"registry"},"presence":{"stars":27,"forks":4,"downloadsWeek":614,"license":"MIT","lastPushAt":"2026-11-09T07:54:48.000Z","score":43}}}},"grade_history":[],"reviews":[]}