@gethopp/figma-mcp-bridge
MCP server that bridges Figma plugin data to AI tools without hitting API rate limits
Versions
0.0.18latest0.0.170.0.160.0.150.0.14+ show 13 moreshow less
0.0.130.0.120.0.110.0.100.0.90.0.80.0.70.0.60.0.50.0.40.0.30.0.20.0.1Tools 37
list_files List all currently connected Figma files. Returns fileKey and fileName for each. Use the fileKey to target a specific file in other tools.
get_document Get the current Figma page document tree. When multiple files are connected, specify fileKey.
get_selection Get the currently selected nodes in Figma. When multiple files are connected, specify fileKey.
get_node Get a specific Figma node by ID. Accepts top-level IDs like
get_styles Get all local styles in the document. When multiple files are connected, specify fileKey.
get_metadata Get metadata about the current Figma document including file name, pages, and current page info. When multiple files are connected, specify fileKey.
get_design_context Get the design context for the current selection or page. Returns a summarized tree structure optimized for understanding the current design context. When multiple files are connected, specify fileKey.
get_variable_defs Get all local variable definitions including variable collections, modes, and variable values. Variables are Figma
get_screenshot Export a screenshot of the selected nodes or specific nodes by ID. Returns base64-encoded image data. When multiple files are connected, specify fileKey.
set_node_visibility Show or hide specific Figma nodes. Returns previous visibility for each node so you can restore them after. Useful for isolating a single layer before exporting: hide all siblings, export the frame, then restore visibility.
set_text_content Update the contents of a single text node. The plugin loads the node
set_text_properties Patch common text properties such as font family/style, size, alignment, auto-resize, line height, letter spacing, fill color, and bounds. When multiple files are connected, specify fileKey.
set_node_properties Patch common node properties such as name, position, size, visibility, opacity, and corner radius. Only supported properties for the target node type may be changed. Use set_solid_fill or set_gradient_fill to change paints. When multiple files are connected, specify fileKey.
set_solid_fill Replace a node
set_gradient_fill Replace a node
set_effects Replace a node
set_stroke_properties Patch stroke geometry properties: weight, align, dash pattern, cap, join. Use set_solid_fill/set_gradient_fill with target=
set_auto_layout Configure auto-layout on a frame: direction, gap, padding, alignment, sizing modes, wrap. Set layoutMode=
create_frame Create a new frame, optionally inside a specified parent. You can set name, size, position, and a solid fill. When multiple files are connected, specify fileKey.
create_text Create a new text node, optionally inside a specified parent. You can set its content, font, size, alignment, color, position, and bounds. When multiple files are connected, specify fileKey.
create_shape Create a rectangle, ellipse, or line, optionally inside a specified parent. You can set its size, position, rotation, fill, and stroke. When multiple files are connected, specify fileKey.
create_image Create an image-backed rectangle from a local file path, remote URL, or data URI. You can set its parent, position, size, corner radius, and fit mode. When multiple files are connected, specify fileKey.
duplicate_nodes Duplicate one or more nodes in place. The duplicates remain under the same parent as the originals. When multiple files are connected, specify fileKey.
reparent_nodes Move one or more nodes into a different parent container. When multiple files are connected, specify fileKey.
group_nodes Wrap a list of nodes in a new group. Nodes must share a common parent (or supply parentId explicitly). Returns the new group
ungroup_node Ungroup a group or frame — its children move up to its parent and the wrapper is removed. Returns the IDs of the orphaned children in their new parent.
set_selection Set the current page selection to a list of node IDs. Pass an empty array to clear the selection. Works in both design editor and Dev Mode.
scroll_and_zoom_into_view Scroll and zoom the Figma viewport so the given nodes are framed in view. Works in both design editor and Dev Mode.
delete_nodes Delete one or more nodes. This is destructive and requires confirm: true. Page and document nodes cannot be deleted through this tool. When multiple files are connected, specify fileKey.
get_motion_styles List all available animation presets in Figma (Motion API beta). When multiple files are connected, specify fileKey.
get_node_motion Read a node
apply_animation_style Apply a preset animation style to a node (Motion API beta). When multiple files are connected, specify fileKey.
remove_animation_style Remove an applied animation style from a node (Motion API beta). If no animationStyleId is provided, removes all styles. When multiple files are connected, specify fileKey.
apply_manual_keyframe_track Applies or replaces the manual Motion keyframe track for a property, paint, or effect field on a node. When multiple files are connected, specify fileKey.
remove_manual_keyframe_track Removes the manual Motion keyframe track for a property, paint, or effect field on a node. When multiple files are connected, specify fileKey.
set_timeline_duration Sets the duration (in seconds) for a timeline. When multiple files are connected, specify fileKey.
save_screenshots Export screenshots for multiple nodes and save them directly to the local filesystem. Returns metadata only (no base64). When multiple files are connected, specify fileKey.
Permissions 1
network medium