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.

Servidor GIS MCP

Una implementación de servidor de Protocolo de contexto de modelo (MCP) que conecta modelos de lenguaje grandes (LLM) con operaciones SIG mediante bibliotecas SIG (actualmente compatibles con Shapely y PyProj), lo que permite que los asistentes de IA realicen operaciones y transformaciones geoespaciales.

Alfa

La versión 0.2.0 (Alfa) está en desarrollo activo. Agradecemos las contribuciones y a los desarrolladores que se unan a este proyecto.

🎥 Demostración

📋 Índice de contenidos

🚀 Características

  • 🔍Operaciones geométricas completas (intersección, unión, amortiguamiento, etc.)
  • 🌐 Transformaciones y proyecciones de coordenadas avanzadas
  • 📏 Cálculos precisos de distancia y área
  • 🗺️ Análisis y validación espacial
  • 🛠️ Fácil integración con clientes compatibles con MCP

📋 Requisitos previos

  • Python 3.10 o superior
  • Cliente compatible con MCP (como Claude Desktop o Cursor)
  • Conexión a Internet para la instalación del paquete

🛠️ Instalación

Elija el método de instalación que mejor se adapte a sus necesidades:

📦 Instalación de pip

Se recomienda la instalación de pip para la mayoría de los usuarios:

  1. Instalar el administrador de paquetes uv:
pip install uv
  1. Crear el entorno virtual (Python 3.10+):
uv venv --python=3.10
  1. Instalar el paquete:
uv pip install gis-mcp
  1. Iniciar el servidor:
gis-mcp
Configuración de pip

Para utilizar la instalación pip con Claude o Cursor, agregue la siguiente configuración:

Escritorio de Claude:

Ventanas:

{ "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": [] } } }

IDE del cursor (crear .cursor/mcp.json ):

Ventanas:

{ "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": [] } } }

Después de la configuración:

  1. Asegúrate de reemplazar YourUsername con tu nombre de usuario real
  2. Para la instalación de desarrollo, reemplace /path/to/gis-mcp con la ruta real a su proyecto
  3. Reinicie su IDE para aplicar los cambios
  4. ¡Ahora puedes utilizar todas las operaciones SIG a través de Claude o Cursor!

🛠️ Instalación de desarrollo

Para colaboradores y desarrolladores:

  1. Instalar el administrador de paquetes uv:
pip install uv
  1. Crear el entorno virtual:
uv venv --python=3.10
  1. Instalar el paquete en modo de desarrollo:
uv pip install -e .
  1. Iniciar el servidor:
python -m gis_mcp
Configuración de desarrollo

Para utilizar la instalación de desarrollo con Claude o Cursor, agregue la siguiente configuración:

Escritorio de Claude:

Ventanas:

{ "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"] } } }

IDE del cursor (crear .cursor/mcp.json ):

Ventanas:

{ "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"] } } }

Después de la configuración:

  1. Asegúrate de reemplazar YourUsername con tu nombre de usuario real
  2. Para la instalación de desarrollo, reemplace /path/to/gis-mcp con la ruta real a su proyecto
  3. Reinicie su IDE para aplicar los cambios
  4. ¡Ahora puedes utilizar todas las operaciones SIG a través de Claude o Cursor!

🛠️ Herramientas disponibles

Operaciones Shapely

