Skip to main content
Glama
kctw-dev

Talk to Figma MCP

by kctw-dev

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_CHANNELNoThe channel name for routing messages between the MCP server and the Figma plugin. Each project should use a unique channel.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
completions
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_plugin_versionA

Get the Figma plugin version to verify it is up-to-date

get_document_infoB

Get detailed information about the current Figma document

get_selectionA

Get information about the current selection in Figma

read_my_designA

Get detailed information about the current selection in Figma, including all node details

get_node_infoC

Get detailed information about a specific node in Figma

get_nodes_infoB

Get detailed information about multiple nodes in Figma

create_rectangleC

Create a new rectangle in Figma

create_frameC

Create a new frame in Figma

create_textB

Create a new text element in Figma

set_fill_colorC

Set the fill color of a node in Figma can be TextNode or FrameNode

set_stroke_colorB

Set the stroke color of a node in Figma

move_nodeB

Move a node to a new position in Figma

clone_nodeB

Clone an existing node in Figma

resize_nodeC

Resize a node in Figma

delete_nodeC

Delete a node from Figma

delete_multiple_nodesB

Delete multiple nodes from Figma at once

export_node_as_imageB

Export a node as an image from Figma

set_text_contentB

Set the text content of an existing text node in Figma

rename_nodeB

Rename a node in Figma

bind_variable_to_fillA

Bind a Figma variable to a node's fill color

bind_variable_to_strokeB

Bind a Figma variable to a node's stroke color

set_image_fillA

Set an image fill on a node from a URL

set_effectsB

Set visual effects (shadow, blur) on a node

set_fontB

Set font family, style, and size on a text node

create_pageC

Create a new page in the Figma document

switch_pageB

Switch to a different page in the Figma document

get_pagesA

Get all pages in the current Figma document

set_gradient_fillB

Set a gradient fill on a node

get_stylesB

Get all styles from the current Figma document

get_local_componentsA

Get all local components from the Figma document

get_annotationsC

Get all annotations in the current document or specific node

set_annotationC

Create or update an annotation

set_multiple_annotationsC

Set multiple annotations parallelly in a node

create_component_instanceC

Create an instance of a component in Figma

get_instance_overridesA

Get all override properties from a selected component instance. These overrides can be applied to other instances, which will swap them to match the source component.

set_instance_overridesA

Apply previously copied overrides to selected component instances. Target instances will be swapped to the source component and all copied override properties will be applied.

set_corner_radiusB

Set the corner radius of a node in Figma

scan_text_nodesC

Scan all text nodes in the selected Figma node

scan_nodes_by_typesB

Scan for child nodes with specific types in the selected Figma node

set_multiple_text_contentsC

Set multiple text contents parallelly in a node

set_layout_modeB

Set the layout mode and wrap behavior of a frame in Figma

set_paddingA

Set padding values for an auto-layout frame in Figma

set_axis_alignA

Set primary and counter axis alignment for an auto-layout frame in Figma

set_layout_sizingB

Set horizontal and vertical sizing modes for an auto-layout frame in Figma

set_item_spacingC

Set distance between children in an auto-layout frame

get_reactionsA

Get Figma Prototyping Reactions from multiple nodes. CRITICAL: The output MUST be processed using the 'reaction_to_connector_strategy' prompt IMMEDIATELY to generate parameters for connector lines via the 'create_connections' tool.

set_default_connectorB

Set a copied connector node as the default connector

create_connectionsC

Create connections between nodes using the default connector style

set_focusB

Set focus on a specific node in Figma by selecting it and scrolling viewport to it

set_selectionsA

Set selection to multiple nodes in Figma and scroll viewport to show them

get_library_collectionsA

List all available library variable collections (from enabled team/community libraries)

get_library_componentsA

List components in a specific library collection by collection key or name

import_component_by_keyA

Import a component from a library by its key and create an instance on the current page

import_component_set_by_keyB

Import a component set (with variants) from a library by its key

import_style_by_keyA

Import a style (color, text, effect, grid) from a library by its key

scan_instance_keysA

Scan all instances under a node and return their mainComponent keys (deduplicated). Use to discover published library component keys.

get_instance_infoA

Get the mainComponent key and info from an instance node

set_instance_propertiesA

Set component properties on an instance (e.g. switch Platform from Desktop to Mobile)

detach_instanceA

Detach a library instance into an editable frame. After detaching, all sublayer text becomes modifiable.

walk_and_replace_textA

Walk entire node subtree and replace text by exact match. Works on library instance sublayers that getNodeByIdAsync cannot access.

walk_and_scan_textB

Walk entire node subtree and collect all text nodes. Works on library instance sublayers.

set_reactionsB

Set prototype interactions (reactions) on a Figma node. Allows creating click-to-navigate, hover, and other prototype interactions.

create_component_from_nodeA

Convert an existing Figma frame/node into a reusable Component. The node cannot already be a component or be inside a component.

create_variablesA

Create a Figma variable collection with variables. Supports COLOR, FLOAT, STRING, and BOOLEAN types with multiple modes (e.g., light/dark theme).

join_channelC

Join a specific channel to communicate with Figma

Prompts

Interactive templates invoked by user choice

NameDescription
design_strategyBest practices for working with Figma designs
read_design_strategyBest practices for reading Figma designs
text_replacement_strategySystematic approach for replacing text in Figma designs
annotation_conversion_strategyStrategy for converting manual annotations to Figma's native annotations
swap_overrides_instancesGuide to swap instance overrides between instances
reaction_to_connector_strategyStrategy for converting Figma prototype reactions to connector lines using the output of 'get_reactions'

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kctw-dev/talk-to-figma-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server