Skip to main content
Glama
GDI Catalogue MCP
by georoen

Kleiner, lesender MCP-Connector für Geodatenkatalog.de / GDI-DE. Nutzt ausschließlich CSW 2.0.2 mit Dublin-Core-Ausgabe und das offizielle Python-MCP-SDK über stdio. Kein offizieller GDI-DE-/BKG-Dienst.

Installation

Voraussetzungen: Python ≥3.11 und uv.

Repository klonen und im Projektverzeichnis ausführen:

uv sync --frozen
uv run --frozen python test_server.py

uv.lock enthält die aufgelösten Abhängigkeiten.

Related MCP server: geonetwork-mcp

MCP-Client konfigurieren

Im MCP-Client den Python-Interpreter und das Skript mit absoluten Pfaden registrieren:

{
  "mcpServers": {
    "gdi-de": {
      "command": "/absolute/path/gdi-geonetwork-mcp/.venv/bin/python",
      "args": ["/absolute/path/gdi-geonetwork-mcp/server.py"]
    }
  }
}

Der Client startet den Prozess über stdio; kein Docker oder Port erforderlich. Bei Verschieben des Projekts Pfade aktualisieren.

Beispielprompt:

Suche im GDI-DE-Katalog nach Lärm in Ingolstadt. Zeig mir anschließend die Metadaten und Ressourcenlinks eines Treffers.

Tools

Tool

Eingaben

Ausgabe

search_records

query, limit (1–50), start (ab 1)

Quelle, Trefferzahl, nächste Seite, Metadaten

get_record

record_id aus einem Treffer

Dublin-Core-Metadaten, Themen, Rechte, Ressourcenlinks, Metadaten-Bounding-Boxes

search_records nutzt CSW GetRecords, get_record nutzt GetRecordById. query ist eine Wortsuche, keine rohe CQL-Abfrage. Wörter werden per AND und AnyText LIKE kombiniert; CQL-Wildcards % und _ bleiben wirksam. next_record=0 bedeutet Ende.

Ressourcenlinks werden nicht automatisch geöffnet. Ein Metadaten-Footprint beweist keine lokale Datenabdeckung. Keine Downloads, Kartenanalyse, räumliche Suchparameter, Schreibfunktionen, Uploads oder Harvesting.

Endpunkt

Standard: https://gdk.gdi-de.org/gdi-de/srv/ger/csw.

Für einen anderen CSW-Katalog CSW_URL in der Prozessumgebung setzen (im obigen Client-Beispiel über env). Die URL wird ausschließlich vom Betreiber konfiguriert, nicht als Tool-Parameter angeboten. Andere Kataloge sind nicht getestet; CSW 2.0.2 und Dublin-Core-Ausgabe müssen unterstützt werden.

Tests und Einschränkungen

Offline-Tests prüfen Eingabevalidierung, CQL-Escaping, Metadaten, Pagination, XML-Sicherheit und Antwortgrößenlimit.

uv run --frozen python test_server.py --live

--live startet einen echten MCP-Prozess und prüft Suche, Record-Abruf, Pagination und Toolfehler; Internet nötig. Timeouts oder andere Anbieterfehler werden nicht als Erfolg gewertet.

Livetest bestanden: GDI-DE-CSW-Suche „Lärm Ingolstadt“ mit 17 Treffern, Record-Abruf, Pagination und Toolfehler über MCP stdio geprüft. Frühere Tests liefen zeitweise in CSW-Suchtimeouts; die Verfügbarkeit hängt vom Anbieter ab. Es gibt keinen alternativen Suchpfad oder automatischen Fallback.

Sicherheit und Nutzungsbedingungen

HTTP-Zeitlimit 30 Sekunden, maximal 5 MiB Antwort, keine automatischen Redirects oder Wiederholungen. Sichere XML-Verarbeitung ohne DTD/Entities. Katalogfehler und ungültige Eingaben erscheinen als MCP-Toolfehler. Keine Credentials erforderlich oder gespeichert; geschützte Kataloge werden nicht unterstützt.

GDI-DE stellt die Kataloginhalte über standardisierte Schnittstellen zur freien Verfügung. Daraus folgt keine pauschale Freigabe der verlinkten Geodaten. Für deren Nutzung gelten die jeweiligen Anbieterbedingungen; Quellenvermerke und rechtliche Hinweise beachten. Leere Rechtefelder sind keine Nutzungserlaubnis.

Available Tools

2 tools
get_recordA
Read-onlyIdempotent

Retrieve a record's Dublin Core metadata, resource links and metadata bounding boxes by its exact returned ID. Links are not verified/downloaded; a footprint does not prove local data coverage.

Inputs: record_id (required). Returns: object

search_recordsA
Read-onlyIdempotent

Search CSW metadata with words (e.g. 'Lärm Ingolstadt'), not raw CQL. limit 1–50, start is 1-based. Use next_record to paginate; zero means end. Call get_record for metadata and links.

Inputs: query (required), limit, start. Returns: object

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 2 tools

    Disambiguation5/5

    search_records is for discovery via keywords and pagination, while get_record retrieves a specific record by its exact ID. The two purposes are clearly separated with no overlap, so an agent can easily choose the correct tool.

    Naming Consistency5/5

    Both tools follow a consistent snake_case verb_noun pattern: search_records and get_record. The plural/singular noun difference reflects the operation (search many vs. get one) and does not break the pattern.

    Tool Count3/5

    With only two tools, the surface feels thin for a CSW catalogue even though the two provided operations are focused. The count is borderline per the rubric for 1–2 tools, lacking additional conveniences like capabilities or spatial search.

    Completeness4/5

    The core read-only lifecycle of discovery (search) and retrieval by ID (get_record) is fully covered, including pagination hints. Minor gaps remain, such as no direct spatial/bbox search or get_capabilities operation, but agents can work around these using keyword search.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables interaction with the European Environment Agency (EEA) GeoNetwork Catalogue API to search, manage, and edit geographic metadata records. It supports advanced spatial searches, metadata exports in multiple formats, and authenticated updates to records and their attachments.
      4
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server for discovering and accessing data from a GeoNetwork 4.x catalog. Enables an AI assistant to search metadata records, view details, and discover services (WMS, WFS, downloads, etc.) referenced in the catalog.
      3
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables searching, viewing metadata, and querying tabular resources from Netherlands Open Data (data.overheid.nl) via CKAN.
      101 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables searching and exploring Spain's National Open Data Catalog, letting users find datasets by title or theme, list available themes, retrieve full dataset records with publisher, license and distribution details, and obtain catalog totals via the official SPARQL endpoint. It connects over Streamable HTTP, SSE, or local stdio using the public keyless datos.gob.es API.
      MIT