arcmap-10-8-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ARCMAP_MCP_MOCK | No | Set to '1' to run in mock mode (protocol validation) without an ArcMap installation. | |
| ARCMAP_MCP_PYTHON | No | Path to the ArcMap Desktop 10.8 Python executable (e.g., C:\Python27\ArcGIS10.8\python.exe). Required for real ArcPy operations (not needed when ARCMAP_MCP_MOCK=1). | |
| ARCMAP_MCP_SCRATCH | No | Scratch directory for generated output files and audit logs. If set, output paths must be inside this directory. | |
| ARCMAP_MCP_LOG_FILE | No | Optional path to the audit log file. If set, it must reside within ARCMAP_MCP_SCRATCH. | |
| ARCMAP_MCP_MAX_WORKERS | No | Maximum number of concurrent ArcPy tasks. Defaults to 1; allowed values 1-4. | |
| ARCMAP_MCP_ALLOWED_ROOTS | No | Semicolon-separated list of directories that the server may read/write. Must include all data and project directories. | |
| ARCMAP_MCP_QUEUE_TIMEOUT_SECONDS | No | Timeout in seconds for a task waiting to acquire an available worker. | |
| ARCMAP_MCP_ADVANCED_TOOL_ALLOWLIST | No | Semicolon-separated ArcPy tool names allowed for advanced mode, or 'ALL' to allow all non-destructive tools. Omit to disable advanced mode. |
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 |
|---|---|
| health_checkA | Return ArcMap Desktop/ArcPy installation and licensing details. |
| get_server_capabilitiesA | Return the ArcMap 10.8 tool catalog and the enforced safety boundaries. |
| search_arcpy_toolsA | Search callable ArcPy GP tools installed with this ArcMap 10.8 runtime (up to 500). |
| describe_mxdA | Return MXD document properties plus each data frame's coordinate system and extent. |
| list_mxd_layersB | List data frames and layers in an MXD file within allowed roots. |
| describe_datasetC | Describe a feature class, table, raster, or workspace. |
| list_fieldsB | Return field metadata for a feature class or table. |
| get_feature_countA | Count features, optionally using an ArcGIS SQL where clause. |
| query_featuresB | Read up to 1,000 records from a dataset; supports an optional ArcGIS SQL filter and field list. |
| export_mxd_to_pngC | Export an MXD copy to a PNG in the configured scratch directory. Requires confirm=true. |
| export_mxd_to_pdfB | Export an MXD copy to a PDF in the configured scratch directory. Requires confirm=true. |
| export_mxd_with_overlay_pngB | Export an MXD preview with a temporary semi-transparent overlay; the MXD is never saved. Requires confirm=true. |
| copy_mxd_with_layer_visibilityC | Create an MXD copy in scratch and change visibility only for named layers. Requires confirm=true. |
| run_geoprocessingC | Run a whitelisted geoprocessing tool. Requires confirm=true; output must be under scratch. |
| run_advanced_geoprocessingC | Run an opt-in ArcPy GP tool. Every absolute path must be declared; outputs must be in scratch. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Most tools clearly target distinct resources and actions, such as MXD inspection, dataset metadata, feature queries, and exports. The main ambiguity is between run_geoprocessing and run_advanced_geoprocessing, and the multiple export_mxd_* variants require careful reading to avoid misselection.
Names generally follow a readable verb_noun snake_case pattern, e.g., list_mxd_layers, describe_dataset, export_mxd_to_png. Minor inconsistencies like health_check and the awkward export_mxd_with_overlay_png keep it from being perfectly uniform.
Fifteen tools is at the upper bound but each one earns its place across the ArcMap server's broad scope: health checks, capability discovery, dataset/MXD inspection, feature queries, exports, and geoprocessing. There is no obvious redundancy or bloat.
The core read, query, export, and geoprocessing workflows are well covered, especially with scratch-confirmed write paths. Minor gaps exist, such as no workspace-content listing or general MXD editing beyond layer visibility, but these do not break the main workflows.