servers / figma-mcp-bridge
figma-mcp-bridge
communitystdiolocaldestructive capablehealthy
Figma Plugin & MCP server to bypass API limits
01Tools · 37
How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| get_node Get a specific Figma node by ID. Accepts top-level IDs like '4029:12345' and instance-child IDs like 'I12740:17806;12740:17793'. Never use hyphens. When multiple files are connected, specify fileKey. | read | false | unknown |
| 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. | read | false | unknown |
| get_styles Get all local styles in the document. When multiple files are connected, specify fileKey. | read | false | unknown |
| get_document Get the current Figma page document tree. When multiple files are connected, specify fileKey. | read | false | unknown |
| get_metadata Get metadata about the current Figma document including file name, pages, and current page info. When multiple files are connected, specify fileKey. | read | false | unknown |
| get_selection Get the currently selected nodes in Figma. When multiple files are connected, specify fileKey. | read | false | unknown |
| 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. | read | false | unknown |
| get_variable_defs Get all local variable definitions including variable collections, modes, and variable values. Variables are Figma's system for design tokens (colors, numbers, strings, booleans). When multiple files are connected, specify fileKey. | read | false | unknown |
| 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. | write | true | unknown |
| 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. | read | false | unknown |
| 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. | write | true | unknown |
| set_solid_fill Replace a node's fill (or stroke) with a single solid paint. Provide a hex color and optional paint opacity — fillHex/fillOpacity are accepted as aliases. Use set_gradient_fill for gradient paints. | write | true | unknown |
| set_text_content Update the contents of a single text node. The plugin loads the node's fonts before applying the new text. Accepts either text or characters. When multiple files are connected, specify fileKey. | write | true | unknown |
| 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. | write | true | unknown |
| set_gradient_fill Replace a node's fill (or stroke) with a gradient paint. Provide ordered stops (position 0..1, hex color, optional alpha) and an optional 2x3 gradientTransform matching Figma's gradientTransform format. Useful for setting linear/radial/angular/diamond gradients programmatically. | write | true | unknown |
| 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. | write | true | unknown |
| set_effects Replace a node's effects list (drop/inner shadows, layer/background blurs). Pass an empty array to clear all effects. Each entry mirrors the shape returned by get_node's `effects` field. | write | true | unknown |
| set_stroke_properties Patch stroke geometry properties: weight, align, dash pattern, cap, join. Use set_solid_fill/set_gradient_fill with target='stroke' to set the paint itself. | write | true | unknown |
| set_auto_layout Configure auto-layout on a frame: direction, gap, padding, alignment, sizing modes, wrap. Set layoutMode='NONE' to disable auto-layout on the frame. | write | true | unknown |
| 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. | write | true | unknown |
| reparent_nodes Move one or more nodes into a different parent container. When multiple files are connected, specify fileKey. | unknown | unknown | unknown |
| 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. | read | false | unknown |
| 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. | write | true | unknown |
| 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. | write | true | unknown |
| 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. | unknown | unknown | unknown |
| 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. | write | true | unknown |
| 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's node ID. | read | false | unknown |
| 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. | destructive | true | true |
| 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. | read | false | unknown |
| get_motion_styles List all available animation presets in Figma (Motion API beta). When multiple files are connected, specify fileKey. | read | false | unknown |
| get_node_motion Read a node's current animationStyles, animations, manualKeyframeTracks, and timelines (Motion API beta). When multiple files are connected, specify fileKey. | read | false | unknown |
| 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. | destructive | true | true |
| apply_animation_style Apply a preset animation style to a node (Motion API beta). When multiple files are connected, specify fileKey. | unknown | unknown | unknown |
| 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. | destructive | true | true |
| 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. | read | false | unknown |
| 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. | unknown | unknown | unknown |
| set_timeline_duration Sets the duration (in seconds) for a timeline. When multiple files are connected, specify fileKey. | write | true | unknown |
02Install & source
npx -y @gethopp/figma-mcp-bridge
npx- repohttps://github.com/gethopp/figma-mcp-bridge
- licenseMIT
- adoption400 stars · 53 forks
03Access granted
Generate images · write
The access this server can exercise, inferred from its verified tools — not a declared OAuth scope.
05Provenance & freshness
sourcesGitHub repo search [p4]
last_checked2026-07-29 08:57Z
next_check2026-07-30 13:28Z
cadenceevery 29h
verifiedtools_list:passed handshake:passed metadata:passed
index_statusindex — 9 unique facts >= 5
06Badge
Add the “as seen on MCPExplorer” badge to your README.
[](https://mcpexplorer.com/servers/figma-mcp-bridge)
Next step
This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.
Explore loadouts →