Skip to main content
Glama
kicholiz

Figma Write Bridge MCP

by kicholiz

set_auto_layout

Configure auto-layout properties on a Figma frame in one call, including sizing, padding, spacing, alignment, wrap, and fill handling for bulk edits.

Instructions

Set multiple auto-layout properties in one call. sizing may include primaryAxisSizingMode/counterAxisSizingMode and/or layoutSizingHorizontal|width + layoutSizingVertical|height (FIXED|HUG|FILL). Empty frames keep Figma's default white fill stripped unless you pass clearFill:false.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
widthNoAlias for layoutSizingHorizontal: FIXED | HUG | FILL
heightNoAlias for layoutSizingVertical: FIXED | HUG | FILL
sizingNo
frameIdYes
paddingNo
clearFillNoDefault true for empty wrappers: strip leftover default white. False keeps an existing white card fill.
layoutModeNo
layoutWrapNo
itemSpacingNo
layoutSizingVerticalNo
counterAxisAlignItemsNo
primaryAxisAlignItemsNo
layoutSizingHorizontalNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries full burden, and it does disclose one genuine side effect: empty frames have the default white fill stripped unless clearFill:false. That is valuable behavioral context. It omits other traits such as idempotency, permission needs, and what happens to unmentioned properties.

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?

Two dense sentences, front-loaded with the action, then the sizing composition, then the fill caveat. No filler, though the second sentence is packed enough that it reads as one long clause.

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

Completeness3/5

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

For a 13-parameter mutation tool with no annotations, no output schema, and 23% schema coverage, the description covers the trickiest area (sizing aliases) and the fill side effect but leaves roughly half the parameters undocumented. Adequate but with clear gaps.

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?

Schema coverage is low (23%) across 13 params, and the description does add meaning: how sizing composes (primaryAxisSizingMode/counterAxisSizingMode vs layoutSizingHorizontal|width + layoutSizingVertical|height, FIXED|HUG|FILL) and the clearFill default. But padding, itemSpacing, layoutMode, layoutWrap, and the axis-alignment params get no explanation anywhere.

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

Purpose4/5

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

States a specific verb+resource: 'Set multiple auto-layout properties in one call.' The agent knows this mutates auto-layout settings on a frame. However, it does not distinguish itself from overlapping siblings like set_layout_sizing, set_layout_mode, set_padding, or set_item_spacing, so routing between them stays ambiguous.

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

Usage Guidelines3/5

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

'In one call' implies this is the batched alternative to the single-property setters, which is a mild usage hint. But there is no explicit when-to-use/when-not guidance and no named alternative, so the agent must infer the tradeoff against set_layout_sizing and friends.

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