What is QGIS MCP?
QGIS MCP, maintained by Nicolas Karasiak, connects an MCP client to a running QGIS Desktop through a QGIS plugin. The plugin, installed from QGIS's own plugin manager, runs a TCP socket server inside QGIS's event loop on localhost port 9876; the MCP server, run with uvx from the GitHub archive, turns tool calls into PyQGIS commands. It supports QGIS 3.28 to 4.x and documents setup for Claude Code, Codex, Gemini CLI, Cursor, VS Code, Claude Desktop and about ten other clients.
This is the actively maintained QGIS server. The better-known jjsantos01/qgis_mcp, with about 1,140 stars, has had no commit since 1 October 2025. nkarasiak/qgis-mcp was created in March 2026, has about 403 stars and released v0.15.2 on 17 October 2026. The plugin is GPL v2 or later and the MCP server MIT.
How to install QGIS MCP
uvx --from https://github.com/nkarasiak/qgis-mcp/archive/refs/heads/main.zip qgis-mcp-serverIs QGIS MCP worth it?
QGIS MCP goes well beyond the 'load a layer and render it' demos that most GIS servers stop at. Its 125 tools cover projects, layers, feature editing with commit and rollback, field calculation, styling, PostgreSQL connections and SQL, raster calculator and zonal statistics, the full Processing toolbox including models and background jobs, print layouts and atlases, plus checkpoints that snapshot a session before an agent changes it. Tools carry readOnly, destructive and idempotent annotations, so a client that honours them asks before deleting features.
The design shows attention to context cost. In the default granular mode the tool list is large; setting QGIS_MCP_TOOL_MODE=compound folds it into 27 grouped tools that take an action and parameters, with every command still reachable. One server can also drive several QGIS windows on different ports, each with its own connection and lock, although that does not work in compound mode, and the server refuses to start rather than send writes to the wrong window.
The risk sits in one tool. execute_code runs arbitrary PyQGIS, and by default the socket has no authentication: it binds to localhost, but any local process that can reach port 9876 can drive QGIS. A QGIS_MCP_TOKEN shared secret closes that to other users, and the plugin refuses to bind to a non-loopback address without one, which is the right default. The install line pulls the main branch archive from GitHub rather than a pinned package, so an update to main changes what runs on the next refresh.
Against the older jjsantos01 server, the choice is not close: that project has a larger star count and no commits in thirteen months, while this one ships fixes every few weeks and has one open issue. The limit is the one shared by every QGIS bridge: the model has to know PyQGIS and Processing algorithm names well, and a wrong CRS or a silent reprojection is as easy for an agent to make as for a junior analyst.
Where it earns its place
A planning analyst at a county council
Produce a parcel map series for every ward from one template
Have the agent load the parcel and ward layers, set up a layout with map, legend and scale bar, configure an atlas on wards and export_atlas to PDF. Free; the time saved is the hour of layout fiddling per series.
An environmental consultant screening sites for a client
Compute land-cover statistics for 40 candidate sites
Ask for zonal_statistics of a land-cover raster over the site polygons and export the table. Create a checkpoint first so a mistaken field calculation can be rolled back.
A GIS developer writing QGIS plugins
Have a coding agent test plugin changes against a live QGIS
Use reload_plugin and get_message_log from Claude Code to iterate without restarting QGIS. Set QGIS_MCP_TOKEN on a shared workstation, since execute_code is reachable from any local process otherwise.
Before you commit
- Setup
- Install the QGIS MCP plugin from QGIS's plugin manager, restart QGIS and click Start Server, then add uvx --from https://github.com/nkarasiak/qgis-mcp/archive/refs/heads/main.zip qgis-mcp-server to the client. The ping tool returns pong when both sides are connected; diagnose checks versions after updates.
- Integrations
- 125 tools across project, layers, features, editing, styling, connections, rendering, processing, layouts, atlas, query and system, or 27 in compound mode. Streamable HTTP is available via QGIS_MCP_TRANSPORT, and QGIS_MCP_INSTANCES drives several QGIS windows.
- Data and privacy
- Everything runs locally; map data and attributes go to your model provider through the client. The socket on localhost:9876 has no authentication unless QGIS_MCP_TOKEN is set, and execute_code runs arbitrary PyQGIS. Web layers and PostgreSQL connections fetch external data that the model then reads.
- Cost at scale
- Free. The real cost is tokens: the granular 125-tool list is heavy in every session, which compound mode reduces to 27 tools.
- Limits
- A newer server talking to an older plugin returns errors until both are updated; multiple instances need granular mode. Long Processing runs report progress through MCP logging rather than blocking the client.
What’s good
- 125 tools including Processing, layouts, atlas and SQL
- Compound mode cuts the list to 27 tools
- Destructive-tool annotations and session checkpoints
- Optional token auth; refuses network binding without it
What’s not
- execute_code runs arbitrary PyQGIS
- No authentication on the local socket by default
- Installs from the unpinned main branch archive
- Plugin and server versions must be kept in step
Best for
GIS analysts and planners who want an agent to run repeatable QGIS workflows on their own desktop.
QGIS MCP alternatives
QGIS MCP: common questions
- Is QGIS MCP worth it?
- A thorough, carefully built bridge to QGIS that covers real GIS work, from processing to atlas layouts, provided you respect the arbitrary-code tool it ships with. We rate it 4.0 out of 5.
- How much does QGIS MCP cost?
- Free and open source (MCP server MIT, QGIS plugin GPL-2.0-or-later). QGIS itself is free.
- What are the downsides of QGIS MCP?
- execute_code runs arbitrary PyQGIS; no authentication on the local socket by default; installs from the unpinned main branch archive; plugin and server versions must be kept in step.
- Who is QGIS MCP best for?
- GIS analysts and planners who want an agent to run repeatable QGIS workflows on their own desktop.
- How much does QGIS MCP cost for a team or in production?
- Free. The real cost is tokens: the granular 125-tool list is heavy in every session, which compound mode reduces to 27 tools.
- Is QGIS MCP safe for company data?
- Everything runs locally; map data and attributes go to your model provider through the client. The socket on localhost:9876 has no authentication unless QGIS_MCP_TOKEN is set, and execute_code runs arbitrary PyQGIS. Web layers and PostgreSQL connections fetch external data that the model then reads.
- What are the best QGIS MCP alternatives?
- The closest alternatives we have reviewed are Google Maps Grounding Lite and MCP for Blender.
Answers checked Oct 31, 2026.