home / mcp / deepseek qgis mcp server

Deepseek QGIS MCP Server

Provides two-way MCP access to QGIS to manage projects, layers, and processing from an MCP client.

Installation
Add the following to your MCP client configuration file.

Configuration

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

QGISMCP connects QGIS to Claude AI using the Model Context Protocol (MCP), enabling prompt-driven project creation, layer management, processing, and Python code execution within QGIS from Claude. This MCP server bridges Claude’s instructions with QGIS capabilities to automate and control GIS workflows safely.

How to use

Learn to connect an MCP client to the QGISMCP server to perform common GIS tasks through Claude. Start the MCP server, configure Claude to point at it, and then invoke the available tools to ping the server, manage projects, load layers, run processing, and execute PyQGIS code from Claude.

How to install

Prerequisites and setup help you get the MCP server running and ready for client connections. Follow these steps in order.

# Prerequisites
- QGIS 3.X (tested on 3.22)
- Cloud desktop
- Python 3.10 or newer
- uv package manager (required to run the MCP server)

# uv installation (Mac)
brew install uv

# uv installation (Windows PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# Verify UV is installed per its website instructions

Configuration and starting the server

The MCP server is exposed to Claude via a stdio process that runs inside your environment. The README provides a concrete config that starts the server via uv and points to the QGIS MCP Python script.

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

  }
}

Available tools

ping

Checks the connection to the MCP server to ensure the channel is open and responsive.

get_qgis_info

Returns details about the installed QGIS version and environment.

load_project

Loads a QGIS project from a given filesystem path into the current session.

create_new_project

Creates a new QGIS project and saves it to disk.

get_project_info

Provides information about the currently loaded project.

add_vector_layer

Adds a vector layer to the active project with specified parameters.

add_raster_layer

Adds a raster layer to the active project with specified parameters.

get_layers

Fetches all layers present in the current project.

remove_layer

Removes a layer from the project using its identifier.

zoom_to_layer

Zooms the map view to the extent of a specified layer.

get_layer_features

Retrieves features from a vector layer, with an optional limit.

execute_processing

Runs a Processing Toolbox algorithm with provided parameters.

save_project

Saves the current project to the specified location.

render_map

Renders the current map view to an image file.

execute_code

Executes arbitrary Python code within QGIS context.