73 tools from the Figma Mcp Go MCP Server, categorised by risk level.
View the Figma Mcp Go policy →find_replace_text Find and replace text content across all TEXT nodes in a subtree. Searches the entire current page if no nodeId is given. 2/5 get_annotations Get dev-mode annotations in the current document or scoped to a specific node. Returns annotation objects with label text, measurement type, and th... get_design_context Get a depth-limited, token-efficient tree of the current selection or page. Use this instead of get_document when exploring large files. Supports d... get_document Get the full node tree of the current page (not the whole file — only the active page). Returns all nodes recursively and can be very large. Prefer... get_fonts List all fonts used in the current page, sorted by usage frequency. Useful for understanding typography without scanning all text nodes. get_local_components Get all components defined in the current Figma file. get_metadata Get metadata about the current Figma document: file name, pages, current page get_node Get a single node by ID with full detail. Use get_nodes_info to fetch multiple nodes in one round-trip instead of calling this repeatedly. Node ID ... get_nodes_info Get full details for multiple nodes by ID in one round-trip. Prefer this over calling get_node repeatedly when you need several nodes. get_pages List all pages in the document with their IDs and names. Lightweight alternative to get_document. get_reactions Get the prototype reactions defined on a node. Returns an array of reaction objects — each has a trigger (e.g. ON_CLICK, ON_HOVER, AFTER_TIMEOUT) a... get_screenshot Export a screenshot of one or more nodes as base64-encoded image data (held in memory). Use save_screenshots instead when you want to write images ... get_selection Get the nodes currently selected in Figma. Returns an empty array if nothing is selected. Use get_design_context or get_node to retrieve deeper det... get_styles Get all local styles in the document (paint, text, effect, and grid). Returns each style's ID, name, type, and properties. Use the style ID with ap... get_variable_defs Get all local variable definitions: collections, modes, and values. Variables are Figma's design token system. get_viewport Get the current Figma viewport: scroll center, zoom level, and visible bounds. scan_nodes_by_types Find all nodes of specific types in a subtree, regardless of name. Use search_nodes instead when you need to filter by name. scan_text_nodes Scan all TEXT nodes in a subtree and return their content. Shorthand for scan_nodes_by_types with ['TEXT'] — use when you only need text copy from ... search_nodes Search for nodes by name substring and/or type within a subtree. Use this when you know (part of) the node name. Use scan_nodes_by_types when you w... 2/5 add_page Add a new page to the Figma document. 2/5 add_variable_mode Add a new mode to an existing variable collection (e.g. Light/Dark, Desktop/Mobile). IMPORTANT — Figma free plan only allows 1 mode per collection;... 2/5 apply_style_to_node Apply an existing local style (paint, text, effect, or grid) to a node, linking the node to that style. 2/5 batch_rename_nodes Rename multiple nodes using find/replace, regex substitution, or prefix/suffix addition. 3/5 bind_variable_to_node Bind a local variable to a node property so the property is driven by the variable's value. COLOR variables: use fillColor or strokeColor. BOOLEAN ... 2/5 clone_node Clone an existing node, optionally repositioning it or placing it in a new parent. 2/5 create_component Convert an existing FRAME node into a reusable COMPONENT. The frame is replaced in place by the new component. 2/5 create_effect_style Create a new local effect style (drop shadow, inner shadow, or blur). 2/5 create_ellipse Create a new ellipse (circle/oval) on the current page or inside a parent node. 2/5 create_frame Create a new frame on the current page or inside a parent node. 2/5 create_grid_style Create a new local layout grid style. 2/5 create_paint_style Create a new local paint style with a solid fill color. 2/5 create_rectangle Create a new rectangle on the current page or inside a parent node. 2/5 create_section Create a Figma Section node on the current page. Sections are the modern way to organize frames and groups on a page. 2/5 create_text Create a new text node on the current page or inside a parent node. The font is loaded automatically before insertion. Returns the created node ID ... 2/5 create_text_style Create a new local text style (typography preset). Returns the new style's ID. Apply it to nodes with apply_style_to_node. Use get_styles to list e... 2/5 create_variable Create a new variable (design token) inside an existing collection. Returns the new variable's ID. Use get_variable_defs to find collection IDs, se... 2/5 create_variable_collection Create a new local variable collection with an optional initial mode name. NOTE — Figma free plan limits each collection to 1 mode. If you need Lig... 2/5 detach_instance Detach one or more component instances, converting them to plain frames. The link to the main component is broken; all visual properties are preser... 2/5 export_frames_to_pdf Export multiple frames as a single multi-page PDF file. Each frame becomes one page in order. Ideal for pitch decks, proposals, and slide exports. 2/5 export_tokens Export all design tokens (variables and paint styles) as JSON or CSS custom properties. Ideal for bridging Figma variables into your codebase. 2/5 group_nodes Group two or more nodes into a GROUP. All nodes must share the same parent. 2/5 import_image Import a base64-encoded image into Figma as a rectangle with an image fill. Use get_screenshot to capture images or provide your own base64 PNG/JPG. 2/5 lock_nodes Lock one or more nodes to prevent accidental edits in Figma. 2/5 move_nodes Move one or more nodes to an absolute canvas position. The same x/y is applied to every node independently (not a relative offset from current posi... 3/5 rename_node Rename a single node by ID. Returns the updated node with its new name. Use batch_rename_nodes to rename multiple nodes at once or to apply find/re... 2/5 rename_page Rename an existing page in the Figma document. 2/5 reorder_nodes Change the z-order (layer stack position) of one or more nodes. 2/5 reparent_nodes Move one or more nodes to a different parent frame, group, or section. 2/5 resize_nodes Resize one or more nodes. The same width/height is applied to every node in the list independently. Provide width, height, or both. 3/5 rotate_nodes Rotate one or more nodes to an absolute angle in degrees. 2/5 save_screenshots Export screenshots for multiple nodes and write them to the local filesystem. Returns file metadata (path, size, dimensions) — no base64 in the res... 2/5 set_auto_layout Set or update auto-layout (flex) properties on an existing frame. 2/5 set_blend_mode Set the blend mode of one or more nodes (e.g. MULTIPLY, SCREEN, OVERLAY). 2/5 set_constraints Set layout constraints (pinning behaviour) on one or more nodes relative to their parent. 2/5 set_corner_radius Set corner radius on one or more nodes. Provide a uniform cornerRadius or individual per-corner values. 2/5 set_effects Apply one or more effects (drop shadow, inner shadow, layer blur, background blur) directly to a node. Replaces all existing effects. Pass an empty... 3/5 set_fills Set the fill color on a single node (takes one nodeId, not an array). Use mode='append' to stack a new fill on top of existing fills instead of rep... 2/5 set_opacity Set the opacity of one or more nodes (0 = fully transparent, 1 = fully opaque). 2/5 set_reactions Set prototype reactions on a node. Use mode "replace" (default) to overwrite all reactions, or "append" to add to existing ones.
Supported trigger... 2/5 set_strokes Set the stroke color and weight on a single node (takes one nodeId, not an array). Use mode='append' to stack a new stroke on top of existing strok... 2/5 set_text Update the text content of an existing TEXT node. 2/5 set_variable_value Set a variable's value for a specific mode. 2/5 set_visible Show or hide one or more nodes by setting their visibility. 2/5 swap_component Swap the main component of an existing INSTANCE node, replacing it with a different component while keeping position and size. 2/5 ungroup_nodes Ungroup one or more GROUP nodes, moving their children to the parent and removing the group. 2/5 unlock_nodes Unlock one or more nodes, allowing them to be edited again. 2/5 update_paint_style Update an existing paint style's name, color, or description. Only paint styles support in-place updates — to modify text, effect, or grid styles, ... 2/5 delete_nodes Delete one or more nodes. This cannot be undone via MCP — use with care. 4/5 delete_page Delete a page from the Figma document. Cannot delete the only remaining page. 4/5 delete_style Delete a style (paint, text, effect, or grid) by its ID. 4/5 delete_variable Delete a single variable (provide variableId) or an entire collection and all its variables (provide collectionId). Provide exactly one of the two ... 4/5 remove_reactions Remove prototype reactions from a node. Omit indices to remove all reactions. Provide a zero-based indices array to remove specific reactions (use ... 4/5 The Figma Mcp Go MCP server exposes 73 tools across 4 categories: Read, Write, Destructive, Execute.
Use Intercept, the open-source MCP proxy. Write YAML rules for each tool — rate limits, argument validation, or deny rules — then run Intercept in front of the Figma Mcp Go server.
Figma Mcp Go tools are categorised as Read (19), Write (48), Destructive (5), Execute (1). Each category has a recommended default policy.
Open source. One binary. Zero dependencies.
npx -y @policylayer/intercept