Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ARCGIS_MCP_HOSTNoHost of the bridge127.0.0.1
ARCGIS_MCP_PORTNoPort of the bridge6510
ARCGIS_MCP_TIMEOUTNoTimeout in seconds for long-running geoprocessing300

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
pingA

Check that the ArcGIS Pro bridge is reachable and see which project it is attached to.

get_capabilitiesA

List every command the connected bridge supports, grouped by area. Use this to discover functionality beyond the named tools.

diagnoseA

Self-check the connection: ArcGIS Pro version, licence, open project, active map, open map view and write access. Run this first when something does not work.

get_arcgis_infoB

ArcGIS Pro version, licence level, available extensions and the current project path.

get_project_infoB

Project paths, default geodatabase and toolbox, maps, layouts, folder and database connections.

save_projectA

Save the ArcGIS Pro project (.aprx), or save a copy elsewhere.

list_mapsA

List all maps and scenes with coordinate system and layer counts.

create_mapC

Create a new map or scene in the project.

remove_mapC

Delete a map from the project.

activate_mapA

Open/activate a map's view in the ArcGIS Pro UI. Needed before camera commands and export_map_view.

set_map_propertiesC

Rename a map or change its coordinate system.

get_map_extentC

The combined extent of all data layers in a map.

get_environmentA

Read the current arcpy geoprocessing environment settings.

set_environmentB

Set arcpy geoprocessing environment settings such as workspace, outputCoordinateSystem, extent, mask, cellSize, overwriteOutput or parallelProcessingFactor.

get_layersA

List the layers (with draw order and group nesting) and standalone tables in a map. Start here to see what is in the project.

get_layer_infoA

Full detail for one layer: data source, coordinate system, extent, fields, feature count, renderer and label state.

add_layerB

Add data to a map from a path or service URL: feature class, shapefile, raster, table, .lyrx layer file or web service.

add_web_layerB

Add a web service layer (Feature/Map/Image service, WMS, WMTS, vector tile) by URL.

remove_layerC

Remove a layer or standalone table from a map.

rename_layerC

Rename a layer in the table of contents.

duplicate_layerB

Copy a layer within the map so it can be symbolised differently.

set_layer_visibilityB

Show or hide one layer, several layers, or every layer in the map.

set_layer_transparencyC

Set layer transparency (0 = opaque, 100 = fully transparent).

set_layer_scale_rangeB

Limit the scale range a layer draws at.

set_definition_queryC

Set a layer's definition query (SQL where clause). Empty string clears it.

move_layerC

Reorder a layer relative to another, or move it into a group layer.

create_group_layerB

Create a group layer, optionally moving existing layers into it.

zoom_to_layerB

Zoom the map view to a layer's extent.

set_basemapB

Set the basemap: Topographic, Imagery, Imagery Hybrid, Streets, Navigation, Light Gray Canvas, Dark Gray Canvas, Terrain, Oceans, OpenStreetMap, National Geographic Style Map.

get_broken_layersA

List layers across all maps whose data source is missing.

repair_layer_sourceB

Repoint a layer at a new workspace or dataset to fix a broken source.

add_joinC

Join a table to a layer on a common field.

remove_joinC

Remove a join from a layer.

get_featuresB

Read attribute rows from a layer, table or dataset path, with an optional where clause, field subset, ordering and WKT geometry.

count_featuresC

Count features, optionally matching a where clause.

get_unique_valuesC

Distinct values of a field with the count of rows for each.

get_field_statisticsC

min / max / mean / median / sum / standard deviation of a numeric field.

summarize_featuresB

Group rows by one or more fields and aggregate -- the fast way to answer 'how many / how much per category' without geoprocessing.

insert_featuresC

Insert new rows into a layer or table.

update_featuresB

Update attributes and/or geometry of rows matching a where clause.

delete_featuresC

Delete rows matching a where clause.

save_editsA

