Skip to main content
Glama
southleft

figma-console-mcp

by southleft

figma_set_fills

Apply solid fill colors to a Figma node. Use hex codes, CSS values, or bind the fill to a design token ID for dynamic color synchronization.

Instructions

Set the fill colors on a node. Accepts hex or CSS colors, including oklch() and color(display-p3 …). To bind a fill to a design token / color variable, pass that fill's variableId — the variable drives the color and this works on any Figma plan via the bridge (no raw figma_execute needed).

Input Schema

NameRequiredDescriptionDefault
fillsYesArray of fill objects
nodeIdYesThe node ID to modify

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.46.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden and does add useful context: accepted color formats, variable binding, and that it works on any Figma plan via the bridge. It still omits important mutation behavior such as whether existing fills are replaced, permission requirements, or any reversibility/destructive implications.

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?

The description is three sentences, front-loaded with the core action, and every sentence adds relevant information: purpose, color format support, and variable binding. There is no filler.

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 mutation tool with no annotations or output schema, the description covers purpose, color formats, and token binding well, relying on the rich schema for parameter details. However, it does not disclose overwrite behavior, what happens to existing fills, or mutation safety context, leaving a notable gap for correct and safe invocation.

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. The description adds meaningful semantics beyond the schema by explaining that passing variableId binds the fill to a design token/color variable and that this works on any plan via the bridge without raw figma_execute, which is practical invocation context not fully captured in the schema description.

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?

The description states a specific verb and resource: 'Set the fill colors on a node.' It clearly distinguishes fill-color setting from related operations like strokes or text, but it does not explicitly mention the sibling tool figma_set_image_fill or state that only SOLID fills are currently supported, leaving minor differentiation to the schema.

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?

The description provides some usage context, especially for binding fills to design tokens via variableId and avoiding raw figma_execute. However, it does not explicitly say when to choose this tool over alternatives such as figma_set_image_fill or figma_set_strokes, nor does it state exclusions such as image fills or text nodes.

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