Skip to main content
Glama
Yeguihuasheng

arcgis-pro-bridge

ArcGIS Pro Bridge(YghsBridge)

用 AI 工具外部驱动 ArcGIS Pro —— 通过 WorkBuddy、豆包、千问、Codex、Claude 等 AI 助手,
与正在运行的 ArcGIS Pro 建立连接,直接调用 ArcPy / GP 工具完成工作。不用点击、不用复制粘贴、不用手动开 Python 窗口。

"外部驱动"就是本项目的主要工作内容:让 AI 助手成为 ArcGIS Pro 的操作者,Pro 里发生什么、
做成了什么、导出到哪里,都通过 Pro 内的消息面板和通知实时告诉你。

AI 工具(WorkBuddy / 豆包 / 千问 / Codex / Claude …)
        │  MCP
        ▼
MCP 适配器 ──▶ Pro 进程内的插件 ──QueuedTask──▶ arcpy / GP 工具
                     │
                     └──▶ Pro 内消息面板 + 通知中心(实时"人话"反馈)

装上这个插件后,你的 ArcGIS Pro 就变成"可被 AI 编程"的:

  • 任何 GP 工具

  • 在 Pro 的主线程上下文里跑任意 Python

  • 读取当前打开的是哪个工程、地图里有哪些图层

  • 在 Pro 里看得到:内置「YGHS Bridge」停靠面板,实时滚动每条任务进度;
    每次 GP / Python 调用结束还会在通知中心弹一条

  • 提示是"人话":面板与通知里显示的不是裸的工具名,而是按这次要做什么生成的句子,例如

    ⇒ 给 GHFQ 添加文本字段 GHGHYDYD
    ✅ GHGHYDYD 文本字段 已添加成功(0.3 秒)
  • 任务结束自动收尾:能上图的产物静默加入当前地图,Excel/DWG 等导出物自动打开所在文件夹并提示导出位置


AI 助手外部驱动(核心用法)

本项目解决的就是一件事:让 AI 助手"接管" ArcGIS Pro

你在 AI 工具里说人话,AI 通过 MCP 驱动 Pro 完成实际操作:

AI 工具

接入方式

WorkBuddy

MCP 连接器里配置本项目的 mcp-server/server.py,对话即驱动

Claude(Desktop / Code)

mcpServers 一段 JSON 即接入

豆包 / 千问

支持 MCP 的客户端直接配

Codex / 其它编码类 AI

直接调用 mcp-server/server.py 暴露的工具

AI 能做什么(MCP 工具一览):

工具

作用

arcgis_pro_status

插件是否在线、Pro 进程号、当前工程路径

arcgis_pro_list_layers

当前地图与图层清单

arcgis_pro_show_log

在 Pro 内打开实时消息面板(人可盯着看)

arcgis_pro_run_python

在 Pro 进程内跑 Python(arcpy 可用)

arcgis_pro_run_gp

跑任意 GP 工具(含增删字段等改结构的操作)

🎬 效果演示视频用 AI 外部驱动 ArcGIS Pro(B 站)

Related MCP server: ARCclaude

功能总览

功能

说明

跑任意 GP 工具

含增删字段、改被图层引用的数据结构

在 Pro 主线程跑任意 Python

QueuedTask 上下文,ArcGISProject("CURRENT") 可用

读取工程状态

当前工程路径、全部地图与各自图层

消息面板

实时滚动任务进度,显示"人话"

通知中心

每次调用完成弹一条;失败为高优先级

自动收尾

能上图的静默上图;导出物自动开文件夹并提示位置

问题反馈菜单

一键跳转 GitHub / 抖音 / B站

端口自动避让

18750→18761 依次尝试,多开 Pro 不打架

环境要求

你要做什么

需要装什么

只用插件

ArcGIS Pro 3.4+(64 位 Windows)

用 AI 驱动

