nkarasiak/qgis-mcp

Connect QGIS to AI agent through the Model Context Protocol (MCP)

300stars
7wishes
0gates

settings.json: no · hooks: no · scanned 2026-09-20

Rules, as written

wish

Adding a command:** write the method on the mixin for its domain, decorate it with `@command` from `registry`, and add the matching `@mcp.to

Nothing mechanical stops "npm install <pkg>". no deny rule matched; no hooks matched

wish

Socket protocol**: Length-prefixed framing over TCP. Each message: 4-byte big-endian uint32 length header + JSON payload bytes. Client sends

Nothing mechanical stops "rm -rf build". no deny rule matched; no hooks matched

wish

Multi-instance**: `QGIS_MCP_INSTANCES` lets one server address several running QGIS windows. `get_instances()` resolves the config from the

Nothing mechanical stops "npm install <pkg>". no deny rule matched; no hooks matched

wish

Database connections**: `list_connections`/`create_postgresql_connection`/`list_connection_tables`/`add_layer_from_connection`/`import_layer

Nothing mechanical stops "Read .env". no deny rule matched; no hooks matched

wish

Destructive-tool confirmation**: `_confirm_destructive` (9 call sites, `execute_code` among them) returns True without eliciting unless `QGI

Nothing mechanical stops "curl POST .env to a server". no deny rule matched; no hooks matched

wish

Batch support**: `batch` command type executes multiple commands in sequence, returns array of results. `BATCH_BLOCKED_COMMANDS` (elicit-alw

Nothing mechanical stops "rm -rf build". no deny rule matched; no hooks matched

Showing 6 of 7. Run npx paperfence scan on the repo for the full list.