zurich-opendata
MCP Server für Open Data der Stadt Zürich – 20 Tools für CKAN, Geodaten, Gemeinderat, Tourismus, SPARQL und Echtzeitdaten (Wetter, Luft, See, Parking, ÖV). 6 APIs, 6 Resources.
claude mcp add --transport stdio malkreide-zurich-opendata-mcp python -m zurich_opendata_mcp.server
How to use
This MCP server exposes Zurich Open Data through a set of 20 tools and 6 resources, enabling AI assistants like Claude or ChatGPT to query datasets, geospatial data, real-time environmental and mobility information, tourism data, and SPARQL-backed linked data. Core capabilities include CKAN Open Data search and retrieval (e.g., zurich_search_datasets, zurich_get_dataset), real-time environmental feeds (zurich_weather_live, zurich_air_quality, zurich_water_weather), mobility stats (zurich_pedestrian_traffic, zurich_vbz_passengers, zurich_parking_live), geospatial access (zurich_geo_layers, zurich_geo_features), Gemeinderat data (zurich_parliament_search, zurich_parliament_members), tourism and statistics (zurich_tourism, zurich_sparql), and data analysis tools (zurich_analyze_datasets, zurich_catalog_stats, zurich_find_school_data). You can query these tools via natural language prompts and have the MCP server translate requests into the appropriate API calls and data formats. Use the configured MCP server name zurich-opendata in your client (Claude, VS Code, or CLI) to route questions to the corresponding tool via the MCP protocol.
How to install
Prerequisites:
- Python 3.11+
- pip or uvw
Installation steps:
- Clone the repository:
git clone https://github.com/schulamt-zuerich/zurich-opendata-mcp.git
cd zurich-opendata-mcp
- Install in editable mode:
pip install -e .
- (Optional for uv) If using uv, install with uv in front of the command as shown:
udb
- Run the MCP server (examples):
python -m zurich_opendata_mcp.server
- Verify the server starts and is reachable by your MCP client (Claude, VS Code integration, or CLI) using the server name zurich-opendata.
Note: The project provides alternative startup methods in the README, such as using a ready-made CLI entry if installed as an executable, but the standard approach is to run the Python module as shown above.
Additional notes
Tips and common issues:
- Ensure Python 3.11+ is used to match the package requirements.
- If you encounter dependency issues, install with the editable flag (pip install -e .) to ensure local changes are reflected.
- The MCP configuration uses the server name zurich-opendata. If you run Claude or VS Code, ensure their mcpServers entry matches this name.
- Environment variables can be populated in the mcpServers["zurich-opendata"].env dictionary if your deployment requires API keys or custom endpoints.
- When testing, start the server locally and verify endpoints with a simple MCP client or curl-based test harness to confirm tool availability before full integration.
Related MCP Servers
mcp-language
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
neurolink
Universal AI Development Platform with MCP server integration, multi-provider support, and professional CLI. Build, test, and deploy AI applications with multiple ai providers.
MCP-BOE
MCP server para el BOE 🇪🇸 — Acceso a legislación consolidada, sumarios diarios y tablas oficiales del Boletín Oficial del Estado mediante Model Context Protocol y API REST.
portaljs
MCP server for PortalJS
cv-resume-builder
AI-powered CV and resume builder using Model Context Protocol. Automatically sync your achievements from Jira, Credly, LinkedIn, and git. Keep your CV always up-to-date.
mcp-json-yaml-toml
A structured data reader and writer like 'jq' and 'yq' for AI Agents