QGIS
About
Enables AI systems to perform complex GIS operations in QGIS through a socket-based architecture that exposes geospatial capabilities like adding layers, executing processing algorithms, and rendering maps.
Details
- Author
- jjsantos01
- Repository
- jjsantos01/qgis_mcp
- GitHub stars
- 662
- Downloads
- 618
- Categories
- Developer Tools, Community, Other, Design, AI, Knowledge Base, Project Management
- Tags
- #integration
Jump to
- Two-way communication: Connect Claude AI to QGIS through a socket-based server.
- Project manipulation: Create, load and save projects in QGIS.
- Layer manipulation: Add and remove vector or raster layers to a project.
- Execute processing: Execute processing algorithms (Processing Toolbox).
- Code execution: Run arbitrary Python code in QGIS from Claude. Very powerful, but also be very cautious using this tool.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
QGISCommand (node, npx, python, etc.)uvArguments-
Argument 1
--directory -
Argument 2
/ABSOLUTE/PATH/TO/PARENT/REPO/FOLDER/qgis_mcp/src/qgis_mcp -
Argument 3
run -
Argument 4
qgis_mcp_server.py
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install the QGIS plugin by copying the qgis_mcp_plugin folder into your QGIS profile plugins directory and enabling it via the Plugins manager. Configure Claude Desktop by adding the provided JSON block to claude_desktop_config.json, pointing to the qgis_mcp_server.py file. Start the server in QGIS from Plugins > QGIS MCP > QGIS MCP and click "Start Server". Claude will then have access to a set of tools to interact with QGIS.
ping
Simple ping command to check server connectivity
get_qgis_info
Get QGIS information about the current installation
load_project
Load a QGIS project from the specified path
create_new_project
Create a new project and save it
get_project_info
Get current project information
add_vector_layer
Add a vector layer to the project
add_raster_layer
Add a raster layer to the project
get_layers
Retrieve all layers in the current project
remove_layer
Remove a layer from the project by its ID
zoom_to_layer
Zoom to the extent of a specified layer
get_layer_features
Retrieve features from a vector layer with an optional limit
execute_processing
Execute a processing algorithm with the given parameters
save_project
Save the current project to the given path
render_map
Render the current map view to an image file
execute_code
Execute arbitrary PyQGIS code provided as a string
- ping - Simple ping command to check server connectivity
- get_qgis_info - Get QGIS information about the current installation
- load_project - Load a QGIS project from the specified path
- create_new_project - Create a new project and save it
- get_project_info - Get current project information
- add_vector_layer - Add a vector layer to the project
- add_raster_layer - Add a raster layer to the project
- get_layers - Retrieve all layers in the current project
- remove_layer - Remove a layer from the project by its ID
- zoom_to_layer - Zoom to the extent of a specified layer
- get_layer_features - Retrieve features from a vector layer with an optional limit
- execute_processing - Execute a processing algorithm with the given parameters
- save_project - Save the current project to the given path
- render_map - Render the current map view to an image file
- execute_code - Execute arbitrary PyQGIS code provided as a string
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"qgis": {
"env": {},
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/REPO/FOLDER/qgis_mcp/src/qgis_mcp",
"run",
"qgis_mcp_server.py"
],
"command": "uv"
}
}
}
Linux
{
"env": [],
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/REPO/FOLDER/qgis_mcp/src/qgis_mcp",
"run",
"qgis_mcp_server.py"
],
"command": "uv"
}
Macos
{
"env": [],
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/REPO/FOLDER/qgis_mcp/src/qgis_mcp",
"run",
"qgis_mcp_server.py"
],
"command": "uv"
}
Windows
{
"env": [],
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/REPO/FOLDER/qgis_mcp/src/qgis_mcp",
"run",
"qgis_mcp_server.py"
],
"command": "uv"
}
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





