QGIS

conecta QGIS Desktop con Claude AI a través de MCP. Esta integración permite la creación de proyectos asistida por indicaciones, carga de capas, ejecución de código y más.

Documentación

QGISMCP - Integración de QGIS con el Model Context Protocol

QGISMCP conecta QGIS con Claude AI a través del Model Context Protocol (MCP), permitiendo a Claude interactuar directamente con QGIS y controlarlo. Esta integración permite la creación de proyectos asistida por indicaciones, la carga de capas, la ejecución de código y más.

Este proyecto se basa en gran medida en el proyecto BlenderMCP de Siddharth Ahuja

Características

  • Comunicación bidireccional: Conecta Claude AI a QGIS a través de un servidor basado en sockets.
  • Manipulación de proyectos: Crea, carga y guarda proyectos en QGIS.
  • Manipulación de capas: Añade y elimina capas vectoriales o ráster a un proyecto.
  • Ejecutar procesamiento: Ejecuta algoritmos de procesamiento (Caja de herramientas de procesamiento).
  • Ejecución de código: Ejecuta código Python arbitrario en QGIS desde Claude. Muy potente, pero también hay que tener mucha precaución al usar esta herramienta.

Componentes

El sistema consta de dos componentes principales:

  1. Complemento de QGIS: Un complemento de QGIS que crea un servidor de sockets dentro de QGIS para recibir y ejecutar comandos.
  2. Servidor MCP: Un servidor Python que implementa el Model Context Protocol y se conecta al complemento de QGIS.

Instalación

Requisitos previos

  • QGIS 3.X (solo probado en 3.22)
  • Claude desktop
  • Python 3.10 o superior
  • Administrador de paquetes uv:

Si estás en Mac, instala uv de la siguiente manera

brew install uv

En Windows Powershell

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

De lo contrario, las instrucciones de instalación están en su sitio web: Instalar uv

⚠️ No continúes antes de instalar UV

Descargar el código

Descarga este repositorio a tu computadora. Puedes clonarlo con:

git clone git@github.com:jjsantos01/qgis_mcp.git

Complemento de QGIS

Debes copiar la carpeta qgis_mcp_plugin y su contenido en la carpeta de complementos de tu perfil de QGIS.

Puedes obtener la carpeta de tu perfil en QGIS yendo al menú Settings -> User profiles -> Open active profile folder. Luego, ve a Python/plugins y pega la carpeta qgis_mcp_plugin.

En una máquina Windows, la carpeta de complementos suele estar ubicada en: C:\Users\USER\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins

y en MacOS: ~/Library/Application\ Support/QGIS/QGIS3/profiles/default/python/plugins

Luego cierra QGIS y ábrelo de nuevo. Ve a la opción de menú Plugins > Installing and Managing Plugins, selecciona la pestaña All y busca "QGIS MCP", luego marca la casilla de verificación de QGIS MCP.

Integración con Claude for Desktop

Ve a Claude > Settings > Developer > Edit Config > claude_desktop_config.json para incluir lo siguiente:

Si no puedes encontrar la "pestaña de desarrolladores" o el claude_desktop_config.json, consulta esta documentación.

{
    "mcpServers": {
        "qgis": {
            "command": "uv",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/PARENT/REPO/FOLDER/qgis_mcp/src/qgis_mcp",
                "run",
                "qgis_mcp_server.py"
            ]
        }

    }
}

Uso

Iniciando la conexión

  1. En QGIS, ve a plugins > QGIS MCP > QGIS MCP plugins menu
  2. Haz clic en "Iniciar servidor" start server

Uso con Claude

Una vez que el archivo de configuración se haya establecido en Claude y el servidor esté ejecutándose en QGIS, verás un icono de martillo con herramientas para el QGIS MCP.

Claude tools

Herramientas

  • ping - Comando ping simple para comprobar la conectividad del servidor
  • get_qgis_info - Obtener información de QGIS sobre la instalación actual
  • load_project - Cargar un proyecto de QGIS desde la ruta especificada
  • create_new_project - Crear un nuevo proyecto y guardarlo
  • get_project_info - Obtener información del proyecto actual
  • add_vector_layer - Añadir una capa vectorial al proyecto
  • add_raster_layer - Añadir una capa ráster al proyecto
  • get_layers - Recuperar todas las capas del proyecto actual
  • remove_layer - Eliminar una capa del proyecto por su ID
  • zoom_to_layer - Acercar a la extensión de una capa especificada
  • get_layer_features - Recuperar entidades de una capa vectorial con un límite opcional
  • execute_processing - Ejecutar un algoritmo de procesamiento con los parámetros dados
  • save_project - Guardar el proyecto actual en la ruta dada
  • render_map - Renderizar la vista del mapa actual a un archivo de imagen
  • execute_code - Ejecutar código PyQGIS arbitrario proporcionado como cadena

Comandos de ejemplo

Este es el ejemplo que usé para la demo:

You have access to the tools to work with QGIS. You will do the following:
	1. Ping to check the connection. If it works, continue with the following steps.
	2. Create a new project and save it at: "C:/Users/USER/GitHub/qgis_mcp/data/cdmx.qgz"
	3. Load the vector layer: ""C:/Users/USER/GitHub/qgis_mcp/data/cdmx/mgpc_2019.shp" and name it "Colonias".
	4. Load the raster layer: "C:/Users/USER/GitHub/qgis_mcp/data/09014.tif" and name it "BJ"
	5. Zoom to the "BJ" layer.
	6. Execute the centroid algorithm on the "Colonias" layer. Skip the geometry check. Save the output to "colonias_centroids.geojson".
	7. Execute code to create a choropleth map using the "POB2010" field in the "Colonias" layer. Use the quantile classification method with 5 classes and the Spectral color ramp.
	8. Render the map to "C:/Users/USER/GitHub/qgis_mcp/data/cdmx.png"
	9. Save the project.