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.