home / mcp / deepseek qgis mcp server
Provides two-way MCP access to QGIS to manage projects, layers, and processing from an MCP client.
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.
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.
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 instructionsThe 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"
]
}
}
}Checks the connection to the MCP server to ensure the channel is open and responsive.
Returns details about the installed QGIS version and environment.
Loads a QGIS project from a given filesystem path into the current session.
Creates a new QGIS project and saves it to disk.
Provides information about the currently loaded project.
Adds a vector layer to the active project with specified parameters.
Adds a raster layer to the active project with specified parameters.
Fetches all layers present in the current project.
Removes a layer from the project using its identifier.
Zooms the map view to the extent of a specified layer.
Retrieves features from a vector layer, with an optional limit.
Runs a Processing Toolbox algorithm with provided parameters.
Saves the current project to the specified location.
Renders the current map view to an image file.
Executes arbitrary Python code within QGIS context.