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 |
Capabilities
Features and capabilities supported by this server
| 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
- 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