Enables bidirectional communication with Figma designs through a plugin and WebSocket server, allowing creation and mani...
Created byMay 24, 2025
Cursor Talk to Figma MCP
This project implements a Model Context Protocol (MCP) integration between Cursor AI and Figma, allowing Cursor to communicate with Figma for reading designs and modifying them programmatically.
scan_nodes_by_types - Scan for nodes with specific types (useful for finding annotation targets)
Creating Elements
create_rectangle - Create a new rectangle with position, size, and optional name
create_frame - Create a new frame with position, size, and optional name
create_text - Create a new text node with customizable font properties
Modifying text content
scan_text_nodes - Scan text nodes with intelligent chunking for large designs
set_text_content - Set the text content of a single text node
set_multiple_text_contents - Batch update multiple text nodes efficiently
Styling
set_fill_color - Set the fill color of a node (RGBA)
set_stroke_color - Set the stroke color and weight of a node
set_corner_radius - Set the corner radius of a node with optional per-corner control
Layout & Organization
move_node - Move a node to a new position
resize_node - Resize a node with new dimensions
delete_node - Delete a node
delete_multiple_nodes - Delete multiple nodes at once efficiently
clone_node - Create a copy of an existing node with optional position offset
Components & Styles
get_styles - Get information about local styles
get_local_components - Get information about local components
create_component_instance - Create an instance of a component
Export & Advanced
export_node_as_image - Export a node as an image (PNG, JPG, SVG, or PDF) - limited support on image currently returning base64 as text
Connection Management
join_channel - Join a specific channel to communicate with Figma
Development
Building the Figma Plugin
Navigate to the Figma plugin directory:
Edit code.js and ui.html
Best Practices
When working with the Figma MCP:
Always join a channel before sending commands
Get document overview using get_document_info first
Check current selection with get_selection before modifications
Use appropriate creation tools based on needs:
Verify changes using get_node_info
Use component instances when possible for consistency
Handle errors appropriately as all commands can throw exceptions
For large designs:
For text operations:
For converting legacy annotations:
License
MIT
Cursor Talk to Figma MCP
This project implements a Model Context Protocol (MCP) integration between Cursor AI and Figma, allowing Cursor to communicate with Figma for reading designs and modifying them programmatically.