再加 Python 3.8+(纯标准库,不用装 arcpy

自己编译插件

再加 .NET 8 SDK(不需要 Visual Studio)

Python 环境说明(重要)

  • 本项目必须通过 Python 驱动脚本与 ArcGIS Pro 通信(MCP 适配器与流程脚本全部是 Python)。

  • 驱动端只依赖 Python 标准库不需要安装 arcpy——arcpy 只在 Pro 进程内由插件调用,
    驱动环境保持干净。

  • 独立虚拟环境:为避免污染系统 Python,本项目使用独立的 Python 虚拟环境(.venv/),
    其配置随本仓库上传(见 requirements.txt,当前零第三方依赖)。创建方式:

    python -m venv .venv
    .venv\Scripts\activate        # Windows

问询机制(执行约定,强制)

AI 通过本插件执行任何任务前,必须遵守以下约定:

  1. 先核对参数:执行前列出任务所需的全部参数(图层/字段/单位/坐标系/输出位置等)

  2. 缺一项就停:任何参数缺失时暂停执行,逐项列出缺失项及用途,请用户一次性补全 —— 不得自行假设、不得采用未经确认的默认值

  3. 确认后严格执行:按用户确认的参数执行,中途发现新缺失同样停下来问

  4. 破坏性操作二次确认:清空/删除/覆盖类操作,除问询外还须用户再次明确确认

  5. 执行后复核:GetCount / 抽样值 / 成果文件非空,自查后汇报

每个技能的 SKILL.md 自带「使用前必须先问询」清单(见 skills/),与本约定配套生效。

快速开始

1. 构建并安装插件

需要 ArcGIS Pro 3.4+ + .NET SDK 8(不需要 Visual Studio)。一键脚本会自动找 Pro 安装位置、
构建前校验插件清单、装完清理缓存:

./build_addin.sh

2. 重启 ArcGIS Pro(只需一次)

插件在 Pro 启动时加载,之后永久自动加载

3. 配置 MCP 客户端(以 WorkBuddy 为例)

在 WorkBuddy 的 MCP 配置文件(~/.workbuddy/mcp.json)中加入:

{
  "mcpServers": {
    "arcgis-pro-bridge": {
      "command": "python",
      "args": ["<仓库路径>/mcp-server/server.py"]
    }
  }
}

保存后在 WorkBuddy 的连接器管理里信任并启用该服务器,即可在对话中直接驱动 ArcGIS Pro。 其它 MCP 客户端(Claude Desktop、Cursor、豆包、千问等)配置方式相同。

4. 验证

在 AI 工具里说一句「看看 ArcGIS Pro 在线吗、开着什么工程」——
AI 调 arcgis_pro_status,面板同时亮起来,就说明全链路通了。

业务技能库(可选,用户自定义)

skills/ 内置 20 个规划 / 国土业务技能(用地用海指标汇总、三调 DLBM 转换、 三线占用汇总、批量地类统计、图幅号计算…),对 AI 说 「执行 skills 里的『用地用海指标汇总』」即可调用。

这是用户可自定义的部分:把你自己的工具箱 / GP 工具序列 / arcpy 脚本 按模板打包成一个 SKILL.md 放进 skills/,AI 就能像内置能力一样调用—— 打包与调用方法见 skills/README.md

收尾行为(处理完自动上图 / 打开导出目录)

任务成功后插件会自动收尾,不需要额外写代码:

  1. 能上图的产物 → 静默加入当前地图(要素类 / 独立表 / shapefile;自动去重、输入数据不会被重复加载)
    面板只记一行「已加入地图:xxx」,不弹窗口,不打断你干活

  2. 不能上图的导出物 → 打开所在文件夹(.dwg / .csv / .xlsx / .pdf / 图片 …)
    面板显示「导出位置:<目录>」,方便直接去拿文件

  3. 收尾不会替你保存工程 —— 需要落盘时自行 Ctrl+S

输出从哪里来:

来源

说明

GP 工具自动推断

按工具名 + 参数位置推断,覆盖 Buffer / Clip / Dissolve / ExportCAD / Statistics 等常用工具

Python 脚本声明

脚本里打印约定标记:

print("@@YGH-ADD " + path) 加地图

print("@@YGH-REVEAL " + folder) 打开目录

MCP 显式指定

add_to_map: [...] / reveal: [...]

安全提示

服务只绑 127.0.0.1 且无认证(与 Pro 自带 Python 窗口同一信任模型)。
它能执行任意 Python / GP 工具,不要把端口暴露到局域网。

License

MIT —— 见 LICENSE。作者:YGHS。

Related MCP Connectors

Related MCP Servers