GIS MCP Server

Integrations

  • Planned integration with GDAL/OGR for expanded GIS capabilities including raster operations and advanced spatial analysis.

  • Leverages Python GIS libraries (Shapely and PyProj) to provide geometric operations, coordinate transformations, and geodetic calculations for AI assistants.

GIS MCP Server

Eine Model Context Protocol (MCP)-Serverimplementierung, die Large Language Models (LLMs) mithilfe von GIS-Bibliotheken (derzeit werden Shapely und PyProj unterstützt) mit GIS-Operationen verbindet und es KI-Assistenten ermöglicht, georäumliche Operationen und Transformationen durchzuführen.

Alpha

Version 0.2.0 (Alpha) befindet sich in der aktiven Entwicklung. Wir freuen uns über Beiträge und Entwickler, die uns beim Aufbau dieses Projekts unterstützen.

🎥 Demo

📋 Inhaltsverzeichnis

🚀 Funktionen

  • 🔍 Umfassende geometrische Operationen (Schnittmenge, Vereinigung, Puffer usw.)
  • 🌐 Erweiterte Koordinatentransformationen und -projektionen
  • 📏 Präzise Entfernungs- und Flächenberechnungen
  • 🗺️ Räumliche Analyse und Validierung
  • 🛠️ Einfache Integration mit MCP-kompatiblen Clients

📋 Voraussetzungen

  • Python 3.10 oder höher
  • MCP-kompatibler Client (wie Claude Desktop oder Cursor)
  • Internetverbindung für die Paketinstallation

🛠️ Installation

Wählen Sie die Installationsmethode, die Ihren Anforderungen am besten entspricht:

📦 Pip-Installation

Für die meisten Benutzer wird die Pip-Installation empfohlen:

  1. Installieren Sie den UV-Paketmanager:
pip install uv
  1. Erstellen Sie die virtuelle Umgebung (Python 3.10+):
uv venv --python=3.10
  1. Installieren Sie das Paket:
uv pip install gis-mcp
  1. Starten Sie den Server:
gis-mcp
pip-Konfiguration

Um die Pip-Installation mit Claude oder Cursor zu verwenden, fügen Sie die folgende Konfiguration hinzu:

Claude Desktop:

Windows:

{ "mcpServers": { "gis-mcp": { "command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp", "args": [] } } }

Linux/Mac:

{ "mcpServers": { "gis-mcp": { "command": "/home/YourUsername/.venv/bin/gis-mcp", "args": [] } } }

Cursor-IDE (erstellen Sie .cursor/mcp.json ):

Windows:

{ "mcpServers": { "gis-mcp": { "command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp", "args": [] } } }

Linux/Mac:

{ "mcpServers": { "gis-mcp": { "command": "/home/YourUsername/.venv/bin/gis-mcp", "args": [] } } }

Nach der Konfiguration:

  1. Stellen Sie sicher, dass Sie YourUsername durch Ihren tatsächlichen Benutzernamen ersetzen.
  2. Ersetzen Sie bei der Entwicklungsinstallation /path/to/gis-mcp durch den tatsächlichen Pfad zu Ihrem Projekt
  3. Starten Sie Ihre IDE neu, um die Änderungen anzuwenden
  4. Sie können jetzt alle GIS-Operationen über Claude oder Cursor verwenden!

🛠️ Entwicklungsinstallation

Für Mitwirkende und Entwickler:

  1. Installieren Sie den UV-Paketmanager:
pip install uv
  1. Erstellen Sie die virtuelle Umgebung:
uv venv --python=3.10
  1. Installieren Sie das Paket im Entwicklungsmodus:
uv pip install -e .
  1. Starten Sie den Server:
python -m gis_mcp
Entwicklungskonfiguration

Um die Entwicklungsinstallation mit Claude oder Cursor zu verwenden, fügen Sie die folgende Konfiguration hinzu:

Claude Desktop:

Windows:

{ "mcpServers": { "gis-mcp": { "command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python", "args": ["-m", "gis_mcp"] } } }

Linux/Mac:

{ "mcpServers": { "gis-mcp": { "command": "/path/to/gis-mcp/.venv/bin/python", "args": ["-m", "gis_mcp"] } } }

Cursor-IDE (erstellen Sie .cursor/mcp.json ):

