ArcGIS MCP Bridge — Claude Code MCP server: setup
This MCP server exposes ArcPy and ArcGIS Pro tools to coding agents. Use it to run GIS operations from natural-language requests.
claude mcp add --env ARCPY_PYTHON_PATH=<ARCPY_PYTHON_PATH> --env ARCGIS_MCP_ALLOWED_ROOTS=<ARCGIS_MCP_ALLOWED_ROOTS> --env ARCGIS_MCP_SCRATCH_GDB=<ARCGIS_MCP_SCRATCH_GDB> --env ARCGIS_MCP_MAX_WORKERS=<ARCGIS_MCP_MAX_WORKERS> --transport stdio arcgis-mcp-bridge -- uvx arcgis-mcp-bridgeWhat ArcGIS MCP Bridge does
ArcGIS MCP Bridge gives an agent access to a catalog of 100 ArcGIS Pro operations, including geodatabase work, layer handling, spatial analysis, geometry checks, and map tasks. Communication uses JSON-RPC over stdio, while failures are returned as structured results for validation, paths, licensing, and geoprocessing.
The bridge keeps the MCP-facing server separate from the ArcPy worker. The first process handles requests and starts jobs; the worker runs on the ArcGIS Pro Python interpreter. PathGuard limits filesystem access to approved roots. Three core endpoints are included: health_check, list_layers, and execute_spatial_tool.
Windows, ArcGIS Pro, and Python 3.11 or newer are required. Set ARCPY_PYTHON_PATH to the ArcGIS Pro environment that contains the package. A different interpreter can make the worker fail when it loads ArcPy or native extensions.
What it helps with
- run ArcGIS Pro geoprocessing from an agent
- inspect feature classes inside a geodatabase
- create buffers and spatial analysis outputs
- check and repair geometry issues
- calculate terrain values from raster data
Example prompts for the agent
- List feature classes in
C:\GIS\city.gdbwhose names start withroad_. - Buffer every parcel in my geodatabase by 50 meters and save the result to scratch.
- Calculate slope and aspect from
C:\GIS\dem.tif.
How to install ArcGIS MCP Bridge
Platform CLI
claude mcp add --env ARCPY_PYTHON_PATH=<ARCPY_PYTHON_PATH> --env ARCGIS_MCP_ALLOWED_ROOTS=<ARCGIS_MCP_ALLOWED_ROOTS> --env ARCGIS_MCP_SCRATCH_GDB=<ARCGIS_MCP_SCRATCH_GDB> --env ARCGIS_MCP_MAX_WORKERS=<ARCGIS_MCP_MAX_WORKERS> --transport stdio arcgis-mcp-bridge -- uvx arcgis-mcp-bridgeReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from arcgis-mcp-bridge <command>
Platform CLI
codex mcp add arcgis-mcp-bridge --env ARCPY_PYTHON_PATH=<ARCPY_PYTHON_PATH> --env ARCGIS_MCP_ALLOWED_ROOTS=<ARCGIS_MCP_ALLOWED_ROOTS> --env ARCGIS_MCP_SCRATCH_GDB=<ARCGIS_MCP_SCRATCH_GDB> --env ARCGIS_MCP_MAX_WORKERS=<ARCGIS_MCP_MAX_WORKERS> -- uvx arcgis-mcp-bridgeReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from arcgis-mcp-bridge <command>
Config file
{
"mcpServers": {
"arcgis-mcp-bridge": {
"command": "uvx",
"args": [
"arcgis-mcp-bridge"
],
"env": {
"ARCPY_PYTHON_PATH": "<ARCPY_PYTHON_PATH>",
"ARCGIS_MCP_ALLOWED_ROOTS": "<ARCGIS_MCP_ALLOWED_ROOTS>",
"ARCGIS_MCP_SCRATCH_GDB": "<ARCGIS_MCP_SCRATCH_GDB>",
"ARCGIS_MCP_MAX_WORKERS": "<ARCGIS_MCP_MAX_WORKERS>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from arcgis-mcp-bridge <command>
Config file
{
"servers": {
"arcgis-mcp-bridge": {
"type": "stdio",
"command": "uvx",
"args": [
"arcgis-mcp-bridge"
],
"env": {
"ARCPY_PYTHON_PATH": "<ARCPY_PYTHON_PATH>",
"ARCGIS_MCP_ALLOWED_ROOTS": "<ARCGIS_MCP_ALLOWED_ROOTS>",
"ARCGIS_MCP_SCRATCH_GDB": "<ARCGIS_MCP_SCRATCH_GDB>",
"ARCGIS_MCP_MAX_WORKERS": "<ARCGIS_MCP_MAX_WORKERS>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from arcgis-mcp-bridge <command>
Platform CLI
gemini mcp add -e ARCPY_PYTHON_PATH=<ARCPY_PYTHON_PATH> -e ARCGIS_MCP_ALLOWED_ROOTS=<ARCGIS_MCP_ALLOWED_ROOTS> -e ARCGIS_MCP_SCRATCH_GDB=<ARCGIS_MCP_SCRATCH_GDB> -e ARCGIS_MCP_MAX_WORKERS=<ARCGIS_MCP_MAX_WORKERS> arcgis-mcp-bridge uvx arcgis-mcp-bridgeReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from arcgis-mcp-bridge <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about ArcGIS MCP Bridge
How do I install ArcGIS MCP Bridge in Claude Code?
Run claude mcp add arcgis-mcp-bridge -e ARCPY_PYTHON_PATH=<ARCPY_PYTHON_PATH> -- uvx arcgis-mcp-bridge.
What does ArcGIS MCP Bridge do?
It connects ArcPy and ArcGIS Pro operations to an MCP host. An agent can work with layers, geodatabases, and geoprocessing tasks through plain-language requests.
What does the server require?
It needs Windows, a licensed ArcGIS Pro setup, and Python 3.11 or newer. ARCPY_PYTHON_PATH must point to the ArcGIS Pro Python environment.