3D-Stadtmodelle mit natürlicher Sprache analysieren

„Wie viele Gebäude mit Flachdach gibt es im Stadtteil – und wie groß ist ihre Dachfläche insgesamt?“ Für solche Fragen an ein 3D-Stadtmodell brauchte man bisher SQL-Kenntnisse und ein gutes Verständnis des 3DCityDB-Datenbankschemas. Mit dem 3DCityDB MCP-Server genügt eine Frage in natürlicher Sprache: Eine KI übersetzt sie in eine Datenbankabfrage, führt sie aus und erklärt das Ergebnis. In diesem Beitrag zeigen wir, was dahintersteckt, wie Sie den Server selbst lokal aufsetzen – und welche Möglichkeiten sich daraus künftig für moGI ergeben.

Hinweis: Der 3DCityDB MCP-Server wurde am Lehrstuhl für Geoinformatik der TU München entwickelt und steht unter der Open-Source-Lizenz Apache 2.0 auf GitHub zur Verfügung. Das begleitende Paper „Enabling AI Agents for Semantic 3D City Models through Automated Domain Context Generation“ (Kanna & Kolbe) erscheint zur ISPRS 3D GeoInfo Conference 2026.

Was ist ein MCP-Server?

Das Model Context Protocol (MCP) ist ein offener Standard, über den KI-Assistenten auf externe Werkzeuge und Datenquellen zugreifen. Ein MCP-Server stellt dafür Werkzeuge bereit – etwa „Schema lesen“ oder „Abfrage ausführen“ –, die ein Sprachmodell selbstständig aufrufen kann.

Der 3DCityDB MCP-Server bringt diese Welt mit CityGML-Stadtmodellen in einer 3DCityDB v5 zusammen. Beim Start liest er automatisch aus der Datenbank aus:

  • welche Objektklassen vorhanden sind (Gebäude, Brücken, Vegetation …),
  • welche Eigenschaften und Codelisten tatsächlich belegt sind – mit länderspezifischen Codelisten, für Deutschland z. B. nach ALKIS/AdV,
  • welche generischen Attribute, Detailstufen (LoD) und welches Koordinatensystem vorliegen.

Daraus entsteht ein passgenauer Kontext für das Sprachmodell – ohne aufwendiges Prompt-Engineering.

Was kann man damit machen?

Einige Beispiele für Fragen, die der Assistent beantworten kann:

  • „Welche Gebäudefunktionen kommen im Datensatz vor, und wie oft?“
  • „Berechne das Volumen aller Gebäude mit mehr als 20 m Höhe.“
  • „Welche Gebäude haben kein LoD2-Dach?“
  • „Stelle die Verteilung der Dachformen als Diagramm dar.“

Der Assistent arbeitet dabei in mehreren Schritten: Er formuliert eine Abfrage, prüft das Ergebnis, korrigiert Fehler selbstständig und fasst die Antwort verständlich zusammen. 3D-Berechnungen wie Volumen oder 3D-Flächen übernimmt die PostGIS-Erweiterung SFCGAL. Diagramme und Formeln werden direkt im Chat dargestellt; der Gesprächsverlauf lässt sich als PDF exportieren.

Wichtig für die Datensicherheit: Der Server arbeitet ausschließlich lesend. Schreibende Befehle werden sowohl in der Anwendung als auch auf Datenbankebene blockiert.

So setzen Sie den Server lokal auf

Am schnellsten gelingt der Einstieg mit der Fullstack-Variante per Docker. Sie bringt alles mit: PostgreSQL mit PostGIS und SFCGAL, das 3DCityDB-Schema, den MCP-Server und eine Chat-Oberfläche im Browser. Voraussetzung ist lediglich Docker mit Docker Compose.

Gut zu wissen: Der 3DCityDB MCP-Server ist ein junges Forschungsprojekt, das sich noch in einem frühen Entwicklungsstadium befindet. Wir empfehlen daher, ihn zunächst in einer separaten Testumgebung mit Beispieldaten kennenzulernen und vor einem Einsatz mit produktiven Daten sorgfältig zu prüfen – etwa mit Blick auf Zugriffsrechte, Netzwerkfreigaben und den Umgang mit API-Schlüsseln.

  1. Repository herunterladen

git clone https://github.com/tum-gis/3dcitydb-mcp-server.git
cd 3dcitydb-mcp-server/production
cp .env.example .env

  1. Konfiguration anpassen

In der Datei .env tragen Sie das Koordinatensystem Ihrer Daten und einen KI-Anbieter ein:

SRID=25832    # z. B. ETRS89 / UTM Zone 32N