Windows:

{ "mcpServers": { "gis-mcp": { "command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python", "args": ["-m", "gis_mcp"] } } }

Linux/Mac:

{ "mcpServers": { "gis-mcp": { "command": "/path/to/gis-mcp/.venv/bin/python", "args": ["-m", "gis_mcp"] } } }

Nach der Konfiguration:

  1. Stellen Sie sicher, dass Sie YourUsername durch Ihren tatsächlichen Benutzernamen ersetzen.
  2. Ersetzen Sie bei der Entwicklungsinstallation /path/to/gis-mcp durch den tatsächlichen Pfad zu Ihrem Projekt
  3. Starten Sie Ihre IDE neu, um die Änderungen anzuwenden
  4. Sie können jetzt alle GIS-Operationen über Claude oder Cursor verwenden!

🛠️ Verfügbare Tools

Formschöne Operationen

Grundlegende Operationen
WerkzeugBeschreibung
bufferErstellen Sie einen Puffer um Geometrien mit anpassbaren Parametern
intersectionSchnittpunkt zweier Geometrien finden
unionKombinieren Sie zwei Geometrien
differenceFinden Sie Unterschiede zwischen Geometrien
symmetric_differenceFinden Sie symmetrische Unterschiede zwischen Geometrien
Geometrische Eigenschaften
WerkzeugBeschreibung
convex_hullBerechnen Sie die konvexe Hülle einer Geometrie
envelopeHolen Sie sich den Begrenzungsrahmen einer Geometrie
minimum_rotated_rectangleHolen Sie sich das minimal gedrehte Rechteck einer Geometrie
get_centroidDen Schwerpunkt einer Geometrie ermitteln
get_boundsErmitteln der Grenzen einer Geometrie
get_coordinatesHolen Sie sich die Koordinaten einer Geometrie
get_geometry_typeDen Typ einer Geometrie ermitteln
Transformationen
WerkzeugBeschreibung
rotate_geometryDrehen einer Geometrie mit angegebenem Winkel und Ursprung
scale_geometrySkalieren einer Geometrie mit X- und Y-Faktoren
translate_geometryVerschieben einer Geometrie mit X-, Y- und Z-Offsets
Erweiterte Operationen
WerkzeugBeschreibung
triangulate_geometryErstellen einer Triangulation einer Geometrie
voronoiErstellen Sie ein Voronoi-Diagramm aus Punkten
unary_union_geometriesErstellen einer Vereinigung mehrerer Geometrien
Messungen
WerkzeugBeschreibung
get_lengthErmitteln der Länge einer Geometrie
get_areaErmitteln der Fläche einer Geometrie
Validierung und Vereinfachung
WerkzeugBeschreibung
is_validÜberprüfen, ob eine Geometrie gültig ist
make_validEine Geometrie gültig machen
simplifyVereinfachen einer Geometrie mit angegebener Toleranz

PyProj-Operationen

Koordinatentransformationen
WerkzeugBeschreibung
transform_coordinatesKoordinaten zwischen CRS transformieren
project_geometryProjizieren Sie eine Geometrie zwischen CRS
CRS-Informationen
WerkzeugBeschreibung
get_crs_infoErhalten Sie detaillierte Informationen zu einem CRS
get_available_crsListe aller verfügbaren CRS abrufen
get_utm_zoneHolen Sie sich die UTM-Zone für die angegebenen Koordinaten
get_utm_crsHolen Sie sich UTM CRS für angegebene Koordinaten
get_geocentric_crsHolen Sie sich ein geozentrisches CRS für die angegebenen Koordinaten
Geodätische Berechnungen
WerkzeugBeschreibung
get_geod_infoInformationen zu einer geodätischen Berechnung erhalten
calculate_geodetic_distanceBerechnen Sie die geodätische Entfernung zwischen Punkten
calculate_geodetic_pointBerechnen Sie einen Punkt bei gegebener Entfernung und Azimut
calculate_geodetic_areaBerechnen Sie die Fläche eines Polygons mithilfe geodätischer Berechnungen

🛠️ Kundenentwicklung

Beispielhafte Verwendung der Tools:

Pufferbetrieb

Tool: buffer Parameters: { "geometry": "POINT(0 0)", "distance": 10, "resolution": 16, "join_style": 1, "mitre_limit": 5.0, "single_sided": false }

