Skip to main content
Glama
muend

arcgis-mcp-bridge

set_layer_symbology

Apply cartographic symbology from a .lyrx file to a target layer in an ArcGIS Pro project. Standardize colors, classifications, labels, and renderers before export.

Instructions

Apply cartographic symbology from a source .lyrx layer file to a named target layer using ArcPy ApplySymbologyFromLayer. Use this to standardize colors, classifications, labels, renderers, and map styling before export or project delivery. Reads the target layer and .lyrx file inside PathGuard allowed roots and saves the .aprx project when save=true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.6.3
    • addedInput schema / $defs / SetLayerSymbologyInput / description
      Added value: +"Input contract for applying symbology from a .lyrx layer file."
    • changedInput schema / $defs / SetLayerSymbologyInput / properties / aprx_path / description
      Previous value: -"Absolute .aprx path."New value: +"Absolute path to the saved ArcGIS Pro .aprx project file. The path must be inside a configured PathGuard allowed root. Tools operate on the saved project file, not a live open ArcGIS Pro session."
    • changedInput schema / $defs / SetLayerSymbologyInput / properties / layer_name / description
      Previous value: -"Layer (Contents) name."New value: +"Layer name as shown in the ArcGIS Pro Contents pane for the selected map. The layer must exist in the resolved map."
    • changedInput schema / $defs / SetLayerSymbologyInput / properties / lyrx_path / description
      Previous value: -"Source .lyrx symbology file."New value: +"Absolute path to the source .lyrx layer file whose symbology will be applied to the target layer. The file must be inside a configured PathGuard allowed root."
    • changedInput schema / $defs / SetLayerSymbologyInput / properties / map_name / description
      Previous value: -"Map name; None targets the first map."New value: +"Name of the map inside the .aprx project. Use None to target the first map returned by ArcGIS Pro."
    • addedInput schema / $defs / SetLayerSymbologyInput / properties / save / description
      Added value: +"When true, save the .aprx project after applying the layer symbology."
  2. First observedv1.0.0

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It mentions using ArcPy ApplySymbologyFromLayer, PathGuard constraints, and conditional saving. However, it does not disclose whether the operation is reversible, side effects of modifying the project, or failure scenarios. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each serving a clear purpose: action+method, use case, and constraints. No redundant or vague phrasing. Very efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich input schema and presence of an output schema, the description covers the core functionality, use case, and key constraints. It could be improved by noting the permanent effect on the project when saved, but overall it is complete enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already includes detailed descriptions for all five parameters. The description reiterates the save behavior and PathGuard constraints but adds minimal new meaning beyond the schema. Since schema coverage is high, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (apply cartographic symbology), the resources (.lyrx file, target layer), and the specific use case (standardize styling before export/delivery). It distinguishes well from sibling tools, which include general layer operations but not symbology application.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this to standardize colors, classifications, labels, renderers, and map styling before export or project delivery,' providing clear context. It does not explicitly list when not to use or alternatives, but given the lack of sibling tools for symbology, this is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools