arcgis-pro-mcp
Drives a live ArcGIS Pro session from Claude via arcpy, enabling layer listing, dataset description, geoprocessing, and project inspection directly against an open project.
README
ArcGIS Pro MCP — Claude plugin
Drive a live, open ArcGIS Pro session from Claude using arcpy. Claude can
list layers, describe datasets, run geoprocessing, and inspect the current
project — executing directly against whatever project you have open in Pro.
Because it runs inside your open Pro session, everything happens locally on your Windows machine. This plugin is a distribution wrapper; the actual arcpy work still requires ArcGIS Pro running in front of you.
Prerequisites (required — this will not work without them)
- Windows (ArcGIS Pro is Windows-only)
- ArcGIS Pro installed with a valid license
- Claude Code or the Claude desktop / Cowork app on the same machine
- A one-time
mcppackage install into Pro's Python (handled byinstall.ps1)
If you don't have ArcGIS Pro installed and licensed, this plugin cannot do anything.
What you get
An MCP server (arcgis-pro) exposing:
| Tool | Purpose |
|---|---|
project_info() |
Current project path, default gdb, maps |
list_layers() |
Layers in the active map (CRS, source) |
describe(dataset) |
arcpy.Describe on a layer/path + fields |
execute_arcpy(code) |
Run arbitrary arcpy in the live session |
execute_arcpy_credit(code, reason, confirm_credit) |
Same, for Esri credit-consuming ops (gated) |
listener_status/pause/resume/stop() |
Control the in-Pro listener |
Plus a bundled skill (arcgis-pro-workflow) that teaches Claude the per-session
listener startup, credit-gating etiquette, and releasing Pro's UI when done.
Install
1. Install the plugin
From a local folder (e.g. this OneDrive copy):
/plugin marketplace add "C:\Users\<you>\OneDrive - Econsult Solutions Inc\Documents\Claude\plugins\arcgis-pro-mcp"
/plugin install arcgis-pro-mcp@arcgis-pro-mcp-dev
Then restart Claude Code / the desktop app so the MCP server loads.
In the Claude desktop / Cowork app you can also add the marketplace folder through the plugin UI instead of the slash command.
2. One-time environment setup
The MCP server runs under Pro's Python and needs the mcp package there. Run:
powershell -ExecutionPolicy Bypass -File .\install.ps1
This finds arcgispro-py3\python.exe, installs mcp into it, and prints the
exact listener line to use each session. If your Pro is on a non-standard path,
update the command field in .claude-plugin/plugin.json to the path the script
reports.
Using it (every session)
- Open your project in ArcGIS Pro.
- In Pro's Python window (View → Python), paste this self-locating snippet.
It finds
pro_listener.pywherever Cowork / Claude Desktop installed the plugin — you don't need to know the path (it differs per machine and per install):The Python window will show "listener ready" and then appear busy — that's expected; the pump is running.import glob, os _hits = sorted( glob.glob(os.path.join(os.environ["APPDATA"], "Claude", "**", "pro_listener.py"), recursive=True), key=os.path.getmtime, reverse=True) if not _hits: raise SystemExit("pro_listener.py not found. Is the arcgis-pro-mcp plugin installed?") print("Starting listener from:", _hits[0]) exec(open(_hits[0]).read()) - Ask Claude to do GIS work ("what layers are in my map?", "describe the parcels layer", "reproject X to Y").
- Claude calls
listener_stop()when finished to free Pro's UI. Re-run the snippet next time.
Notes on credits
execute_arcpy refuses Esri credit-consuming functions (geocoding,
EnrichLayer, network solves, agolservices, drive-time areas, etc.). Those
must go through execute_arcpy_credit with confirm_credit=True, which Claude
sets only after you explicitly approve the credit cost.
Troubleshooting
| Symptom | Fix |
|---|---|
| "Cannot reach ArcGIS Pro listener at 127.0.0.1:53535" | Pro isn't open, or you haven't run the exec(...) listener line this session. |
| MCP server not listed after install | Restart Claude Code / the desktop app. Confirm the command path in plugin.json points to your real arcgispro-py3\python.exe. |
ModuleNotFoundError: mcp |
Re-run install.ps1 (installs mcp into Pro's env). |
| Pro UI frozen / unresponsive | Have Claude call listener_stop(), or close Pro as a last resort. |
| Port 53535 in use | Another listener is already running, or the port conflicts. Stop the old one, or change PORT in both server.py and pro_listener.py. |
Sharing with your organization
To let coworkers install with one command, put this folder in a GitHub repo and have them run:
/plugin marketplace add your-org/arcgis-pro-mcp
/plugin install arcgis-pro-mcp@arcgis-pro-mcp-dev
Each coworker still needs the prerequisites above (Pro + license) and must run
install.ps1 once. You can also pre-wire the marketplace for a team via
extraKnownMarketplaces in a shared .claude/settings.json.
Author: Angel Zhong
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。