# Entweder ein Cloud-Anbieter …
ANTHROPIC_API_KEY=sk-ant-…
# … oder ein lokales Sprachmodell über Ollama
# OLLAMA_BASE_URL=http://host.docker.internal:11434

Tipp: Wenn Ihre Daten das Haus nicht verlassen sollen, betreiben Sie das Sprachmodell lokal mit Ollama. Der Assistent ist ausdrücklich auch für kleinere lokale Modelle ausgelegt.

  1. Starten

docker compose -f docker-compose.fullstack.yml up -d

Die fertigen Images werden automatisch von Docker Hub geladen. Nach etwa einer Minute ist die Datenbank bereit; die Oberfläche erreichen Sie unter http://localhost:7860.

  1. Daten importieren

Im Reiter Import CityGML / CityJSON / IFC laden Sie Ihre Datei hoch und starten den Import. Unterstützt werden CityGML 1.0 bis 3.0, CityJSON sowie IFC (wird automatisch nach CityGML 3.0 konvertiert). Anschließend stellen Sie Ihre Fragen im Reiter Chat.

Wer bereits eine 3DCityDB v5 betreibt – etwa als Datenhaltung der moGI Engine –, nutzt alternativ die Variante „Bring Your Own Database“ und trägt in der .env lediglich die Verbindungsdaten ein.

Die Brücke zu moGI

Der moGI AI Chat ist als zentrale Schnittstelle konzipiert, über die sich Sprachmodelle, MCP-Server und KI-Agenten einbinden lassen – im Rahmen kundenspezifischer Projekte bereits heute. Den 3DCityDB MCP-Server haben wir evaluiert und in den moGI AI Chat integriert – damit lassen sich 3D-Daten direkt aus moGI heraus per KI analysieren und recherchieren.

Die Grundlage dafür ist gelegt: moGI Engine unterstützt die 3DCityDB in Version 5, die bereits für zahlreiche Funktionen genutzt wird – und genau diese Version setzt der MCP-Server voraus. Die 3D-Daten lassen sich also bereits jetzt mit KI-Unterstützung dort analysieren, wo sie in moGI ohnehin liegen.

So sieht die Kopplung in unserer Testumgebung aus

In einer internen Testumgebung haben wir dem moGI AI Chat einen eigenen Agenten „3DCityDB (TUM)“ zur Seite gestellt. Der Chat erkennt Fragen zu 3D-Stadtmodellen und leitet sie an diesen Agenten weiter. Dabei gilt das Prinzip „Human in the Loop“: Jede Datenbankabfrage muss vor der Ausführung ausdrücklich bestätigt werden – die KI handelt also nie eigenmächtig, der Mensch behält die Kontrolle. Die verwendete SQL-Abfrage bleibt dabei jederzeit nachvollziehbar. Gefundene Objekte lassen sich direkt in der Karte anzeigen. Getestet haben wir z. B. Fragen wie:

  • „Welche Attribute hat die CityGML-Klasse Building?“
  • „Wie viele Gebäude stehen an der Arcisstraße?“
  • „Zeige mir alle Gebäude mit Dachtyp Satteldach in der Arcisstraße.“

Technisch ist die Kopplung schlank: Der MCP-Server lässt sich wie oben beschrieben starten und in der Konfiguration des moGI AI Chat als Werkzeug hinterlegen. Auf Wunsch könnte auch das Sprachmodell lokal über Ollama laufen, sodass keine Daten das Haus verlassen.

Wie sich eine solche Anbindung in der Praxis bewähren kann, werden wir weiter beobachten – und gegebenenfalls in einer der nächsten Ausgaben ausführlicher berichten.

Hinweis: Weder der moGI AI Chat noch seine Anbindung an den 3DCityDB MCP-Server sind Bestandteil des moGI-Produktstandards. Eine Umsetzung ist im Rahmen eines kundenspezifischen Projekts möglich.

Gemeinsam mit Ihnen

Ob erste Idee oder konkretes Vorhaben: Gerne begleiten wir Sie auf dem Weg zu KI-gestützten 3D-Analysen in Ihrem moGI-Umfeld – von der Einschätzung, welche Fragestellungen sich mit Ihren Daten beantworten lassen, über eine Testumgebung zum Kennenlernen bis hin zur Anbindung des 3DCityDB MCP-Servers an den moGI AI Chat im Rahmen eines kundenspezifischen Projekts. Dabei klären wir gemeinsam auch, ob ein lokales Sprachmodell oder ein Cloud-Anbieter besser zu Ihren Anforderungen an Datenschutz und Leistung passt.

Möchten Sie mehr erfahren oder direkt loslegen? Sprechen Sie einfach Ihre Kundenberaterin oder Ihren Kundenberater an – wir beraten Sie gerne persönlich.