Skip to main content
Glama

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.

Related MCP server: ArcGIS Pro Bridge MCP Server

Requirements

  • Windows with ArcGIS Pro 3.x installed and licensed

  • uv (installs its own Python — you don't need one)

Quickstart

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.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/thaparSAAB14/ARCclaude'

If you have feedback or need assistance with the MCP directory API, please join our Discord server