malkreide avatar

Zurich Opendata Mcp

malkreide/zurich-opendata-mcp

Hooks Claude directly into Zurich's open data infrastructure across six different APIs. You get 24 tools covering everything from real-time parking occupancy and air quality readings to parliamentary proceedings and 900+ CKAN datasets. The geoportal integration exposes 14 WFS layers as GeoJSON, the Paris API surfaces city council members and motions, and the DataStore tools let you run SQL queries on tabular data without downloading files. No authentication required. Useful when you need Swiss municipal data for location-aware applications, civic tech projects, or environmental monitoring dashboards. The tourism endpoint returns Schema.org structured data in four languages, and the pedestrian traffic tool pulls hourly counts from Bahnhofstrasse sensors.

GitHub stars
8
tools
24
transport
STDIO
last updated
Sep 20, 2026

Tools

24 tools

Public tool metadata for what this MCP can expose to an agent.

zurich_search_datasetsFull-text search with Solr syntax across 900+ datasets

Full-text search with Solr syntax across 900+ datasets

No parameter schema in public metadata yet.

zurich_get_datasetComplete metadata and download URLs for a dataset

Complete metadata and download URLs for a dataset

No parameter schema in public metadata yet.

zurich_datastore_queryQuery tabular data directly (filters, sorting)

Query tabular data directly (filters, sorting)

No parameter schema in public metadata yet.

zurich_datastore_sqlSQL queries on the DataStore

SQL queries on the DataStore

No parameter schema in public metadata yet.

zurich_list_categoriesBrowse 19 thematic categories

Browse 19 thematic categories

No parameter schema in public metadata yet.

zurich_list_tagsTag-based thematic search

Tag-based thematic search

No parameter schema in public metadata yet.

zurich_weather_liveCurrent weather (temperature, humidity, pressure, rain) from 4 UGZ stations

Current weather (temperature, humidity, pressure, rain) from 4 UGZ stations

No parameter schema in public metadata yet.

zurich_air_qualityLive air quality (NO₂, O₃, PM10, PM2.5) with WHO thresholds

Live air quality (NO₂, O₃, PM10, PM2.5) with WHO thresholds

No parameter schema in public metadata yet.

zurich_water_weatherLake Zurich data (water temperature, level, wind) every 10 min

Lake Zurich data (water temperature, level, wind) every 10 min

No parameter schema in public metadata yet.

zurich_pedestrian_trafficPedestrian counts on Bahnhofstrasse (3 locations, hourly)

Pedestrian counts on Bahnhofstrasse (3 locations, hourly)

No parameter schema in public metadata yet.

zurich_vbz_passengersVBZ public transit ridership (800,000+ records, all lines/stops)

VBZ public transit ridership (800,000+ records, all lines/stops)

No parameter schema in public metadata yet.

zurich_parking_liveReal-time occupancy of 36 parking garages (ParkenDD)

Real-time occupancy of 36 parking garages (ParkenDD)

No parameter schema in public metadata yet.

zurich_geo_layersList 14 available geodata layers

List 14 available geodata layers

No parameter schema in public metadata yet.

zurich_geo_featuresFetch GeoJSON features (schools, districts, playgrounds, climate data, etc.)

Fetch GeoJSON features (schools, districts, playgrounds, climate data, etc.)

No parameter schema in public metadata yet.

zurich_parliament_searchSearch parliamentary proceedings (interpellations, motions, postulates)

Search parliamentary proceedings (interpellations, motions, postulates)

No parameter schema in public metadata yet.

zurich_parliament_membersSearch council members (party, commissions, mandates)

Search council members (party, commissions, mandates)

No parameter schema in public metadata yet.

zurich_tourismAttractions, restaurants, hotels, events (Schema.org data, 4 languages)

Attractions, restaurants, hotels, events (Schema.org data, 4 languages)

No parameter schema in public metadata yet.

zurich_sparqlSPARQL queries on the statistical linked data endpoint (not registered by default; opt in with ZURICH_OPENDATA_ENABLE_SPARQL=1)

SPARQL queries on the statistical linked data endpoint (not registered by default; opt in with ZURICH_OPENDATA_ENABLE_SPARQL=1)

No parameter schema in public metadata yet.

zurich_strb_searchFull-text search of public council resolutions (title, department, date range)

Full-text search of public council resolutions (title, department, date range)

No parameter schema in public metadata yet.

zurich_strb_by_departmentList all resolutions of a department (e.g. SSD, FD, PRD)

List all resolutions of a department (e.g. SSD, FD, PRD)

No parameter schema in public metadata yet.

zurich_strb_detailSingle resolution by NNNN/YYYY number

Single resolution by NNNN/YYYY number

No parameter schema in public metadata yet.

zurich_analyze_datasetsComprehensive analysis: relevance, recency, data structure

Comprehensive analysis: relevance, recency, data structure

No parameter schema in public metadata yet.

zurich_catalog_statsCatalog overview with statistics

Catalog overview with statistics

No parameter schema in public metadata yet.

zurich_find_school_dataCurated search for education-related datasets

Curated search for education-related datasets

No parameter schema in public metadata yet.

Sponsors

Readme

🇨🇭 Part of the Swiss Public Data MCP Portfolio

🏙️ Zurich Open Data MCP Server

PyPI License: MIT Python 3.11+ MCP No Auth Required CI

🌐 English | Deutsch

An MCP (Model Context Protocol) server providing AI-powered access to Open Data from the City of Zurich, Switzerland.


View the full README on GitHub

Details

Repository
github.com/malkreide/zurich-opendata-mcp
Website
github.com/malkreide/zurich-opendata-mcp
Package
zurich-opendata-mcp
Transport
STDIO
Registry
MCP registry, active

More from malkreide