get_remote_components
Get available components from team libraries in Figma
scan_text_nodes
Scan all text nodes in the selected Figma node
join_channel
Join a specific channel to communicate with Figma
export_node_as_image
Export a node as an image from Figma
create_page
Create a new page in the current Figma document
delete_page
Delete a page from the current Figma document
rename_page
Rename an existing page in the Figma document
get_pages
Get all pages in the current Figma document
set_current_page
Switch to a specific page in the Figma document
duplicate_page
Duplicate an existing page in the Figma document, creating a complete copy of all its contents
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
create_ellipse
Create a new ellipse in Figma
create_polygon
Create a new polygon in Figma
create_star
Create a new star in Figma
group_nodes
Group nodes in Figma
ungroup_nodes
Ungroup nodes in Figma
clone_node
Clone an existing node in Figma
insert_child
Insert a child node inside a parent node in Figma
flatten_node
Flatten a node in Figma (e.g., for boolean operations or converting to path)
boolean_operation
Perform a boolean operation (union, subtract, intersect, exclude) on two or more nodes. All nodes must share the same parent.
set_fill_color
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_color
Set the stroke color of a node in Figma (defaults: opacity 1, weight 1)
set_selection_colors
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_node
Move a node to a new position in Figma
resize_node
Resize a node in Figma
delete_node
Delete a node from Figma
set_corner_radius
Set the corner radius of a node in Figma
set_auto_layout
Configure auto layout properties for a node in Figma
set_effects
Set the visual effects of a node in Figma
set_effect_style_id
Apply an effect style to a node in Figma
rotate_node
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_properties
Set visibility, lock state, and/or opacity of a node in Figma. Only provided properties are changed; omitted properties remain unchanged.
reorder_node
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_frame
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_gradient
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_image
Set an image fill on a node from base64-encoded image data. Supports PNG, JPEG, GIF, WebP. Max ~5MB after decode.
set_grid
Apply layout grids to a frame node in Figma. Supports columns, rows, and grid patterns.
get_grid
Read layout grids from a frame node in Figma
set_guide
Set guides on a page in Figma. Replaces all existing guides on the page.
get_guide
Read guides from a page in Figma
set_annotation
Add an annotation label to a node in Figma. Uses the proposed Annotations API — requires Figma Desktop with enableProposedApi.
get_annotation
Read annotations from a node in Figma. Uses the proposed Annotations API.
rename_node
Rename a node (frame, component, group, etc.) in Figma
set_text_content
Set the text content of an existing text node in Figma
set_multiple_text_contents
Set multiple text contents parallelly in a node
set_font_name
Set the font name and style of a text node in Figma
set_font_size
Set the font size of a text node in Figma
set_font_weight
Set the font weight of a text node in Figma
set_letter_spacing
Set the letter spacing of a text node in Figma
set_line_height
Set the line height of a text node in Figma
set_paragraph_spacing
Set the paragraph spacing of a text node in Figma
set_text_case
Set the text case of a text node in Figma
set_text_decoration
Set the text decoration of a text node in Figma
get_styled_text_segments
Get text segments with specific styling in a text node
set_text_style_id
Apply a text style to a text node in Figma
load_font_async
Load a font asynchronously in Figma
set_text_align
Set the text alignment of a text node in Figma. Use textAlignHorizontal RIGHT for RTL/Arabic text.
create_component_instance
Create an instance of a component in Figma
create_component_from_node
Convert an existing node (frame, group, etc.) into a reusable component in Figma
create_component_set
Create a component set (variants) from multiple component nodes in Figma
set_instance_variant
Change the variant properties of a component instance without recreating it. This preserves instance overrides and is more efficient than delete + create workflow.
set_image_fill
Apply image to node from URL or base64 data
get_image_from_node
Extract image metadata from a node
replace_image_fill
Replace existing image on node with new image while preserving transform
apply_image_transform
Adjust image position, scale, and rotation within node. Rotates the IMAGE inside the node, not the node itself.
set_image_filters
Apply color and light adjustments to image fills
set_svg
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_svg
Export a single node as an SVG string from Figma. Returns the SVG markup including all nested children.
get_variables
List all variable collections and their variables in the current Figma file. Returns collections with their modes and variables.
set_variable
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_node
Bind a variable to a node property in Figma. Call once per field — for multiple fields, call multiple times.
switch_variable_mode
Switch the variable mode on a node for a specific collection. This changes which mode's values are used for bound variables.
get_figjam_elements
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_sticky
Create a sticky note in a FigJam board. Sticky notes are the primary way to add text content in FigJam.
set_sticky_text
Update the text content of an existing FigJam sticky note.
create_shape_with_text
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_connector
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_section
Create a FigJam section. Sections are used to group and organise content on the FigJam board. They appear as labelled coloured regions.
auto_connect
Automatically detect and connect to an active Figma plugin channel. No channel ID needed.
list_active_channels
List all active Figma plugin channels currently connected to the WebSocket server.
sync_css_to_figma
Read a CSS file and sync all CSS variables to Figma variable collections
sync_figma_to_css
Read Figma variable collections and generate a CSS file with custom properties
compare_design_tokens
Compare CSS variables with Figma variables and report differences
apply_design_system
Read a design system policy markdown file and apply styles to Figma
audit_design_consistency
Audit a Figma file for design system policy violations
list_all_pages_detailed
List all pages in the Figma document with frame counts and duplicate detection
deduplicate_pages
Find and remove duplicate pages, keeping the one with more content
organize_pages
Reorder pages alphabetically or by a custom number prefix (01., 02., etc.)
cleanup_empty_pages
Find and optionally delete pages with no children/frames
react_to_figma
Analyze a React/TSX component file and create corresponding Figma frames and elements
css_class_to_figma_style
Convert CSS class definitions to Figma local paint/text styles
generate_component_variants
Generate Figma component variants (default, hover, active, disabled) from a base component