QGIS for OpenAI Codex
FreeNot checkedA server bridging OpenAI Codex Desktop with QGIS Desktop for AI-assisted geospatial analysis and map rendering.
About
A server bridging OpenAI Codex Desktop with QGIS Desktop for AI-assisted geospatial analysis and map rendering.
README
OpenAI Codex QGIS MCP connects Codex Desktop to QGIS Desktop through the Model Context Protocol (MCP). It bundles both sides needed for Codex:
- A Codex-compatible MCP server.
- A QGIS Desktop plugin that opens a local socket server.
- A Codex plugin manifest, MCP config, and GIS pre-flight skill.
This project is intentionally separated from the Claude-compatible QGIS MCP implementation. The Codex bundle uses port 9877 by default so it can coexist with the original Claude-oriented QGIS MCP plugin on port 9876.
Features
- Connect OpenAI Codex Desktop to QGIS Desktop.
- Create, load, inspect, and save QGIS projects.
- Add and remove vector or raster layers.
- List layers and inspect vector features.
- Zoom to layers and render the current map view to an image.
- Run QGIS Processing algorithms.
- Execute focused PyQGIS code inside QGIS Desktop when needed.
- Provide a Codex GIS skill for CRS, geometry, schema, extent, and null-geometry pre-flight checks.
Repository Layout
src/qgis_mcp_codex/- bundled Codex-compatible MCP server and socket client.qgis_mcp_codex_plugin/- QGIS Desktop plugin for Codex, listening onlocalhost:9877.plugins/qgis-mcp-codex/- Codex plugin manifest, MCP config, launcher, and skill..agents/plugins/marketplace.json- local Codex plugin marketplace entry.scripts/package_qgis_plugin.ps1- helper to package the QGIS plugin as a ZIP.
Requirements
- QGIS 3.x.
- OpenAI Codex Desktop.
- Python 3.12 or newer for the MCP server.
uvpackage manager.- Windows PowerShell for the included packaging helper.
Install uv on Windows PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
QGIS Desktop Plugin Setup
Manual install:
Copy the folder
qgis_mcp_codex_pluginto your QGIS profile plugin directory.The final path usually looks like:
C:\Users\User\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\qgis_mcp_codex_pluginConfirm these files are directly inside that folder:
metadata.txt __init__.py qgis_mcp_codex_plugin.pyRestart QGIS Desktop.
Open
Plugins > Manage and Install Plugins.Enable
QGIS MCP Codex.Open
Plugins > QGIS MCP Codex > QGIS MCP Codex.Click
Start Server.
ZIP install:
- Open PowerShell in the repository root, the folder that contains this
README.md. - Run:
.\scripts\package_qgis_plugin.ps1
- This creates:
dist\qgis_mcp_codex_plugin.zip
In QGIS, open
Plugins > Manage and Install Plugins > Install from ZIP.Select the generated ZIP file:
<repo-root>\dist\qgis_mcp_codex_plugin.zipClick
Install Plugin, restart QGIS if needed, then enableQGIS MCP Codex.
Codex Desktop Setup
Edit your Codex Desktop config file. On Windows, the usual path is:
C:\Users\<your-user>\.codex\config.toml
For example, on a machine where the Windows user is User, the path is:
C:\Users\User\.codex\config.toml
If your Codex config lives somewhere else, edit that config.toml instead.
Add this local plugin marketplace configuration:
[marketplaces.qgis-mcp-local]
source_type = "local"
source = 'C:\path\to\OpenAICodex-QGIS-MCP'
[plugins."qgis-mcp-codex@qgis-mcp-local"]
enabled = true
Replace C:\path\to\OpenAICodex-QGIS-MCP with the absolute path to this repository.
Restart Codex Desktop after editing the config.
The Codex MCP server entry is named qgis. It launches:
plugins/qgis-mcp-codex/scripts/launch_qgis_mcp.py
The launcher runs the bundled server:
src/qgis_mcp_codex/qgis_mcp_server.py
Test The Connection
Start QGIS Desktop.
Start the
QGIS MCP Codexplugin server on port9877.Restart Codex Desktop if you just changed plugin config.
Ask Codex:
Use the QGIS MCP tool to ping QGIS.
Expected response includes pong: true.
You can also ask:
Use the QGIS MCP tool to get QGIS info and current project info.
Available MCP Tools
pingget_qgis_infoload_projectcreate_new_projectget_project_infoadd_vector_layeradd_raster_layerget_layersremove_layerzoom_to_layerget_layer_featuresexecute_processingsave_projectrender_mapexecute_code
execute_code runs arbitrary PyQGIS code inside QGIS Desktop. Use it carefully and prefer narrower tools or QGIS Processing algorithms when possible.
Troubleshooting
- If Codex cannot connect, confirm QGIS Desktop is open and
QGIS MCP Codexis running on port9877. - If QGIS does not detect the plugin, confirm the folder is under
python\pluginsand is not nested twice. - If port
9877is busy, change the port in the QGIS plugin UI and update the bundled MCP server default insrc/qgis_mcp_codex/qgis_mcp_server.py. - If
uvis not found, install it and restart Codex Desktop. - If Codex does not show the plugin after config changes, restart Codex Desktop.
Credits
This project is based on and adapted from jjsantos01/qgis_mcp, which connects QGIS Desktop to Claude Desktop through MCP.
The original QGIS MCP project is itself based on the BlenderMCP approach by Siddharth Ahuja. This repository separates the Codex-compatible implementation into its own MCP server, QGIS plugin, Codex plugin metadata, and default port.
Installing QGIS for OpenAI Codex
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/geo2004/openaicodex-qgis-mcpFAQ
Is QGIS for OpenAI Codex MCP free?
Yes, QGIS for OpenAI Codex MCP is free — one-click install via Unyly at no cost.
Does QGIS for OpenAI Codex need an API key?
No, QGIS for OpenAI Codex runs without API keys or environment variables.
Is QGIS for OpenAI Codex hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install QGIS for OpenAI Codex in Claude Desktop, Claude Code or Cursor?
Open QGIS for OpenAI Codex on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare QGIS for OpenAI Codex with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
