qgis-mcp-codex

qgis-mcp-codex

Connects OpenAI Codex Desktop to QGIS Desktop for natural language GIS operations, including project management, layer manipulation, and algorithm execution.

Category
访问服务器

README

OpenAI Codex QGIS MCP

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 on localhost: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.
  • uv package 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:

  1. Copy the folder qgis_mcp_codex_plugin to your QGIS profile plugin directory.

  2. The final path usually looks like:

    C:\Users\User\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\qgis_mcp_codex_plugin
    
  3. Confirm these files are directly inside that folder:

    metadata.txt
    __init__.py
    qgis_mcp_codex_plugin.py
    
  4. Restart QGIS Desktop.

  5. Open Plugins > Manage and Install Plugins.

  6. Enable QGIS MCP Codex.

  7. Open Plugins > QGIS MCP Codex > QGIS MCP Codex.

  8. Click Start Server.

ZIP install:

  1. Open PowerShell in the repository root, the folder that contains this README.md.
  2. Run:
.\scripts\package_qgis_plugin.ps1
  1. This creates:
dist\qgis_mcp_codex_plugin.zip
  1. In QGIS, open Plugins > Manage and Install Plugins > Install from ZIP.

  2. Select the generated ZIP file:

    <repo-root>\dist\qgis_mcp_codex_plugin.zip
    
  3. Click Install Plugin, restart QGIS if needed, then enable QGIS 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

  1. Start QGIS Desktop.

  2. Start the QGIS MCP Codex plugin server on port 9877.

  3. Restart Codex Desktop if you just changed plugin config.

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

  • ping
  • get_qgis_info
  • load_project
  • create_new_project
  • get_project_info
  • add_vector_layer
  • add_raster_layer
  • get_layers
  • remove_layer
  • zoom_to_layer
  • get_layer_features
  • execute_processing
  • save_project
  • render_map
  • execute_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 Codex is running on port 9877.
  • If QGIS does not detect the plugin, confirm the folder is under python\plugins and is not nested twice.
  • If port 9877 is busy, change the port in the QGIS plugin UI and update the bundled MCP server default in src/qgis_mcp_codex/qgis_mcp_server.py.
  • If uv is 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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选