Commit pending edits. ArcGIS Pro keeps edits open so they can be undone, which also leaves the data locked until they are saved -- deleting or overwriting an edited dataset fails until then.

discard_editsB

Throw away pending edits.

calculate_fieldC

Calculate field values across a layer, e.g. expression "!Shape_Area! / 10000".

select_featuresC

Select features by SQL where clause.

select_by_locationC

Select features by spatial relationship to another layer.

get_selectionB

Report what is currently selected, per layer, with ObjectIDs and optionally the attribute rows.

set_selectionC

Select specific features by ObjectID.

clear_selectionA

Clear the selection on one layer, or on every layer in the map.

zoom_to_selectionC

Zoom the map view to the currently selected features.

list_fieldsB

List a layer's fields with type, alias, length and domain.

add_fieldC

Add a field to a layer or table.

add_fieldsC

Add several fields in one call.

delete_fieldC

Delete one or more fields.

alter_fieldC

Rename a field or change its alias/length.

create_feature_classB

Create an empty feature class, by default in the project's default geodatabase, and add it to the map.

create_tableB

Create an empty standalone table.

create_file_geodatabaseC

Create a new file geodatabase.

truncate_tableA

Delete every row from a table or feature class, keeping the schema.

delete_datasetB

Delete a dataset from disk or a geodatabase. This cannot be undone.

export_featuresA

Export a layer -- honouring its current selection and definition query -- to a new dataset.

run_geoprocessing_toolA

Run any arcpy geoprocessing tool -- the universal escape hatch for analysis. Layer names resolve to live layers so selections and definition queries apply. Call describe_geoprocessing_tool first if the parameter names are not known.

list_geoprocessing_toolsA

Search the available geoprocessing tools by name.

list_toolboxesB

List the arcpy toolbox modules and any toolboxes in the project.

describe_geoprocessing_toolA

Get a tool's parameters, data types, defaults and usage text before running it.

run_python_toolbox_toolC

Run a tool from a custom .pyt / .atbx / .tbx toolbox on disk.

check_extensionB

Check, and optionally check out, an ArcGIS extension licence.

get_messagesB

Messages from the most recent geoprocessing operation.

set_layer_rendererB

Change a layer's symbology: a single symbol, unique values by category, or a classified/continuous colour scheme by numeric field.

get_layer_symbologyA

Inspect a layer's current renderer, class breaks, unique values and label settings.

list_color_rampsC

List the colour ramps available in the project.

set_layer_labelingC

Turn labels on or off and set the expression, font and halo.

apply_symbology_from_layerB

Copy symbology from a .lyrx file or another layer.

save_layer_fileC

Save a layer with its symbology to a .lyrx file for reuse.

get_map_viewA

Current camera position: centre, scale, rotation and visible extent. Requires the map's tab to be open in ArcGIS Pro.

set_map_viewA

Move the map view: set an extent, a centre point, a scale and/or a rotation.

export_map_viewA

Render the map view to PNG and return the image so it can be looked at -- the way to visually check a map. Requires the map's tab to be open in ArcGIS Pro.

list_bookmarksB

List the spatial bookmarks defined on a map.

create_bookmarkB

Save the current view, or a given extent, as a named bookmark.

apply_bookmarkB

Zoom the map view to a bookmark.

delete_bookmarkB

Delete a bookmark from a map.

list_layoutsA

List the print layouts with page size and element counts.

get_layout_infoB

Inspect a layout: page setup and every element with position and size.

create_layoutB

Create a new layout page, by default with a map frame filling it.

delete_layoutC

Delete a layout from the project.

add_map_frameC

Add a map frame to a layout at a page position.

set_map_frame_extentC

Point a layout's map frame at a layer, an extent or a scale.

add_layout_textB

Add a text element such as a title or credits to a layout.

add_layout_legendC

Add a legend tied to a layout's map frame.

add_layout_scale_barB

Add a scale bar tied to a layout's map frame.

add_layout_north_arrowB

Add a north arrow tied to a layout's map frame.

add_layout_pictureC

Place an image such as a logo on a layout.

set_layout_elementB

Move, resize, rename, hide or change the text of any layout element.

delete_layout_elementC

Remove an element from a layout.

export_layoutA

Export a layout to PDF / PNG / JPEG / SVG / TIFF. PNG and JPEG come back as an inline image so the result can be checked.

preview_layoutA

Render a layout to a temporary image and return it, without writing a file -- use it to visually check a layout while building it.

export_map_seriesB

Export a layout's map series (map book) to a multi-page PDF.

get_raster_infoB

Raster detail: bands, size, cell size, pixel type, statistics and CRS.

set_raster_symbologyC

Set a raster layer's colorizer and colour ramp.

raster_calculatorA

Map algebra. Bind rasters to short names, then write a Python expression over them. Requires the Spatial Analyst extension.

sample_raster_valuesA

Read raster cell values at map coordinates or at a point layer's features.

zonal_statisticsA

Summarise raster values inside zone polygons and return the table. Requires the Spatial Analyst extension.

list_workspace_contentsB

List the datasets inside a geodatabase or folder. Defaults to the project's default geodatabase.

list_folderA

List GIS files and subfolders on disk. Defaults to the project home folder.

describe_datasetA

Describe any dataset by path -- type, geometry, CRS, extent, fields and row count -- without adding it to a map.

search_dataA

Find datasets by name across the project's geodatabase, home folder and folder connections. The quickest way to locate data before adding it.

get_project_itemsC

Folder connections, database connections and toolboxes registered in the project.

add_folder_connectionB

Register a folder with the project so its data is easy to browse.

execute_arcpy_codeA

Run Python inside ArcGIS Pro. arcpy is already imported and arcpy.mp.ArcGISProject('CURRENT') is the open project. Variables persist between calls, print() output is captured, and the value of a final expression is returned. Use this whenever no dedicated tool covers the task.

get_pump_statusA

Whether the main-thread dispatcher is installed. It is what lets commands reach the open ArcGIS Pro project; without it only path-based work (geoprocessing, dataset inspection) runs.

stop_pumpA

Remove the main-thread dispatcher. Live-project commands stop working until the user installs it again.

run_batchA

Run several commands in one round trip -- much faster for multi-step workflows.

Prompts

Interactive templates invoked by user choice

NameDescription
explore_projectSurvey the open ArcGIS Pro project and summarise what is in it.
make_mapBuild a finished, exportable map of a subject.
analyzeAnswer a spatial question with the data in the open project.

Resources

Contextual data attached and managed by the client

NameDescription
tool_indexThe full tool list, grouped by area.
statusWhether ArcGIS Pro is reachable right now, and which projects are open.
project_summaryA snapshot of the open project: maps, layers and layouts.

TDQS

B3.1/5.0

Scored across 112 tools

Disambiguation4/5

Most tools are cleanly separated by resource and action (maps, layers, layouts, fields, selection, raster). Overlap remains among generic execution and diagnostic tools such as run_geoprocessing_tool, execute_arcpy_code, run_python_toolbox_tool, run_batch, get_capabilities, and the multiple project/diagnostic info tools.

Naming Consistency4/5

Nearly all tools use snake_case verb_noun patterns like list_maps, create_map, and set_layer_visibility. A few bare imperatives such as ping and diagnose, plus noun-like names such as zonal_statistics, are minor deviations but do not break the overall pattern.

Tool Count1/5

112 tools is extreme for an agent-facing MCP server; even for a broad GIS platform, many operations could be consolidated or routed through the generic execution tools. The rubric treats 50+ tools as an extreme count mismatch.

Completeness5/5

The surface covers map/layer/layout lifecycle, data creation and editing, selection, symbology, raster operations, geoprocessing, project diagnostics, and generic escape hatches for uncovered arcpy tasks. It appears complete for ArcGIS Pro automation without obvious dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues