Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ARCCLAUDE_ARCGIS_PYTHONNoExplicit path to arcgispro-py3\python.exe; auto-discovered if not set
ARCCLAUDE_REQUEST_TIMEOUTNoDefault per-request timeout (seconds)300
ARCCLAUDE_STARTUP_TIMEOUTNoSeconds to wait for arcpy import180

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
arcpy_executeA

Execute Python code in the persistent ArcPy session.

arcpy is already imported. Variables persist between calls, so you can build up state across multiple invocations. If the last statement is a bare expression its repr is returned (like a REPL). stdout is captured.

Use this for anything ArcPy can do: geoprocessing, arcpy.da cursors, arcpy.mp map automation, raster algebra, arcpy.Describe, etc.

run_gp_toolA

Run a geoprocessing tool by name and return its outputs and messages.

tool accepts either the flat name ('Buffer_analysis') or module form ('analysis.Buffer'). Positional parameters go in args, named parameters in kwargs. Use describe_gp_tool first if unsure of the signature.

search_gp_toolsA

Search all available geoprocessing tools (including extension toolboxes).

Space-separated terms are ANDed, matched against tool names like 'Buffer_analysis'. Empty query lists everything (up to limit).

describe_gp_toolB

Get the syntax and full documentation for a geoprocessing tool.

create_featuresA

Create vector data (shapefile or geodatabase feature class) from GeoJSON.

This is the fastest way to MAKE data from scratch: emit a GeoJSON FeatureCollection and pick an output path. output_path decides the format: C:\data\roads.shp creates a shapefile, C:\data\my.gdb\roads a file-geodatabase feature class. Attribute fields are created from the feature properties automatically. Coordinates must be WGS84 lon/lat (the GeoJSON spec); use run_gp_tool 'Project_management' afterwards if you need another CRS. Existing outputs are overwritten. The geometry type is inferred from the data; set geometry_type (POINT, MULTIPOINT, POLYLINE, POLYGON) only when the collection mixes types and you must pick one. Returns a description of the created dataset.

export_featuresA

Read vector data (shapefile, feature class, layer) as GeoJSON.

The inverse of create_features — lets you inspect actual geometries and attributes. Optional where is a SQL where-clause to filter rows (e.g. "POP > 10000"); limit caps returned features (response says if truncated). Output coordinates are WGS84.

describe_dataB

Describe a dataset: type, spatial reference, extent, fields, row count.

Works on feature classes, shapefiles, rasters, tables, workspaces — anything arcpy.Describe understands.

list_workspaceB

Inventory a workspace (geodatabase or folder): feature classes, rasters, tables and datasets it contains.

inspect_projectB

Inspect an ArcGIS Pro project (.aprx): maps, layers, data sources, layouts and default geodatabase.

pro_live_executeA

Execute Python INSIDE the currently open ArcGIS Pro application.

Unlike arcpy_execute (headless background session), this runs in the live Pro session the user is looking at: arcpy.mp.ArcGISProject("CURRENT") works, added layers appear immediately, the open project can be saved. Requires the user to have cowork mode running — if no listener responds, the error includes the exact one-liner they must paste into Pro's Python window. Variables persist between calls (separate namespace from arcpy_execute). Caution: prefer data/layer/symbology operations; avoid rapid or repeated view/camera manipulation, which can destabilize Pro. Pass action as a short human label ("Applying symbology") - it shows in the user's add-in activity log. House rules: don't create new .aprx files, maps, layouts or layers unless the user asked; after changing a map or layout, call its .openView() so the change appears instantly.

session_statusA

Check the ArcPy session: license level, workspace, live variables. Starts the session if it isn't running yet (first start is slow).

restart_sessionA

Restart the ArcPy worker process. Clears all session variables and releases any locks/licenses. Use after a hang, crash, or to free state.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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