Zurich Open Data MCP Server
Enables Claude, ChatGPT, and other MCP-compatible AI assistants to directly query 900+ datasets, geodata, parliamentary proceedings, tourism data, linked data, and real-time environmental and mobility information from the City of Zurich. 20 Tools, 6 Resources, 6 APIs.
đïž Zurich Open Data MCP Server
đ English | Deutsch
MCP (Model Context Protocol) Server fĂŒr den KI-gestĂŒtzten Zugriff auf Open Data der Stadt ZĂŒrich.
Ermöglicht Claude, ChatGPT und anderen MCP-kompatiblen KI-Assistenten den direkten Zugriff auf 900+ DatensĂ€tze, Geodaten, ParlamentsgeschĂ€fte, Tourismusdaten, Linked Data und Echtzeit-Umwelt-/MobilitĂ€tsinformationen der Stadt ZĂŒrich. 20 Tools, 6 Resources, 6 APIs.
âš Features
CKAN Open Data (data.stadt-zuerich.ch)
zurich_search_datasetsâ Volltextsuche mit Solr-Syntax ĂŒber 900+ DatensĂ€tzezurich_get_datasetâ VollstĂ€ndige Metadaten und Download-URLs eines Datensatzeszurich_datastore_queryâ Tabellarische Daten direkt abfragen (Filter, Sortierung)zurich_datastore_sqlâ SQL-Abfragen auf dem DataStorezurich_list_categoriesâ 19 thematische Kategorien durchsuchenzurich_list_tagsâ Tags fĂŒr thematische Suche
Echtzeit-Umweltdaten
zurich_weather_liveâ đ€ïž Aktuelle Wetterdaten (Temperatur, Feuchte, Druck, Regen) von 5 UGZ-Stationenzurich_air_qualityâ đŹïž Live-LuftqualitĂ€t (NOâ, Oâ, PM10, PM2.5) mit WHO-Grenzwertenzurich_water_weatherâ đ ZĂŒrichsee-Daten (Wassertemperatur, Pegel, Wind) alle 10 Min.
Echtzeit-MobilitÀtsdaten
zurich_pedestrian_trafficâ đ¶ Passantenfrequenzen Bahnhofstrasse (3 Standorte, stĂŒndlich)zurich_vbz_passengersâ đ VBZ-Fahrgastzahlen (800'000+ DatensĂ€tze, alle Linien/Haltestellen)zurich_parking_liveâ đ żïž Echtzeit-Belegung von 36 ParkhĂ€usern (ParkenDD)
Geoportal (WFS Geodaten)
zurich_geo_layersâ đ 14 verfĂŒgbare Geodaten-Layer auflistenzurich_geo_featuresâ đ GeoJSON-Features abrufen (Schulanlagen, Quartiere, SpielplĂ€tze, Klimadaten u.v.m.)
Gemeinderat (Paris API)
zurich_parliament_searchâ đïž GemeinderatsgeschĂ€fte durchsuchen (Interpellationen, Motionen, Postulate)zurich_parliament_membersâ đïž Ratsmitglieder suchen (Partei, Kommissionen, Mandate)
ZĂŒrich Tourismus
zurich_tourismâ đš Attraktionen, Restaurants, Hotels, Events (Schema.org-Daten, 4 Sprachen)
Linked Data (SPARQL)
zurich_sparqlâ đ SPARQL-Abfragen auf dem statistischen Linked Data Endpoint
Analyse-Tools
zurich_analyze_datasetsâ Umfassende Analyse: Relevanz, AktualitĂ€t, Datenstrukturzurich_catalog_statsâ Katalog-Ăbersicht mit Statistikenzurich_find_school_dataâ Kuratierte Suche nach schulrelevanten DatensĂ€tzen
MCP Resources
zurich://dataset/{name}â Datensatz-Metadatenzurich://category/{group_id}â Kategorie-Detailszurich://parkingâ Aktuelle Parkplatzdatenzurich://geo/{layer_id}â GeoJSON-Geodaten (14 Layer)zurich://tourism/categoriesâ Tourismus-Kategorien
đ Installation
Voraussetzungen
- Python 3.11+
- pip oder uv
Installation
# Klonen
git clone https://github.com/schulamt-zuerich/zurich-opendata-mcp.git
cd zurich-opendata-mcp
# Installieren
pip install -e .
# Oder mit uv
uv pip install -e .
âïž Konfiguration
Claude Desktop
Editiere ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"zurich-opendata": {
"command": "python",
"args": ["-m", "zurich_opendata_mcp.server"],
"env": {}
}
}
}
Alternativ mit dem installierten Kommando:
{
"mcpServers": {
"zurich-opendata": {
"command": "zurich-opendata-mcp"
}
}
}
Claude Code (CLI)
claude mcp add zurich-opendata -- python -m zurich_opendata_mcp.server
Cursor / VS Code
FĂŒge zu .vscode/settings.json hinzu:
{
"mcpServers": {
"zurich-opendata": {
"command": "python",
"args": ["-m", "zurich_opendata_mcp.server"]
}
}
}
đŹ Beispiel-Abfragen
Nach der Konfiguration kannst du in Claude fragen:
Open Data
- «Welche DatensĂ€tze gibt es zu Schulen in ZĂŒrich?»
- «Zeig mir die Schulferien der Volksschule»
- «Analysiere die verfĂŒgbaren Geodaten»
Echtzeit-Daten
- «Wie warm ist es gerade in ZĂŒrich?» â
zurich_weather_live - «Wie ist die LuftqualitĂ€t heute?» â
zurich_air_quality - «Was ist die aktuelle Wassertemperatur im ZĂŒrichsee?» â
zurich_water_weather - «Wie viele freie ParkplĂ€tze gibt es gerade?» â
zurich_parking_live - «Wie viele Leute sind gerade auf der Bahnhofstrasse?» â
zurich_pedestrian_traffic
Geodaten
- «Zeig mir alle Schulanlagen in ZĂŒrich als GeoJSON» â
zurich_geo_features - «Welche Geodaten-Layer gibt es?» â
zurich_geo_layers - «Wo sind die SpielplĂ€tze in ZĂŒrich?»
Gemeinderat
- «Welche Vorstösse zum Thema Schule gab es im Gemeinderat?» â
zurich_parliament_search - «Welche Ratsmitglieder gehören der SP an?» â
zurich_parliament_members
Tourismus & Statistik
- «Welche Restaurants empfiehlt ZĂŒrich Tourismus?» â
zurich_tourism - «Wie hat sich die Bevölkerung ZĂŒrichs entwickelt?» â
zurich_sparql
đ Datenquellen
| API | Endpoint | Daten |
|---|---|---|
| CKAN | data.stadt-zuerich.ch/api/3/ | 900+ Open Data DatensÀtze |
| Geoportal WFS | ogd.stadt-zuerich.ch/wfs/geoportal | 14 Geodaten-Layer (GeoJSON) |
| Paris API | gemeinderat-zuerich.ch/api | ParlamentsgeschÀfte & Mitglieder |
| ZĂŒrich Tourismus | zuerich.com/en/api/v2/data | Attraktionen, Restaurants, Hotels |
| SPARQL | ld.stadt-zuerich.ch/query | Linked Open Data / Statistiken |
| ParkenDD | api.parkendd.de/Zuerich | Echtzeit-Parkplatzbelegung |
đ VerfĂŒgbare Datenkategorien
| Kategorie | ID |
|---|---|
| Arbeit und Erwerb | arbeit-und-erwerb |
| Basiskarten | basiskarten |
| Bauen und Wohnen | bauen-und-wohnen |
| Bevölkerung | bevolkerung |
| Bildung | bildung |
| Energie | energie |
| Finanzen | finanzen |
| Freizeit | freizeit |
| Gesundheit | gesundheit |
| KriminalitÀt | kriminalitat |
| Kultur | kultur |
| MobilitÀt | mobilitat |
| Politik | politik |
| Preise | preise |
| Soziales | soziales |
| Tourismus | tourismus |
| Umwelt | umwelt |
| Verwaltung | verwaltung |
| Volkswirtschaft | volkswirtschaft |
đ VerfĂŒgbare Geo-Layer
| Layer-ID | Beschreibung |
|---|---|
schulanlagen | Schulstandorte (KindergÀrten, SchulhÀuser, Horte) |
schulkreise | Schulkreis-Grenzen |
schulwege | Schulwege und sichere Routen |
stadtkreise | Stadtkreis-Grenzen |
quartiere | Statistische Quartiere |
spielplaetze | SpielplÀtze und Spielanlagen |
sportanlagen | Sportanlagen und SchwimmbÀder |
klimadaten | Klimadaten (Temperaturen, Hitzeinseln) |
veloparkierung | Veloparkierungs-Anlagen |
lehrpfade | Lehrpfade und Bildungswege |
familienberatung | Familienberatungs-Treffpunkte |
kreisbuero | KreisbĂŒros der Stadt ZĂŒrich |
sammelstelle | Abfall-Sammelstellen |
zweiradparkierung | Zweiradparkierung |
đïž Projektstruktur
zurich-opendata-mcp/
âââ src/zurich_opendata_mcp/
â âââ __init__.py # Package
â âââ server.py # MCP Server mit 20 Tools & 6 Resources
â âââ api_client.py # HTTP-Client fĂŒr 6 APIs
âââ tests/
â âââ test_integration.py # 20 Integrationstests
âââ .github/workflows/ci.yml # GitHub Actions CI
âââ pyproject.toml # Projekt-Konfiguration
âââ README.md / README_EN.md # Dokumentation (DE/EN)
âââ CONTRIBUTING.md / _EN.md # Beitragsrichtlinien (DE/EN)
âââ CHANGELOG.md # Ănderungsprotokoll
âââ LICENSE # MIT
âââ claude_desktop_config.json
đ§Ș Entwicklung
# Dev-Dependencies installieren
pip install -e ".[dev]"
# Integrationstests (gegen Live-APIs)
python tests/test_integration.py
# Linting
ruff check src/
đ Lizenz
MIT License
đ€ Kontext
Alle genutzten Daten stehen unter offenen Lizenzen (CC0 / Open by Default seit 2021).
Powered by Model Context Protocol âą 6 APIs âą 20 Tools âą 6 Resources
Related Servers
LanceDB
A vector database server for storing, searching, and managing vector embeddings.
OracleDB MCP Server
An MCP server for interacting with Oracle Database, enabling SQL generation and data retrieval via LLM prompts.
UniProt MCP Server
Fetch protein information from the UniProt database.
Inertia
Inertia is a property of things that matter. Let Claude remember them across sessions.
Chroma MCP Server
An MCP server for the Chroma embedding database, providing persistent, searchable working memory for AI-assisted development with features like automated context recall and codebase indexing.
Self-Hosted Supabase MCP Server
Interact with self-hosted Supabase instances for database introspection, management, and interaction.
DBeaver MCP Server
Integrates with DBeaver to provide AI assistants access to over 200 database types using existing connections.
Mantora
Mantora is a local-first MCP observer: a lightweight UI + proxy for inspecting LLM data access (sessions, tool calls, results) with protective defaults.
Unity Catalog MCP Server
An MCP server that allows LLM agents to seamlessly execute functions within Unity Catalog.
MCP Alchemy
Explore, query, and analyze SQLAlchemy-compatible databases directly from your desktop.