Skip to main content
Glama
Berlin Open Data MCP Server

Berlin Open Data MCP Server

by tifa365

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:

  1. Verbindung: Der KI-Client (z.B. Claude Desktop) startet den MCP-Server als Hintergrundprozess und kommuniziert ueber stdin/stdout (JSON-RPC).

  2. 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.

  3. Ausfuehrung: Stellt ein Nutzer eine Frage wie "Welche Kita-Daten gibt es in Berlin?", erkennt das Modell anhand der Tool-Beschreibungen, dass berlin_search_datasets mit query="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.

  4. 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.

Related MCP server: Datos.gob.es-MCP

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

Available Tools

6 tools
berlin_analyze_datasetsA
Read-onlyIdempotent

Analysiert Datensaetze umfassend: Relevanz, Aktualitaet und verfuegbare Formate.

Kombiniert Suche mit Analyse der Metadaten und Ressourcen-Formate.
Besonders nuetzlich um herauszufinden, welche Daten verfuegbar sind
und wie aktuell sie sind.

Hinweis: Berlins CKAN hat keinen DataStore – Daten muessen ueber
die Ressourcen-URLs heruntergeladen werden.

Returns:
    Umfassender Analyse-Report mit Relevanz, Aktualitaet und Formaten

Inputs: params (required). Returns: result

berlin_catalog_statsA
Read-onlyIdempotent

Gibt einen Ueberblick ueber den gesamten Open-Data-Katalog des Landes Berlin.

Zeigt Gesamtzahl der Datensaetze, Verteilung nach Kategorien,
haeufigste Formate und Tags.

Returns:
    Statistik-Uebersicht des Katalogs

Inputs: no named parameters. Returns: result

berlin_get_datasetB
Read-onlyIdempotent

Ruft vollstaendige Metadaten und Ressourcen eines Datensatzes ab.

Gibt Titel, Beschreibung, Autor, Lizenz, alle verfuegbaren
Dateiformate und Download-URLs zurueck.

Returns:
    Detaillierte Markdown-Ansicht des Datensatzes mit allen Ressourcen

Inputs: params (required). Returns: result

berlin_list_categoriesA
Read-onlyIdempotent

Listet alle Datenkategorien (Gruppen) im Katalog auf oder zeigt Details einer Kategorie.

Das Land Berlin organisiert seine Datensaetze in 25 thematische Kategorien
wie Bildung, Demographie, Verkehr, Umwelt etc.

Returns:
    Markdown-Liste der Kategorien mit Datensatz-Anzahl

Inputs: params (required). Returns: result

berlin_list_tagsA
Read-onlyIdempotent

Durchsucht verfuegbare Tags im Open-Data-Katalog.

Tags helfen, thematisch verwandte Datensaetze zu finden.
Z.B. 'einwohner', 'bezirk', 'kita' fuer verschiedene Themenbereiche.

Returns:
    Liste passender Tags

Inputs: params (required). Returns: result

berlin_search_datasetsA
Read-onlyIdempotent

Durchsucht den Open-Data-Katalog des Landes Berlin nach Datensaetzen.

Nutzt die CKAN-Suchmaschine (Solr) fuer Volltextsuche ueber Titel,
Beschreibung, Tags und Metadaten aller 2500+ Datensaetze.

Returns:
    Markdown-formatierte Liste mit Datensatz-Zusammenfassungen

Inputs: params (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no ambiguity: analyze datasets, get catalog stats, retrieve a dataset, list categories, list tags, and search datasets. The descriptions reinforce these distinct roles, making misselection unlikely.

    Naming Consistency5/5

    All tools follow a consistent 'berlin_verb_noun' pattern in snake_case, such as berlin_analyze_datasets and berlin_search_datasets. This predictability aids agent understanding and tool selection.

    Tool Count5/5

    With 6 tools, this server is well-scoped for exploring and analyzing Berlin's open data catalog. Each tool serves a specific function without redundancy, fitting the domain appropriately.

    Completeness4/5

    The toolset covers core operations like searching, retrieving, and analyzing datasets, along with catalog overviews. A minor gap is the lack of direct data download or manipulation tools, but descriptions note this limitation, and agents can work around it using provided URLs.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      C
      maintenance
      Enables AI assistants to search, discover, and analyze thousands of datasets from Israel's national open data portal. It provides tools for querying government ministries, municipalities, and public bodies using the CKAN API.
      9
      48 npm
      111
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables querying and analyzing over 90,000 public datasets from the Spanish Government Open Data Portal (datos.gob.es) using natural language, with tools for search, filtering, metadata access, and SPARQL queries.
      10
      5
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables querying Brussels Open Data datasets through natural language or direct tool calls, including search, metadata retrieval, and SQL-like queries.
      123 npm
      MIT