Skip to main content
Glama
arinspunk

Claude Talk to Figma MCP

by arinspunk

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
get_document_infoA

Get detailed information about the current Figma document

get_selectionB

Get information about the current selection in Figma

get_node_infoB

Get detailed information about a specific node in Figma

get_nodes_infoB

Get detailed information about multiple nodes in Figma

get_stylesB

Get all styles from the current Figma document

get_local_componentsA

Get all local components from the Figma document

get_remote_componentsA

Get available components from team libraries in Figma

scan_text_nodesC

Scan all text nodes in the selected Figma node

join_channelB

Join a specific channel to communicate with Figma

export_node_as_imageC

Export a node as an image from Figma

create_pageA

Create a new page in the current Figma document

delete_pageB

Delete a page from the current Figma document

rename_pageB

Rename an existing page in the Figma document

get_pagesB

Get all pages in the current Figma document

set_current_pageA

DEPRECATED — this stateful command is blocked by the relay server. Instead, pass the target page's node ID as parentId on creation commands (e.g., create_rectangle, create_frame). Use get_pages to discover page IDs.

duplicate_pageA

Duplicate an existing page in the Figma document, creating a complete copy of all its contents

create_rectangleB

Create a new rectangle in Figma

create_frameC

Create a new frame in Figma

create_textC

Create a new text element in Figma

create_ellipseC

Create a new ellipse in Figma

create_polygonC

Create a new polygon in Figma

create_starB

Create a new star in Figma

group_nodesC

Group nodes in Figma

ungroup_nodesC

Ungroup nodes in Figma

clone_nodeB

Clone an existing node in Figma

insert_childB

Insert a child node inside a parent node in Figma

flatten_nodeA

Flatten a node in Figma (e.g., for boolean operations or converting to path)

boolean_operationA

Perform a boolean operation (union, subtract, intersect, exclude) on two or more nodes. All nodes must share the same parent.

set_fill_colorA

Set the fill color of a node in Figma. Alpha component defaults to 1 (fully opaque) if not specified. Use alpha 0 for fully transparent.

set_stroke_colorB

Set the stroke color of a node in Figma (defaults: opacity 1, weight 1)

set_selection_colorsA

Recursively change all stroke and fill colors of a node and all its descendants. Works like Figma's 'Selection colors' feature - perfect for recoloring icon instances.

move_nodeB

Move a node to a new position in Figma

resize_nodeC

Resize a node in Figma

delete_nodeB

Delete a node from Figma

set_corner_radiusB

Set the corner radius of a node in Figma

set_auto_layoutB

Configure auto layout properties for a node in Figma

set_effectsB

Set the visual effects of a node in Figma

set_effect_style_idC

Apply an effect style to a node in Figma

rotate_nodeA

Rotate a node in Figma by a specified angle in degrees (clockwise). Use relative=true to add to the current rotation instead of setting an absolute value. Note: locked nodes can still be rotated — the Plugin API bypasses the UI lock by design.

set_node_propertiesA

Set visibility, lock state, and/or opacity of a node in Figma. Only provided properties are changed; omitted properties remain unchanged.

reorder_nodeA

Change the z-order (layer order) of a node within its parent. Distinct from insert_child which re-parents a node — reorder_node changes position within the same parent.

convert_to_frameA

Convert a group or shape node into a frame in Figma. Preserves position, size, visual properties, and children. Useful for converting groups into auto-layout-capable frames.

set_gradientA

Set a gradient fill on a node in Figma. Supports linear, radial, angular, and diamond gradients. Replaces all existing fills (same behavior as set_fill_color).

set_imageA

Set an image fill on a node from base64-encoded image data. Supports PNG, JPEG, GIF, WebP. Max ~5MB after decode.

set_gridB

Apply layout grids to a frame node in Figma. Supports columns, rows, and grid patterns.

get_gridA

Read layout grids from a frame node in Figma

set_guideA

Set guides on a page in Figma. Replaces all existing guides on the page.

get_guideB

Read guides from a page in Figma

set_annotationA

Add an annotation label to a node in Figma. Uses the proposed Annotations API — requires Figma Desktop with enableProposedApi.

get_annotationB

Read annotations from a node in Figma. Uses the proposed Annotations API.

rename_nodeB

