Figma Copilot
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_document_info | Get detailed information about the current Figma document |
| get_selection | [DEPRECATED] Get information about the current selection in Figma. Use 'get_current_context' instead. |
| get_current_context | Get comprehensive context about the current state including selection, focused slide (if in Slides mode), and optionally document info |
| read_my_design | Get detailed information about the current selection in Figma, including all node details |
| get_node_info | [DEPRECATED] Get detailed information about a specific node in Figma. Use 'get_nodes' instead. |
| get_nodes | Get detailed information about one or more nodes in Figma. Accepts either a single node ID or array of IDs. |
| get_nodes_info | [DEPRECATED] Get detailed information about multiple nodes in Figma. Use 'get_nodes' instead. |
| create_rectangle | Create a new rectangle in Figma |
| create_frame | Create a new frame in Figma |
| create_text | Create a new text element in Figma |
| set_fill_color | Set the fill color of a node in Figma can be TextNode or FrameNode |
| set_stroke_color | Set the stroke color of a node in Figma |
| move_node | Move a node to a new position in Figma |
| clone_node | Clone an existing node in Figma |
| resize_node | Resize a node in Figma |
| delete_node | Delete a node from Figma |
| delete_multiple_nodes | Delete multiple nodes from Figma at once |
| export_node_as_image | Export a node as an image from Figma |
| set_text_content | Set the text content of an existing text node in Figma |
| get_styles | Get all styles from the current Figma document |
| get_local_components | Get all local components from the Figma document |
| get_annotations | Get all annotations in the current document or specific node |
| set_annotation | Create or update an annotation |
| set_multiple_annotations | Set multiple annotations parallelly in a node |
| create_component_instance | Create an instance of a component in Figma |
| get_instance_overrides | 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_overrides | 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_radius | Set the corner radius of a node in Figma |
| scan_text_nodes | [DEPRECATED] Scan all text nodes in the selected Figma node - Use scan_nodes_with_options instead |
| scan_nodes_by_types | Scan for child nodes with specific types in the selected Figma node |
| set_multiple_text_contents | Set multiple text contents parallelly in a node |
| set_layout_mode | Set the layout mode and wrap behavior of a frame in Figma |
| set_padding | Set padding values for an auto-layout frame in Figma |
| set_axis_align | Set primary and counter axis alignment for an auto-layout frame in Figma |
| set_layout_sizing | Set horizontal and vertical sizing modes for an auto-layout frame in Figma |
| set_item_spacing | Set distance between children in an auto-layout frame |
| get_reactions | 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_connector | Set a copied connector node as the default connector |
| create_connections | Create connections between nodes using the default connector style |
| create_slide | Create a new slide in Figma Slides |
| create_slide_row | Create a new slide row in Figma Slides |
| set_slide_grid | Rearrange slides into a grid layout in Figma Slides |
| get_focused_slide | [DEPRECATED] Get the currently focused slide in Figma Slides. Use 'get_current_context' instead. |
| get_slide_transition | Get the transition settings for a slide in Figma Slides |
| set_slide_transition | Set the transition for a slide in Figma Slides |
| get_slides_mode | [DEPRECATED] Get the current viewport mode in Figma Slides. Use 'get_current_context' instead. |
| set_slides_mode | Set the viewport mode in Figma Slides |
| get_slide_grid | Get the current slide grid arrangement in Figma Slides |
| extract_slide_content | Extract all content from a Figma slide including text, tables, and optionally images |
| get_presentation_summary | Generate an overview of a Figma presentation including slide count, slide titles, and optionally an outline summarizing key points |
| get_table_data | Extract data from a Figma table node in various formats (array, object, or CSV) |
| create_shape_with_text | Create a shape with text (available in Figma Slides and FigJam) |
| create_table | Create a table (available in Figma Design and Slides) |
| create_gif | Create a GIF (available in Figma Slides and FigJam) |
| set_text_style_range | Apply text styling (bold, italic, underline, strikethrough) to a specific range of text in a text node |
| get_text_style_range | Get the text styling (bold, italic, underline, strikethrough) for a specific range of text |
| set_text_decoration_range | Set advanced text decoration properties (style, color, thickness, offset) for a text range |
| get_text_decoration_range | Get the text decoration properties for a specific text range |
| set_range_font | Set the font family and style for a specific text range |
| set_range_font_size | Set the font size for a specific text range |
| set_range_fills | Set the text color for a specific text range |
| get_styled_text_segments | Get detailed text segments with all their styling properties |
| set_component_description | Set the description of a component with Markdown formatting support |
| get_component_description | Get the description of a component in Markdown format |
| normalize_markdown | Normalize Markdown text to match Figma's supported subset |
| update_text_preserve_formatting | Update text content while preserving existing character formatting. Choose a strategy for handling formatting when text length changes. |
| smart_text_replace | Replace specific text in a node while preserving the formatting of unchanged portions. Only replaced text gets default formatting. |
| set_multiple_text_contents_with_styles | Update multiple text nodes with content and optional styling in a single operation. More efficient than separate text and style updates. |
| clone_multiple_nodes | Clone a node to multiple positions in one operation. Significantly faster than multiple individual clone operations. |
| get_multiple_nodes_info | [DEPRECATED] Get information for multiple nodes in a single request. Use 'get_nodes' instead. |
| set_multiple_nodes_property | Set the same property value on multiple nodes at once. Useful for bulk updates like visibility, opacity, or position. |
| scan_nodes_with_options | Scan for nodes with advanced options including depth limit, timeout control, and partial results. Use this when scan_text_nodes times out. |
| get_connection_status | Get the current connection status and statistics for the Figma plugin connection |
| execute_batch | Execute multiple commands in sequence with a single round-trip. Ideal for complex operations that require multiple steps. |
| join_channel | Join a specific channel to communicate with Figma |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| design_strategy | Best practices for working with Figma designs |
| read_design_strategy | Best practices for reading Figma designs |
| text_replacement_strategy | Systematic approach for replacing text in Figma designs |
| annotation_conversion_strategy | Strategy for converting manual annotations to Figma's native annotations |
| swap_overrides_instances | Guide to swap instance overrides between instances |
| reaction_to_connector_strategy | Strategy for converting Figma prototype reactions to connector lines using the output of 'get_reactions' |
| batch_operations_guide | Best practices for efficient bulk operations in Figma |
| error_recovery_guide | How to handle common errors and timeouts in Figma operations |
| text_formatting_guide | Best practices for updating text while preserving formatting |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
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/xlzuvekas/figma-copilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server