Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

QGIS MCP

Community server with 125 tools that lets an agent drive QGIS Desktop: load layers, edit features, run processing, style and print maps.

Reviewed by Sheela · Updated

Setup docs Open source

Our rating

4.0/5

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.

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-server

Is 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.

Make QGIS MCP? Show this rating on your siteQGIS MCP rated 4.0 out of 5 on ReviewRamble