ARCclaude

ARCclaude

Enables AI assistants to control ArcGIS Pro through natural language, executing geoprocessing tools, editing data, and automating GIS workflows via a persistent ArcPy session.

Category
访问服务器

README

ARCclaude

An open-source MCP server that gives AI assistants complete access to the ArcGIS Pro ecosystem.

ARCclaude connects Large Language Models — Claude, GPT, Gemini, local models, or anything that speaks MCP — to ArcGIS Pro through ArcPy. It is not a chatbot that answers GIS questions: it's a copilot that does the work — running geoprocessing tools, writing and debugging ArcPy, inspecting projects and data, automating maps, and building complete analysis pipelines from natural language.

"Buffer every school in the city by 500 m, clip to the district boundary, and tell me how many parcels intersect" — and it actually happens, in your local ArcGIS Pro install, with full messages and outputs reported back.

How it works

Claude / GPT / any MCP client
        │  MCP over stdio
        ▼
ARCclaude server (lightweight Python, managed by uv)
        │  JSON-lines over pipes
        ▼
ArcPy worker — persistent session on ArcGIS Pro's own Python
        ▼
ArcGIS Pro  (all licensed tools & extensions)

The mental model (read this first)

There is no chat window inside ArcGIS Pro, and you never "open" ARCclaude. The relationship is flipped:

  1. You talk to your AI app (Claude Desktop, Claude Code, Cursor, …) in plain English: "Create a shapefile of the 5 largest lakes in Ontario with name and area fields."
  2. The AI drives ArcGIS Pro's engine through ARCclaude, in the background — Pro doesn't even need to be running.
  3. You open the results in Pro like any other data: Map → Add Data → your new shapefile/geodatabase is just there, fields and all.

Pro can be open at the same time; just avoid pointing both Pro and the AI at the same geodatabase simultaneously (file locks). An in-Pro chat panel is on the roadmap (Phase 3).

Two design decisions make this robust:

  1. Esri's Python environment is never modified. The worker script uses only the standard library + arcpy, so nothing is ever installed into arcgispro-py3. No env cloning, no admin rights, upgrade-safe.
  2. The arcpy session is persistent. The slow arcpy import (~20–60 s license checkout) is paid once; after that every call is fast, and variables persist across calls like a REPL — the AI can build up state over a long workflow.

Requirements

  • Windows with ArcGIS Pro 3.x installed and licensed
  • uv (installs its own Python — you don't need one)

Quickstart

One-command install (recommended)

Paste into PowerShell — like a game installer, it checks ArcGIS Pro, installs uv if needed, downloads ARCclaude, and auto-configures Claude Code and Claude Desktop:

irm https://raw.githubusercontent.com/thaparSAAB14/ARCclaude/main/install.ps1 | iex

Or download the repo and double-click install.cmd. Re-running it updates an existing install.

Manual install

git clone https://github.com/thaparSAAB14/ARCclaude.git
cd ARCclaude
uv sync

New to this? The complete setup guide walks through everything from a blank machine, including client configs and troubleshooting.

Claude Code

The repo ships a project-scoped .mcp.json, so opening this folder in Claude Code just works. To register it globally instead:

claude mcp add arcclaude --scope user -- uv --directory C:\path\to\arcclaude run arcclaude

Claude Desktop

Add to %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "arcclaude": {
      "command": "uv",
      "args": ["--directory", "C:\\path\\to\\arcclaude", "run", "arcclaude"]
    }
  }
}

Any other MCP-capable client (Cursor, Windsurf, open-source agents, GPT/Gemini via MCP adapters) configures the same way: uv --directory <repo> run arcclaude over stdio.

Tools

Tool What it does
arcpy_execute Run any Python/ArcPy code in the persistent session (REPL semantics)
search_gp_tools Search all ~1800 geoprocessing tools, incl. extension toolboxes
describe_gp_tool Syntax + full documentation for any GP tool
run_gp_tool Execute a GP tool by name with parameters; returns outputs + messages
create_features Make vector data from GeoJSON — shapefiles or geodatabase feature classes, fields auto-created, geometry type inferred
export_features Read any vector dataset back as GeoJSON (SQL where filter, row limit)
describe_data Dataset profile: type, CRS, extent, fields, row count
list_workspace Inventory a geodatabase or folder
inspect_project Maps, layers, sources, layouts of an .aprx
session_status License level, workspace, live session variables
restart_session Kill and restart the ArcPy session (clears state, releases locks)

Because discovery is dynamic (arcpy.ListTools), newly installed extensions and custom toolboxes are exposed automatically — no code changes needed.

Security model

arcpy_execute runs arbitrary Python code on your machine with your permissions. That is the point — it's what makes the copilot universal — but understand it:

  • Run it only with MCP clients that show you tool calls and let you approve them (Claude Code and Claude Desktop both do).
  • The worker inherits your ArcGIS license and file access; it can edit and delete data you can.
  • Never expose the server over a network transport without adding authentication.

Configuration

Environment variable Purpose Default
ARCCLAUDE_ARCGIS_PYTHON Explicit path to arcgispro-py3\python.exe auto-discover (registry → known paths)
ARCCLAUDE_STARTUP_TIMEOUT Seconds to wait for arcpy import 180
ARCCLAUDE_REQUEST_TIMEOUT Default per-request timeout (seconds) 300

Project documents

  • Setup guide — complete walkthrough: install, client configs, troubleshooting
  • Vision — the full scope this project is building toward
  • Architecture — design decisions and worker protocol
  • Roadmap — phased plan from this MVP to the full vision
  • Contributing

Status

Alpha (v0.2.0). The core execution engine works end-to-end. The surface area of the vision — Pro SDK add-in for live session control, ArcGIS Online/Enterprise, open-data connectors — is roadmap. Issues and PRs welcome.

License

Apache-2.0. ArcGIS, ArcPy and ArcGIS Pro are trademarks of Esri. This is an independent community project, not affiliated with or endorsed by Esri.

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选