Berlin Open Data MCP Server
Enables interaction with Berlin's open data catalog through tools for full-text search, metadata retrieval, and dataset analysis. It provides access to over 2,500 datasets across categories like transport, health, and education using the Model Context Protocol.
README
Berlin Open Data MCP Server
MCP Server fuer den Zugriff auf Open Data des Landes Berlin. Bietet 6 Tools fuer CKAN-Katalogsuche, Analyse und Exploration ueber 2500+ Datensaetze.
Wie funktioniert das?
Dieser Server implementiert das Model Context Protocol (MCP) — ein offener Standard, ueber den KI-Assistenten auf externe Datenquellen zugreifen koennen.
Der Ablauf im Detail:
- Verbindung: Der KI-Client (z.B. Claude Desktop) startet den MCP-Server als Hintergrundprozess und kommuniziert ueber stdin/stdout (JSON-RPC).
- Tool-Discovery: Beim Start fragt der Client den Server nach verfuegbaren Tools. Der Server liefert fuer jedes Tool Name, Beschreibung und Parameter-Schema (definiert ueber Pydantic-Models). Diese Beschreibungen dienen dem KI-Modell als Entscheidungsgrundlage.
- Ausfuehrung: Stellt ein Nutzer eine Frage wie "Welche Kita-Daten gibt es in Berlin?", erkennt das Modell anhand der Tool-Beschreibungen, dass
berlin_search_datasetsmitquery="Kita"die passende Aktion ist. Der Client sendet den Tool-Call an den Server, dieser fragt die CKAN API ab und liefert die Ergebnisse als Markdown zurueck. - Antwort: Das KI-Modell fasst die zurueckgelieferten Daten fuer den Nutzer zusammen.
Die Qualitaet der Tool- und Parameter-Beschreibungen im Code ist dabei entscheidend — sie bestimmen, wie zuverlaessig das Modell das richtige Tool mit den richtigen Parametern waehlt.
Features
- 6 MCP Tools fuer Datensatz-Suche, Details, Kategorien, Tags, Analyse und Katalog-Statistiken
- 2 MCP Resources fuer direkten Zugriff auf Datensaetze und Kategorien
- 2500+ Datensaetze ueber die CKAN API (datenregister.berlin.de)
- 25 Kategorien: Arbeit, Bildung, Demographie, Gesundheit, Kultur, Umwelt, Verkehr, Verwaltung, Wirtschaft, Wohnen u.v.m.
Installation
uv sync
Verwendung
Stdio (lokal, z.B. Claude Desktop)
uv run berlin-opendata-mcp
SSE (remote)
MCP_TRANSPORT=sse MCP_PORT=8000 uv run berlin-opendata-mcp
Konfiguration
Claude Desktop
Editiere die Claude Desktop Config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"berlin-opendata": {
"command": "uv",
"args": ["run", "berlin-opendata-mcp"],
"env": {}
}
}
}
Claude Code (CLI)
claude mcp add berlin-opendata -- uv run berlin-opendata-mcp
Cursor / Windsurf / VS Code
Fuege zu .cursor/mcp.json bzw. .vscode/settings.json hinzu:
{
"mcpServers": {
"berlin-opendata": {
"command": "uv",
"args": ["run", "berlin-opendata-mcp"]
}
}
}
Remote (SSE) – z.B. fuer ChatGPT, Open WebUI
MCP_TRANSPORT=sse MCP_PORT=8000 uv run berlin-opendata-mcp
Dann den SSE-Endpunkt http://localhost:8000/sse im Client eintragen.
Beispiel-Abfragen
Nach der Konfiguration kannst du den AI-Assistenten fragen:
- "Welche Datensaetze gibt es zu Kitas in Berlin?"
- "Zeig mir die Kategorien im Berliner Open-Data-Katalog"
- "Wie viele Datensaetze hat Berlin insgesamt?"
- "Finde Datensaetze zum Thema Einwohner in Berlin"
- "Welche Datenformate sind im Berliner Katalog am haeufigsten?"
Tools
| Tool | Beschreibung |
|---|---|
berlin_search_datasets |
Volltextsuche ueber 2500+ Datensaetze (Solr-Syntax) |
berlin_get_dataset |
Vollstaendige Metadaten + Download-URLs eines Datensatzes |
berlin_list_categories |
25 thematische Kategorien durchsuchen |
berlin_list_tags |
Tag-basierte Suche |
berlin_analyze_datasets |
Relevanz-, Aktualitaets- und Format-Analyse |
berlin_catalog_stats |
Katalog-Uebersicht mit Statistiken |
Resources
| URI | Beschreibung |
|---|---|
berlin://dataset/{name} |
Datensatz-Metadaten (JSON) |
berlin://category/{group_id} |
Kategorie-Details mit Datensaetzen |
Kategorien
arbeit, bildung, demographie, erholung, geo, gesundheit, gleichstellung, jugend, justiz, kultur, oeffentlich, protokolle, sicherheit, sonstiges, sozial, tourismus, transport, umwelt, verbraucher, verentsorgung, verkehr, verwaltung, wahl, wirtschaft, wohnen
Hinweise
- Kein DataStore: Berlins CKAN dient als Katalog mit Download-Links. Daten muessen ueber Ressourcen-URLs heruntergeladen werden.
- Lizenzen: CC0, CC-BY, Datenlizenz Deutschland (Zero/Namensnennung), GeoNutzV u.a.
- API:
datenregister.berlin.de/api/3/action/(oeffentlich, keine Authentifizierung) - Portal: daten.berlin.de
Entwicklung
uv run ruff check src/
uv run ruff format src/
Lizenz
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.