Data as of
QGISMCP for Cursor: Setup & Config
Cursor: QGISMCP links Claude Desktop to QGIS through a plugin and Python MCP server.
What you can do with QGISMCP in Cursor
A live QGIS bridge spanning layer operations, processing algorithms, custom code, and map output.
- Run Processing Toolbox algorithms with selected parameters.
- Render map images after assisted styling or analysis.
Before you start: QGISMCP in Cursor
- 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 Cursor configuration
Choose Cursor configuration scope
For QGISMCP, open Project: .cursor/mcp.json User: ~/.cursor/mcp.json. Merge into mcpServers at project or user scope.
Add QGISMCP to Cursor
Use the qgis_mcp entry below in mcpServers. Keep QGISMCP's documented stdio connection fields and your other Cursor entries.
Check QGISMCP in Cursor
QGISMCP: Enable in Cursor’s MCP settings; inspect tools.
Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
{
"mcpServers": {
"qgis_mcp": {
"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 Cursor
QGISMCP's stored tool list documents 15 tools; compare it with Cursor's connected tool list, because the stored list is not a live check.
- ping
Find ping under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Check connectivity with the QGIS plugin server.
- get_qgis_info
Find get_qgis_info under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- load_project
Find load_project under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- create_new_project
Find create_new_project under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- get_project_info
Find get_project_info under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- add_vector_layer
Find add_vector_layer under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- add_raster_layer
Find add_raster_layer under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- get_layers
Find get_layers under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- remove_layer
Find remove_layer under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Remove a layer using its identifier.
- zoom_to_layer
Find zoom_to_layer under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Set the map view to a layer's extent.
- get_layer_features
Find get_layer_features under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Read vector-layer features with an optional result limit.
- execute_processing
Find execute_processing under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Run a Processing Toolbox algorithm using supplied parameters.
- save_project
Find save_project under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Save the active project at a requested path.
- render_map
Find render_map under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Export the current map view as an image file.
- execute_code
Find execute_code under QGISMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Run arbitrary PyQGIS source supplied as a string.
Troubleshooting QGISMCP in Cursor
- Cursor must find uv for QGISMCP. Enable the project/user entry in MCP settings and inspect its tools.
- QGISMCP uses stdio here: Cursor 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 Cursor troubleshooting lives in the /clients/cursor guide.
QGISMCP — details. Cursor guide