Skip to main content
Glama

Edit component property

figma_edit_component_property
Idempotent

Edit an existing Figma component property: rename it, change its default, set preferred components for instance swaps, or bind/unbind layers across variants.

Instructions

Change a component property that already exists: rename it (name — the key changes and is returned), change its default, set an instance swap's preferred components, or wire / unwire layers (bindNodeIds / unbindNodeIds, matched by name path in every variant of a set). A variant id is redirected to its set. Figma's rules are checked before anything changes: no default for VARIANT or SLOT, preferredValues only on INSTANCE_SWAP and SLOT. To add a property use figma_add_component_property; to change one instance's value, figma_set_instance_properties. Editors: Design; unverified: FigJam, Slides.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoA new name.
sessionNoOptional sessionId or file name, to pick a Figma file when more than one is connected.
propertyYesIts name ("Label") or full key ("Label#2:0").
bindNodeIdsNoLayers inside the component to drive with this property.
componentIdYesThe COMPONENT or COMPONENT_SET (a variant id is redirected to its set).
defaultValueNoText, "true"/"false" for BOOLEAN, a component id for INSTANCE_SWAP.
unbindNodeIdsNoLayers to stop driving.
idempotencyKeyNoCaller-owned retry key, ≤128 chars. Re-calling with the same key never executes twice: it returns the existing result, or waits for the op still in flight. Supply your own for anything large — if the MCP client times out (rather than the bridge), only a key you chose can be used to retry safely.
preferredValuesNoINSTANCE_SWAP / SLOT: component or component-set ids offered first. [] clears them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnly=false, destructive=false, idempotent=true, openWorld=false), so the bar is lower. The description adds real behavioral context beyond that: pre-flight validation rules ('no default for VARIANT or SLOT, preferredValues only on INSTANCE_SWAP and SLOT'), variant-id redirection to the set, and the fact that a rename changes the key and returns it. It stops short of describing what happens to layers left bound or the response shape.

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

Conciseness4/5

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

Front-loaded with the core action, then constraints, then alternatives — a sensible ordering with no filler sentences. The opening sentence is dense with parentheticals, which slightly taxes readability, but every clause carries information an agent needs.

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?

For a 9-parameter, no-output-schema mutation tool it covers the essentials: what changes, validation rules, sibling routing, and editor support. The remaining gap is that it does not describe the returned result beyond noting the key is returned, but an agent has enough to invoke it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description contributes cross-parameter semantics the schema cannot: bind/unbind nodeIds are 'matched by name path in every variant of a set', a variant id is redirected to its set, and defaultValue/preferredValues carry type-level constraints. This meaningfully extends rather than repeats the schema.

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?

States a precise verb+resource ('Change a component property that already exists') and enumerates the concrete mutation modes (rename, default change, preferred components, bind/unbind layers). It explicitly names the sibling tools it is not (figma_add_component_property, figma_set_instance_properties), so an agent can separate it from the nearest alternatives without opening a schema.

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

Usage Guidelines5/5

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

Gives explicit routing: 'To add a property use figma_add_component_property; to change one instance's value, figma_set_instance_properties.' It also scopes applicability by editor ('Editors: Design; unverified: FigJam, Slides'), covering both when-to-use and when-an-alternative-applies.

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