ArcGIS Pro MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ARCGIS_MCP_HOST | No | Host of the bridge | 127.0.0.1 |
| ARCGIS_MCP_PORT | No | Port of the bridge | 6510 |
| ARCGIS_MCP_TIMEOUT | No | Timeout in seconds for long-running geoprocessing | 300 |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Check that the ArcGIS Pro bridge is reachable. |
| get_arcgis_infoA | Get ArcGIS Pro version, license level, and current project path. |
| get_project_infoA | Get current project details: path, default geodatabase, maps, layouts. |
| list_mapsA | List all maps in the project with spatial reference and layer counts. |
| create_mapB | Create a new map in the project. map_type: MAP or SCENE. |
| save_projectB | Save the current ArcGIS Pro project (.aprx). |
| get_layersA | List layers and standalone tables in a map (default: active map). |
| add_layerB | Add data to a map by path or URL: feature class, shapefile, raster, .lyrx layer file, or web service URL. |
| remove_layerC | Remove a layer from a map. |
| set_layer_visibilityC | Show or hide a layer. |
| set_definition_queryA | Set a layer's definition query (SQL where clause). Empty string clears it. |
| get_layer_infoC | Get layer details: source, spatial reference, extent, fields, feature count. |
| zoom_to_layerB | Zoom the map view to a layer's extent. |
| set_basemapC | Set the basemap, e.g. 'Topographic', 'Imagery', 'Light Gray Canvas', 'Dark Gray Canvas', 'Streets', 'Oceans'. |
| get_featuresA | Read features from a layer as attribute rows. Optional SQL where clause and field list. include_geometry adds WKT geometry (can be large). |
| get_unique_valuesC | Get the distinct values of a field. |
| get_field_statisticsA | Get min/max/mean/sum/std of a numeric field (plus count and null count). |
| select_featuresC | Select features by SQL where clause. method: NEW_SELECTION, ADD_TO_SELECTION, REMOVE_FROM_SELECTION, SUBSET_SELECTION. |
| clear_selectionA | Clear the selection on one layer, or on all layers if layer_name is omitted. |
| add_fieldC | Add a field to a layer. field_type: TEXT, LONG, SHORT, DOUBLE, FLOAT, DATE, GUID, BLOB. |
| delete_fieldC | Delete a field from a layer. |
| calculate_fieldC | Calculate field values, e.g. expression "!AREA! / 10000". expression_type: PYTHON3, ARCADE, SQL. |
| create_feature_classC | Create a new feature class (default: in the project's default geodatabase). geometry_type: POINT, MULTIPOINT, POLYLINE, POLYGON. |
| run_geoprocessing_toolB | Run any arcpy geoprocessing tool. tool_name like "analysis.Buffer" or
"Buffer_analysis". Pass keyword parameters in |
| list_geoprocessing_toolsB | List available geoprocessing tools, e.g. wildcard "_analysis" or "Clip". |
| set_layer_rendererB | Change layer symbology. renderer_type: simple (with RGB color like [255, 0, 0]), unique_values (needs field), graduated_colors (needs field; optional color_ramp name like "Viridis" and break_count). |
| list_layoutsA | List print layouts in the project. |
| export_layoutB | Export a layout to PDF/PNG/JPEG/SVG (format inferred from the file extension). Relative paths are resolved against the project home folder. |
| export_map_viewC | Export the map view to a PNG image (useful as a visual check of the map). |
| get_raster_infoB | Get raster layer details: bands, size, cell size, pixel type, statistics. |
| execute_arcpy_codeA | Execute arbitrary Python code inside ArcGIS Pro (arcpy is pre-imported; use arcpy.mp.ArcGISProject('CURRENT') for the open project). Use print() to return output. Use this when no dedicated tool covers the task. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Knight60/ArcGIS-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server