Rename a node (frame, component, group, etc.) in Figma

set_text_contentB

Set the text content of an existing text node in Figma

set_multiple_text_contentsC

Set multiple text contents parallelly in a node

set_font_nameB

Set the font name and style of a text node in Figma

set_font_sizeA

Set the font size of a text node in Figma

set_font_weightB

Set the font weight of a text node in Figma

set_letter_spacingB

Set the letter spacing of a text node in Figma

set_line_heightB

Set the line height of a text node in Figma

set_paragraph_spacingB

Set the paragraph spacing of a text node in Figma

set_text_caseB

Set the text case of a text node in Figma

set_text_decorationC

Set the text decoration of a text node in Figma

get_styled_text_segmentsB

Get text segments with specific styling in a text node

set_text_style_idB

Apply a text style to a text node in Figma

load_font_asyncB

Load a font asynchronously in Figma

set_text_alignA

Set the text alignment of a text node in Figma. Use textAlignHorizontal RIGHT for RTL/Arabic text.

create_component_instanceB

Create an instance of a component in Figma

create_component_from_nodeB

Convert an existing node (frame, group, etc.) into a reusable component in Figma

create_component_setA

Create a component set (variants) from multiple component nodes in Figma

set_instance_variantA

Change the variant properties of a component instance without recreating it. This preserves instance overrides and is more efficient than delete + create workflow.

set_reactionsA

Set prototype interactions (reactions) on a node in Figma. Use this to add hover effects, click interactions, etc. For component variants, set on the default variant to add 'While hovering -> Change to hover variant' interactions.

get_reactionsA

Read all prototype interactions (reactions) from a node in Figma. Useful for debugging and inspecting existing interactions.

detach_instanceA

Detach a component instance, converting it into a regular frame. This breaks the link with the main component.

set_image_fillC

Apply image to node from URL or base64 data

get_image_from_nodeB

Extract image metadata from a node

replace_image_fillB

Replace existing image on node with new image while preserving transform

apply_image_transformA

Adjust image position, scale, and rotation within node. Rotates the IMAGE inside the node, not the node itself.

set_image_filtersB

Apply color and light adjustments to image fills

set_svgA

Import an SVG string as a vector node in Figma. The SVG is sanitized (scripts and external resources are stripped) before import. Max 500KB.

get_svgA

Export a single node as an SVG string from Figma. Returns the SVG markup including all nested children.

get_variablesA

List all variable collections and their variables in the current Figma file. Returns collections with their modes and variables.

set_variableA

Create or update a variable in a Figma variable collection. Creates the collection if collectionName is provided and it doesn't exist.

apply_variable_to_nodeA

Bind a variable to a node property in Figma. Call once per field — for multiple fields, call multiple times.

switch_variable_modeA

Switch the variable mode on a node for a specific collection. This changes which mode's values are used for bound variables.

get_figjam_elementsA

Get all FigJam-specific elements (stickies, connectors, shapes with text, sections, stamps) on the current page. Use this to read the contents of a FigJam board.

create_stickyB

Create a sticky note in a FigJam board. Sticky notes are the primary way to add text content in FigJam.

set_sticky_textB

Update the text content of an existing FigJam sticky note.

create_shape_with_textA

Create a FigJam shape with text inside. Useful for flowcharts, diagrams, and process maps. Supported shapes: SQUARE, ELLIPSE, ROUNDED_RECTANGLE, DIAMOND, TRIANGLE_UP, TRIANGLE_DOWN, PARALLELOGRAM_RIGHT, PARALLELOGRAM_LEFT.

create_connectorA

Create a connector (arrow or line) in FigJam. Connectors can link two existing nodes by ID, or connect arbitrary canvas positions. Use this to draw flow arrows between stickies, shapes, etc.

create_sectionB

Create a FigJam section. Sections are used to group and organise content on the FigJam board. They appear as labelled coloured regions.

create_text_styleC

Create a reusable text style (typography) in Figma's local styles. This is useful for design system consistency.

create_paint_styleA

Create a reusable color/paint style (SOLID) in Figma's local styles.

create_effect_styleB

Create a reusable effect style (shadows, blurs) in Figma's local styles.

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

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/arinspunk/claude-talk-to-figma-mcp'

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