Cursor Talk to Figma MCP Server

This project implements a Model Context Protocol (MCP) integration between AI agent (Cursor, Claude Code) and Figma, allowing AI agent to communicate with Figma for reading designs and modifying…

Local serverstdio

What is the Cursor Talk to Figma MCP Server?

Cursor Talk to Figma is an MCP project maintained in the grab/cursor-talk-to-figma-mcp repository. The maintainer describes its purpose as “This project implements a Model Context Protocol (MCP) integration between AI agent (Cursor, Claude Code) and Figma, allowing AI agent to communicate with Figma for…”. Read the project documentation for the complete scope.

Local setup

The project provides a local client configuration using bunx. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
get_document_infoGet information about the current Figma document
get_selectionGet information about the current selection
read_my_designGet detailed node information about the current selection without parameters
get_node_infoGet detailed information about a specific node
get_nodes_infoGet detailed information about multiple nodes by providing an array of node IDs
set_focusSet focus on a specific node by selecting it and scrolling viewport to it
set_selectionsSet selection to multiple nodes and scroll viewport to show them
get_annotationsGet all annotations in the current document or specific node
set_annotationCreate or update an annotation with markdown support
set_multiple_annotationsBatch create/update multiple annotations efficiently
scan_nodes_by_typesScan for nodes with specific types (useful for finding annotation targets)
get_reactionsGet all prototype reactions from nodes with visual highlight animation
set_default_connectorSet a copied FigJam connector as the default connector style for creating connections (must be set before creating connections)
create_connectionsCreate FigJam connector lines between nodes, based on prototype flows or custom mapping
create_rectangleCreate a new rectangle with position, size, and optional name
create_frameCreate a new frame with position, size, and optional name
create_sectionCreate a section to group related content on the canvas
create_textCreate a new text node with customizable font properties
scan_text_nodesScan text nodes with intelligent chunking for large designs
set_text_contentSet the text content of a single text node
set_multiple_text_contentsBatch update multiple text nodes efficiently
set_layout_modeSet the layout mode and wrap behavior of a frame (NONE, HORIZONTAL, VERTICAL)
set_paddingSet padding values for an auto-layout frame (top, right, bottom, left)
set_axis_alignSet primary and counter axis alignment for auto-layout frames
set_layout_sizingSet horizontal and vertical sizing modes for auto-layout frames (FIXED, HUG, FILL)
set_item_spacingSet distance between children in an auto-layout frame
set_fill_colorSet the fill color of a node (RGBA)
set_stroke_colorSet the stroke color and weight of a node
set_corner_radiusSet the corner radius of a node with optional per-corner control
set_image_fillFill a node with an image from a local file path, URL, or base64 data (FILL, FIT, CROP, or TILE)
move_nodeMove a node to a new position
resize_nodeResize a node with new dimensions
delete_nodeDelete a node
delete_multiple_nodesDelete multiple nodes at once efficiently
clone_nodeCreate a copy of an existing node with optional position offset
rename_nodeRename a node
set_parentMove a node into a new parent (section, frame or group), preserving its absolute position by default
get_stylesGet information about local styles
get_local_componentsGet information about local components
create_component_instanceCreate an instance of a component
get_instance_overridesExtract override properties from a selected component instance
set_instance_overridesApply extracted overrides to target instances
export_node_as_imageExport a node as an image (PNG, JPG, SVG, or PDF) - limited support on image currently returning base64 as text
join_channelJoin a specific channel to communicate with Figma
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_instancesStrategy for transferring overrides between component instances in Figma
reaction_to_connector_strategyStrategy for converting Figma prototype reactions to connector lines using the output of 'get_reactions', and guiding the use 'create_connections' in sequence

How to install the Cursor Talk to Figma MCP Server

{
  "mcpServers": {
    "TalkToFigma": {
      "command": "bunx",
      "args": [
        "cursor-talk-to-figma-mcp@latest"
      ]
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.