Data as of
QGISMCP for Claude Code: Setup & Config
Claude Code: QGISMCP links Claude Desktop to QGIS through a plugin and Python MCP server.
What you can do with QGISMCP in Claude Code
A live QGIS bridge spanning layer operations, processing algorithms, custom code, and map output.
- Create and save GIS projects through Claude.
- Render map images after assisted styling or analysis.
Before you start: QGISMCP in Claude Code
- QGIS 3.x; README testing was limited to 3.22
- Python 3.10 or later
- uv
- Claude Desktop
- The enabled QGIS MCP plugin and its running socket server
Replace the documented absolute-path placeholder with the checkout location. Copy qgis_mcp_plugin into the active profile's plugins directory, restart QGIS, enable it, then use its Start Server action. No required environment variables are stated.
QGISMCP Claude Code configuration
Choose Claude Code configuration scope
For QGISMCP, open Project scope: .mcp.json at the repository root. Project JSON: merge into mcpServers; user scope: use the CLI.
Add QGISMCP to Claude Code
Use the qgis_mcp entry below in mcpServers. Keep QGISMCP's documented stdio connection fields and your other Claude Code entries.
Check QGISMCP in Claude Code
QGISMCP: Inspect claude mcp list and /mcp status.
Config file · Project scope: .mcp.json at the repository root
{
"mcpServers": {
"qgis_mcp": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/REPO/FOLDER/qgis_mcp/src/qgis_mcp",
"run",
"qgis_mcp_server.py"
],
"env": {}
}
}
}claude mcp add-json --scope project 'qgis_mcp' '{"type":"stdio","command":"uv","args":["--directory","/ABSOLUTE/PATH/TO/PARENT/REPO/FOLDER/qgis_mcp/src/qgis_mcp","run","qgis_mcp_server.py"],"env":{}}'QGISMCP tools available to Claude Code
QGISMCP's stored tool list documents 15 tools; compare it with Claude Code's connected tool list, because the stored list is not a live check.
- ping
For QGISMCP's ping, review the permission request and arguments in Claude Code before approval.
- get_qgis_info
For QGISMCP's get_qgis_info, review the permission request and arguments in Claude Code before approval.
- load_project
For QGISMCP's load_project, review the permission request and arguments in Claude Code before approval.
Open a project from a supplied filesystem path.
- create_new_project
For QGISMCP's create_new_project, review the permission request and arguments in Claude Code before approval.
Create and save a new QGIS project.
- get_project_info
For QGISMCP's get_project_info, review the permission request and arguments in Claude Code before approval.
Inspect information about the active project.
- add_vector_layer
For QGISMCP's add_vector_layer, review the permission request and arguments in Claude Code before approval.
Load vector data as a project layer.
- add_raster_layer
For QGISMCP's add_raster_layer, review the permission request and arguments in Claude Code before approval.
- get_layers
For QGISMCP's get_layers, review the permission request and arguments in Claude Code before approval.
- remove_layer
For QGISMCP's remove_layer, review the permission request and arguments in Claude Code before approval.
Remove a layer using its identifier.
- zoom_to_layer
For QGISMCP's zoom_to_layer, review the permission request and arguments in Claude Code before approval.
- get_layer_features
For QGISMCP's get_layer_features, review the permission request and arguments in Claude Code before approval.
- execute_processing
For QGISMCP's execute_processing, review the permission request and arguments in Claude Code before approval.
- save_project
For QGISMCP's save_project, review the permission request and arguments in Claude Code before approval.
Save the active project at a requested path.
- render_map
For QGISMCP's render_map, review the permission request and arguments in Claude Code before approval.
Export the current map view as an image file.
- execute_code
For QGISMCP's execute_code, review the permission request and arguments in Claude Code before approval.
Run arbitrary PyQGIS source supplied as a string.
Troubleshooting QGISMCP in Claude Code
- If QGISMCP fails to start, check uv, the working directory, and Claude Code's selected scope; inspect claude mcp list and /mcp.
- QGISMCP uses stdio here: Claude Code must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
- Known limitation: Requires manual plugin installation and starting its server in QGIS.
- Known limitation: The README reports testing only on QGIS 3.22.
- Known limitation: Arbitrary Python execution carries an explicit caution in the README.
- General Claude Code troubleshooting lives in the /clients/claude-code guide.
QGISMCP — details. Claude Code guide