QGIS

conecta o QGIS Desktop ao Claude AI através do MCP. Essa integração permite criação de projetos assistida por prompts, carregamento de camadas, execução de código e muito mais.

Documentação

QGISMCP - Integração do Protocolo de Contexto do Modelo com QGIS

O QGISMCP conecta o QGIS ao Claude AI por meio do Protocolo de Contexto do Modelo (MCP), permitindo que o Claude interaja diretamente com o QGIS e o controle. Essa integração possibilita a criação de projetos assistida por prompts, carregamento de camadas, execução de código e muito mais.

Este projeto é fortemente baseado no projeto BlenderMCP de Siddharth Ahuja

Recursos

  • Comunicação bidirecional: Conecte o Claude AI ao QGIS por meio de um servidor baseado em sockets.
  • Manipulação de projetos: Crie, carregue e salve projetos no QGIS.
  • Manipulação de camadas: Adicione e remova camadas vetoriais ou raster a um projeto.
  • Execução de processamento: Execute algoritmos de processamento (Caixa de Ferramentas de Processamento).
  • Execução de código: Execute código Python arbitrário no QGIS a partir do Claude. Muito poderoso, mas também exige muita cautela ao usar essa ferramenta.

Componentes

O sistema consiste em dois componentes principais:

  1. Plugin QGIS: Um plugin do QGIS que cria um servidor de sockets dentro do QGIS para receber e executar comandos.
  2. Servidor MCP: Um servidor Python que implementa o Protocolo de Contexto do Modelo e se conecta ao plugin do QGIS.

Instalação

Pré-requisitos

  • QGIS 3.X (testado apenas na versão 3.22)
  • Claude desktop
  • Python 3.10 ou mais recente
  • Gerenciador de pacotes uv:

Se você estiver no Mac, instale o uv da seguinte forma:

brew install uv

No Windows Powershell

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

Caso contrário, as instruções de instalação estão no site deles: Instalar uv

⚠️ Não prossiga antes de instalar o UV

Baixar o código

Baixe este repositório para o seu computador. Você pode cloná-lo com:

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

Plugin QGIS

Você precisa copiar a pasta qgis_mcp_plugin e seu conteúdo para a pasta de plugins do seu perfil do QGIS.

Você pode obter sua pasta de perfil no QGIS indo ao menu Settings -> User profiles -> Open active profile folder. Em seguida, vá para Python/plugins e cole a pasta qgis_mcp_plugin.

Em uma máquina Windows, a pasta de plugins geralmente está localizada em: C:\Users\USER\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins

e no MacOS: ~/Library/Application\ Support/QGIS/QGIS3/profiles/default/python/plugins

Em seguida, feche o QGIS e abra-o novamente. Vá para a opção de menu Plugins > Installing and Managing Plugins, selecione a aba All e procure por "QGIS MCP", então marque a caixa de seleção do QGIS MCP.

Integração com Claude for Desktop

Vá para Claude > Settings > Developer > Edit Config > claude_desktop_config.json para incluir o seguinte:

Se você não conseguir encontrar a "aba Desenvolvedores" ou o claude_desktop_config.json, consulte esta documentação.

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

    }
}

Uso

Iniciando a Conexão

  1. No QGIS, vá para plugins > QGIS MCP > QGIS MCP plugins menu
  2. Clique em "Iniciar Servidor" start server

Usando com o Claude

Depois que o arquivo de configuração for definido no Claude e o servidor estiver em execução no QGIS, você verá um ícone de martelo com ferramentas para o QGIS MCP.

Claude tools

Ferramentas

  • ping - Comando de ping simples para verificar a conectividade do servidor
  • get_qgis_info - Obter informações do QGIS sobre a instalação atual
  • load_project - Carregar um projeto QGIS do caminho especificado
  • create_new_project - Criar um novo projeto e salvá-lo
  • get_project_info - Obter informações do projeto atual
  • add_vector_layer - Adicionar uma camada vetorial ao projeto
  • add_raster_layer - Adicionar uma camada raster ao projeto
  • get_layers - Recuperar todas as camadas do projeto atual
  • remove_layer - Remover uma camada do projeto pelo seu ID
  • zoom_to_layer - Ampliar para a extensão de uma camada especificada
  • get_layer_features - Recuperar feições de uma camada vetorial com um limite opcional
  • execute_processing - Executar um algoritmo de processamento com os parâmetros fornecidos
  • save_project - Salvar o projeto atual no caminho fornecido
  • render_map - Renderizar a visualização atual do mapa em um arquivo de imagem
  • execute_code - Executar código PyQGIS arbitrário fornecido como uma string

Exemplos de Comandos

Este é o exemplo que usei para a demonstração:

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.