Skip to main content
Glama
southleft

figma-console-mcp

by southleft

figma_create_slot

Creates a SlotNode inside a Figma component, adding a linked SLOT property and a freeform drop zone for instance content. Use it to build flexible component slots instead of INSTANCE_SWAP.

Instructions

Create a SlotNode inside a component using createSlot(). Automatically creates a linked SLOT component property named after the slot (renaming the slot renames the property). Slots are freeform drop zones for instance content — more flexible than INSTANCE_SWAP. Works on standalone COMPONENTs and variant COMPONENTs inside a COMPONENT_SET (call once per variant). GRID layout is not allowed on slots. Requires Desktop Bridge.

MULTI-FILE (Local Mode only): Pass fileKey to run this against a specific connected file without switching the active file/target lock (see figma_list_open_files). Does not change the active file or target lock. Cloud Mode pairs with a single plugin instance and rejects fileKey.

Input Schema

NameRequiredDescriptionDefault
nameNoSlot layer name (e.g. 'Content', 'Footer')
widthNoInitial slot width in pixels
heightNoInitial slot height in pixels
nodeIdYesThe COMPONENT node ID to add a slot to
fileKeyNoLocal Mode only. Run against this specific connected file instead of the active file. Does not change the active file or target lock. Get connected fileKeys from figma_list_open_files. Rejected in Cloud Mode, which pairs with a single plugin instance.
layoutModeNoAuto-layout mode for the slot (GRID is not supported)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.46.0

TDQS

A4.3/5.0
Behavior5/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 so: it discloses the automatic linked SLOT component property and the rename coupling, the GRID restriction, the Desktop Bridge dependency, and fileKey's Local-Mode-only semantics including that it does not change the active file or target lock and is rejected in Cloud Mode. Nothing an agent needs for safe invocation is omitted.

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 and behavior, with the multi-file caveat relegated to a clearly labeled trailing section. It is dense but earns most of its length; the fileKey discussion repeats some schema text rather than trusting it.

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 six-parameter mutation tool with no annotations and no output schema, the description covers creation effects, constraints, environment requirements, and multi-file semantics. It does not mention what is returned (e.g., the new node ID) or how the slot's initial size defaults behave, which is a minor residual gap.

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 description coverage is 100%, so all six parameters, including the fileKey and layoutMode enum, are already documented in the schema. The description adds only marginal semantic value beyond that, notably that the slot name propagates to the component property name. Baseline 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?

States a specific verb and resource ('Create a SlotNode inside a component using createSlot()') and immediately differentiates it from alternatives by contrasting slots with INSTANCE_SWAP as freeform drop zones. An agent knows exactly what this creates without opening 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 Guidelines4/5

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

Explicitly scopes applicability: standalone COMPONENTs, variant COMPONENTs inside a COMPONENT_SET (once per variant), GRID layout disallowed, and Desktop Bridge required. It also routes multi-file usage to figma_list_open_files. It stops short of explicitly contrasting with nearby siblings like figma_add_slot_property or figma_append_to_slot, so not a full 5.

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