Koordinatentransformation

Tool: transform_coordinates Parameters: { "coordinates": [0, 0], "source_crs": "EPSG:4326", "target_crs": "EPSG:3857" }

Geodätische Distanz

Tool: calculate_geodetic_distance Parameters: { "point1": [0, 0], "point2": [10, 10], "ellps": "WGS84" }

🔮 Geplante Funktionen

  • Unterstützung für weitere GIS-Bibliotheken hinzufügen – GDAL/OGR
  • Implementieren Sie eine erweiterte räumliche Indizierung
  • Unterstützung für Rasteroperationen hinzufügen
  • Implementieren von Netzwerkanalysefunktionen
  • Unterstützung für 3D-Geometrien hinzufügen
  • Implementieren Sie Leistungsoptimierungen

🤝 Beitragen

Wir freuen uns über Spenden! So können Sie helfen:

  1. Forken Sie das Repository
  2. Erstellen Sie einen Feature-Zweig ( git checkout -b feature/AmazingFeature )
  3. Übernehmen Sie Ihre Änderungen ( git commit -m 'Add some AmazingFeature' )
  4. Pushen zum Zweig ( git push origin feature/AmazingFeature )
  5. Öffnen einer Pull-Anfrage

Bitte stellen Sie sicher, dass Ihre PR-Beschreibung das Problem und die Lösung klar beschreibt. Geben Sie gegebenenfalls die entsprechende Problemnummer an.

📄 Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE.

🔗 Ähnliche Projekte

  • Model Context Protocol – Die zentrale MCP-Implementierung
  • Shapely – Python-Paket zur Manipulation und Analyse geometrischer Objekte
  • PyProj – Python-Schnittstelle zur PROJ-Bibliothek

📞 Unterstützung

Für Support öffnen Sie bitte ein Problem im GitHub-Repository.

🏆 Abzeichen

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Ein Model Context Protocol-Server, der LLMs mit GIS-Operationen verbindet und es KI-Assistenten ermöglicht, genaue georäumliche Analysen durchzuführen, darunter geometrische Operationen, Koordinatentransformationen und räumliche Messungen.

  1. 🎥 Demo
    1. 📋 Inhaltsverzeichnis
      1. 🚀 Funktionen
        1. 📋 Voraussetzungen
          1. 🛠️ Installation
            1. 📦 Pip-Installation
            2. 🛠️ Entwicklungsinstallation
          2. 🛠️ Verfügbare Tools
            1. Formschöne Operationen
            2. PyProj-Operationen
          3. 🛠️ Kundenentwicklung
            1. Pufferbetrieb
            2. Koordinatentransformation
            3. Geodätische Distanz
          4. 🔮 Geplante Funktionen
            1. 🤝 Beitragen
              1. 📄 Lizenz
                1. 🔗 Ähnliche Projekte
                  1. 📞 Unterstützung
                    1. 🏆 Abzeichen

                      Related MCP Servers

                      • A
                        security
                        A
                        license
                        A
                        quality
                        A Model Context Protocol server that provides LLM Agents with a comprehensive toolset for IP geolocation, network diagnostics, system monitoring, cryptographic operations, and QR code generation.
                        Last updated -
                        16
                        3
                        4
                        TypeScript
                        Apache 2.0
                      • A
                        security
                        A
                        license
                        A
                        quality
                        A Model Context Protocol server that provides basic mathematical and statistical functions to LLMs, enabling them to perform accurate numerical calculations through a simple API.
                        Last updated -
                        13
                        2
                        TypeScript
                        MIT License
                      • A
                        security
                        A
                        license
                        A
                        quality
                        A Model Context Protocol server that provides Google Maps API integration, allowing users to search locations, get place details, geocode addresses, calculate distances, obtain directions, and retrieve elevation data through LLM processing capabilities.
                        Last updated -
                        7
                        43
                        15
                        TypeScript
                        MIT License
                      • -
                        security
                        F
                        license
                        -
                        quality
                        A Model Context Protocol server that connects LLMs to the Compiler Explorer API, enabling them to compile code, explore compiler features, and analyze optimizations across different compilers and languages.
                        Last updated -
                        Python

                      View all related MCP servers

                      ID: irl5u9uw6f