Operaciones básicas
HerramientaDescripción
bufferCrea un espacio de amortiguación alrededor de geometrías con parámetros personalizables
intersectionEncuentra la intersección de dos geometrías
unionCombinar dos geometrías
differenceEncuentra la diferencia entre geometrías
symmetric_differenceEncuentra la diferencia simétrica entre geometrías
Propiedades geométricas
HerramientaDescripción
convex_hullCalcular la envoltura convexa de una geometría
envelopeObtener el cuadro delimitador de una geometría
minimum_rotated_rectangleObtener el rectángulo rotado mínimo de una geometría
get_centroidObtener el centroide de una geometría
get_boundsObtener los límites de una geometría
get_coordinatesObtener las coordenadas de una geometría
get_geometry_typeObtener el tipo de una geometría
Transformaciones
HerramientaDescripción
rotate_geometryGirar una geometría con un ángulo y origen especificados
scale_geometryEscalar una geometría con factores x e y
translate_geometryTraducir una geometría con desplazamientos x, y, z
Operaciones avanzadas
HerramientaDescripción
triangulate_geometryCrear una triangulación de una geometría
voronoiCrea un diagrama de Voronoi a partir de puntos
unary_union_geometriesCrear una unión de múltiples geometrías
Medidas
HerramientaDescripción
get_lengthObtener la longitud de una geometría
get_areaObtener el área de una geometría
Validación y simplificación
HerramientaDescripción
is_validComprobar si una geometría es válida
make_validHacer válida una geometría
simplifySimplificar una geometría con tolerancia especificada

Operaciones de PyProj

Transformaciones de coordenadas
HerramientaDescripción
transform_coordinatesTransformar coordenadas entre CRS
project_geometryProyectar una geometría entre CRS
Información de CRS
HerramientaDescripción
get_crs_infoObtenga información detallada sobre un CRS
get_available_crsObtener lista de todos los CRS disponibles
get_utm_zoneObtener la zona UTM para las coordenadas dadas
get_utm_crsObtener UTM CRS para las coordenadas dadas
get_geocentric_crsObtener CRS geocéntrico para las coordenadas dadas
Cálculos geodésicos
HerramientaDescripción
get_geod_infoObtenga información sobre un cálculo geodésico
calculate_geodetic_distanceCalcular la distancia geodésica entre puntos
calculate_geodetic_pointCalcular el punto a una distancia y acimut determinados
calculate_geodetic_areaCalcular el área de un polígono mediante cálculos geodésicos

🛠️ Desarrollo de clientes

Ejemplo de uso de las herramientas:

Operación de búfer

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

Transformación de coordenadas

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

Distancia geodésica

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

🔮 Funciones planificadas

  • Añadir soporte para más bibliotecas SIG - GDAL/OGR
  • Implementar indexación espacial avanzada
  • Añadir soporte para operaciones raster
  • Implementar capacidades de análisis de red
  • Añadir soporte para geometrías 3D
  • Implementar optimizaciones de rendimiento

🤝 Contribuyendo

¡Agradecemos tus contribuciones! Puedes ayudarnos de la siguiente manera:

  1. Bifurcar el repositorio
  2. Crear una rama de características ( git checkout -b feature/AmazingFeature )
  3. Confirme sus cambios ( git commit -m 'Add some AmazingFeature' )
  4. Empujar a la rama ( git push origin feature/AmazingFeature )
  5. Abrir una solicitud de extracción

Asegúrese de que la descripción de su solicitud de relaciones públicas describa claramente el problema y la solución. Incluya el número de problema correspondiente, si corresponde.

📄 Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

🔗 Proyectos relacionados

📞 Soporte

Para obtener ayuda, abra un problema en el repositorio de GitHub.

🏆 Insignias

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.

Un servidor de protocolo de contexto de modelo que conecta los LLM con las operaciones SIG, lo que permite a los asistentes de IA realizar análisis geoespaciales precisos, incluidas operaciones geométricas, transformaciones de coordenadas y mediciones espaciales.

  1. 🎥 Demostración
    1. 📋 Índice de contenidos
      1. 🚀 Características
        1. 📋 Requisitos previos
          1. 🛠️ Instalación
            1. 📦 Instalación de pip
            2. 🛠️ Instalación de desarrollo
          2. 🛠️ Herramientas disponibles
            1. Operaciones Shapely
            2. Operaciones de PyProj
          3. 🛠️ Desarrollo de clientes
            1. Operación de búfer
            2. Transformación de coordenadas
            3. Distancia geodésica
          4. 🔮 Funciones planificadas
            1. 🤝 Contribuyendo
              1. 📄 Licencia
                1. 🔗 Proyectos relacionados
                  1. 📞 Soporte
                    1. 🏆 Insignias

                      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