Skip to main content
Glama
kicholiz

Figma Write Bridge MCP

by kicholiz

create_frame

Create a new Figma frame, transparent by default for layout containers, with optional fills, auto layout, nesting, and child ordering.

Instructions

Create a new frame. Defaults to NO fill (transparent) — Figma's native white fill is cleared so layout containers stay invisible. Pass fillHex only when the frame is a visible surface (card, screen bg, chip). Nested into auto layout: omit x/y and omit width/height (do not ship at 320×200); pass parentNodeId + index + layoutSizing. Optional layoutMode (HORIZONTAL|VERTICAL|GRID).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bNo
gNo
rNo
xNoParent-relative x. Ignored inside auto layout unless ignoreAutoLayout is true.
yNo
nameNo
indexNoChild index inside the parent. Use this to order items in auto layout.
widthNoOmit for nested auto-layout wrappers so they hug/fill instead of shipping at 320×200.
heightNo
fillHexNoSolid fill hex like #FFFFFF. Omit for transparent layout containers.
opacityNo
layoutModeNoNONE | HORIZONTAL | VERTICAL | GRID
parentNodeIdNo
keepDefaultFillNoIf true, keep Figma's default white fill. Prefer omitting fills instead.
ignoreAutoLayoutNoIf true, overlay with absolute x/y inside an auto-layout parent.
layoutSizingVerticalNoFIXED | HUG | FILL
layoutSizingHorizontalNoFIXED | HUG | FILL

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose a genuinely non-obvious behavior: Figma's native white fill is cleared so containers default to transparent, plus the auto-layout sizing caveat. It omits return values, coordinate space for root frames, and permissions.

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-loads the create action and default-fill behavior before the conditional guidance; every sentence carries usable information. Slightly dense but no obvious 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 17-parameter creation tool with no annotations and no output schema, the description covers fills and auto-layout nesting well but leaves several parameters (r/g/b, opacity, name, keepDefaultFill semantics) and any return behavior unaddressed.

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 only 53%, and the description compensates by explaining fillHex, x/y, width/height, parentNodeId, index, and layoutSizing usage. However the unexplained r/g/b parameters are never addressed anywhere, leaving a real gap.

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 ('Create a new frame') and immediately characterizes its default behavior. It doesn't explicitly differentiate from close siblings like create_rectangle, create_section, or group_nodes, so it's clear but not sibling-routing.

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?

Gives concrete conditional guidance: pass fillHex only for visible surfaces, and omit x/y and width/height when nesting into auto layout. It doesn't name alternative tools or state exclusions, but the when-to-omit rules are actionable.

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