FigmaExporterMcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FIGMA_EXPORTER_EXPORT_DIR | No | Local image export directory | |
| FIGMA_EXPORTER_RELAY_PORT | No | WebSocket/HTTP relay port | 3066 |
| FIGMA_EXPORTER_SESSION_ID | No | Optional stable session id for active-file routing |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_document_infoA | Get detailed information about the current Figma document |
| get_selectionA | Get information about the current selection in Figma |
| read_my_designC | 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_infoC | 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_nodeC | Move a node to a new position in Figma |
| clone_nodeC | Clone an existing node in Figma |
| resize_nodeB | Resize a node in Figma |
| delete_nodeB | 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 |
| get_stylesA | Get all styles from the current Figma document |
| get_local_componentsA | Get all local components from the Figma document |
| get_annotationsA | Get all annotations in the current document or specific node |
| set_annotationC | Create or update an annotation |
| set_multiple_annotationsB | Set multiple annotations parallelly in a node |
| create_component_instanceA | Create an instance of a component in Figma. Use componentId for fast local component instantiation, or componentKey for library imports. |
| 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_nodesB | 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_paddingB | Set padding values for an auto-layout frame in Figma |
| set_axis_alignB | 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_spacingB | 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_connectorC | Set a copied connector node as the default connector |
| create_connectionsB | Create connections between nodes using the default connector style |
| set_focusA | 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 |
| create_componentB | Create a new Component (not an instance) in Figma. This is the foundation for building a component library. |
| create_component_setA | Combine multiple Component variants into a ComponentSet. Each component must have variant-style naming like 'Property=Value'. |
| insert_svgB | Insert an SVG string into Figma. Use this to create icons from SVG markup. The SVG will be converted to Figma vector nodes. |
| set_component_propertyA | Add a Component Property (Boolean, Text, Instance Swap, or Variant) to a Component or ComponentSet. For INSTANCE_SWAP: defaultValue must be the component KEY (not node ID), and targetChildId should be the child Instance node whose mainComponent will be linked. |
| set_component_property_referencesA | Set componentPropertyReferences on a sublayer within a Component. Links a child node's property to an existing component property. Keys: 'visible'|'characters'|'mainComponent'. |
| create_variable_collectionA | Create a new Variable Collection with modes. Use this to set up the theming system (Colors, Spacing, Radius, Typography, Font collections). |
| create_variableB | Create a new Variable in an existing Variable Collection. |
| set_variable_valueA | Set the value of a Variable for a specific mode. For COLOR type, pass hex string like '#FF0000'. |
| set_variable_mode_nameB | Rename a mode in a Variable Collection. |
| bind_variableB | Bind a Variable to a node property. This connects component properties to the theming system. |
| set_opacityA | Set the opacity of a node (0 to 1). |
| set_visibilityB | Show or hide a node. |
| set_text_styleA | Set text style properties: font family, size, weight, line height, letter spacing, alignment, decoration, case. |
| set_effectsB | Set effects on a node: drop shadow, inner shadow, layer blur, background blur. |
| create_ellipseA | Create an ellipse/circle in Figma. Useful for avatars, radio buttons, status indicators. |
| create_lineC | Create a line in Figma. Useful for dividers. |
| flatten_nodeB | Flatten a node (or group) into a single vector. Useful for cleaning up imported SVG icons. |
| create_boolean_operationA | Create a boolean operation (union, subtract, intersect, exclude) from multiple nodes. Useful for complex icon shapes. |
| batch_createA | Execute multiple Figma commands in a single batch call. Dramatically improves performance for bulk operations like creating many icons or setting up variables. |
| get_local_variablesA | Get all local Variable Collections and their variables with values. Useful for inspecting the current variable/theming setup. |
| set_node_nameB | Rename a node in Figma. |
| group_nodesC | Group multiple nodes together. |
| convert_to_componentA | Convert an existing Frame or Group into a Component. Preserves all children and properties. |
| create_icon_componentA | Create an icon component from SVG content. Inserts SVG, flattens vectors, resizes to standard size, sets fill color, and converts to a Component. Returns component ID and key. |
| get_connected_filesA | List all Figma design files currently connected via the FigmaExporter plugin. Shows which file is active (receives commands). |
| set_active_fileB | Switch which Figma file receives commands. Pass a file name or channel keyword to match. |
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 |
| Strategy for converting Figma prototype reactions to connector lines using the output of 'get_reactions' |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ChenLongbetterapp/FigmaExporterMcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server