io.github.vkhanhqui/figma-mcp-go
NPM · @VKHANHQUI/FIGMA-MCP-GO · SCANNED AUG 7
Figma MCP server with full read/write access via plugin — no API token, no rate limits. 73 tools.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency19
- Repository check failed: the declared repository URL returned HTTP 451. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 116 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability83
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 7994 tokens (~109/item across 73 items; 73 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @vkhanhqui/figma-mcp-go
claude mcp add vkhanhqui-figma-mcp-go -- npx -y @vkhanhqui/figma-mcp-go
codex mcp add vkhanhqui-figma-mcp-go -- npx -y @vkhanhqui/figma-mcp-go
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"vkhanhqui-figma-mcp-go": {
"type": "local",
"command": [
"npx",
"-y",
"@vkhanhqui/figma-mcp-go"
],
"enabled": true
}
}
} openclaw mcp add vkhanhqui-figma-mcp-go --command npx --arg -y --arg @vkhanhqui/figma-mcp-go
mcp_servers:
vkhanhqui-figma-mcp-go:
command: "npx"
args: ["-y", "@vkhanhqui/figma-mcp-go"] {
"mcpServers": {
"vkhanhqui-figma-mcp-go": {
"command": "npx",
"args": [
"-y",
"@vkhanhqui/figma-mcp-go"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 7 Aug 26 +6
- Schema quality: unverified → good ▲ functional
- 6 Aug 26 +25
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Schema quality: unverified → 100 ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: fail functional
- First check of Schema quality: unverified functional
- First check of Tool coverage: 100 functional
- 2 Aug 26 +15
- Malware scan: unverified → pass ▲ security
- 31 Jul 26 −4
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −18
- Malware scan: pass → unverified ▼ security
- 27 Jul 26 0
- Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess. functional
- Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess. functional
- 26 Jul 26 41
First indexed and scored.
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 7 Aug 2026 · Analysed npm/@vkhanhqui/[email protected]
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
add_page ~56
Add a new page to the Figma document.
| Name | Type | Req | Description |
|---|---|---|---|
| index | number | – | Position index to insert the page (0 = first). Defaults to last position. |
| name | string | – | Name for the new page (default 'Page') |
No output schema declared.
No examples provided.
add_variable_mode ~155
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; calling this tool on a free-plan account will return the error 'Limited to 1 modes only'. If that error occurs, stop retrying and switch to the name-prefix workaround: keep the single default mode and create variables prefixed by mode, e.g. 'light/color-bg' and 'dark/color-bg' in the same collection. Tell the user that native multi-mode variables require a paid Figma plan (Professional or above).
| Name | Type | Req | Description |
|---|---|---|---|
| collectionId | string | yes | Variable collection ID |
| modeName | string | yes | Name for the new mode |
No output schema declared.
No examples provided.
apply_style_to_node ~98
Apply an existing local style (paint, text, effect, or grid) to a node, linking the node to that style.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | Target node ID in colon format e.g. 4029:12345 |
| styleId | string | yes | Style ID to apply (from get_styles) |
| target | string | – | For paint styles only — apply to 'fill' (default) or 'stroke' |
No output schema declared.
No examples provided.
batch_rename_nodes ~160
Rename multiple nodes using find/replace, regex substitution, or prefix/suffix addition.
| Name | Type | Req | Description |
|---|---|---|---|
| find | string | – | String (or regex pattern when useRegex=true) to search for in the node name |
| nodeIds | array | yes | Node IDs in colon format e.g. ['4029:12345'] |
| prefix | string | – | String to prepend to the node name |
| regexFlags | string | – | Regex flags e.g. 'gi' (default 'g'). Only used when useRegex=true. |
| replace | string | – | Replacement string. Required when find is provided. |
| suffix | string | – | String to append to the node name |
| useRegex | boolean | – | Treat find as a regular expression (default false) |
No output schema declared.
No examples provided.
bind_variable_to_node ~197
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 variables: use visible. FLOAT variables: use opacity, rotation, width, height, cornerRadius, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius, strokeWeight, itemSpacing, paddingTop, paddingRight, paddingBottom, paddingLeft.
| Name | Type | Req | Description |
|---|---|---|---|
| field | string | yes | Property to bind: fillColor | strokeColor | visible | opacity | rotation | width | height | cornerRadius | topLeftRadius | topRightRadius | bottomLeftRadius | bottomRightRadius | strokeWeight | itemS… |
| nodeId | string | yes | Target node ID in colon format e.g. 4029:12345 |
| variableId | string | yes | Variable ID to bind (from get_variable_defs) |
No output schema declared.
No examples provided.
clone_node ~93
Clone an existing node, optionally repositioning it or placing it in a new parent.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | Source node ID in colon format e.g. '4029:12345' |
| parentId | string | – | Parent node ID for the clone. Defaults to same parent as source. |
| x | number | – | X position of the clone |
| y | number | – | Y position of the clone |
No output schema declared.
No examples provided.
create_component ~75
Convert an existing FRAME node into a reusable COMPONENT. The frame is replaced in place by the new component.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Optional name for the component. Defaults to the frame's current name. |
| nodeId | string | yes | FRAME node ID to convert, in colon format e.g. '4029:12345' |
No output schema declared.
No examples provided.
create_effect_style ~209
Create a new local effect style (drop shadow, inner shadow, or blur).
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | Shadow color as hex e.g. #000000 (default #000000, shadows only) |
| description | string | – | Optional style description |
| name | string | yes | Style name e.g. 'Shadow/Card' |
| offsetX | number | – | Shadow X offset in pixels (default 0, shadows only) |
| offsetY | number | – | Shadow Y offset in pixels (default 4, shadows only) |
| opacity | number | – | Shadow color opacity 0–1 (default 0.25, shadows only) |
| radius | number | – | Blur radius in pixels (default 8 for shadows, 4 for blurs) |
| spread | number | – | Shadow spread in pixels (default 0, shadows only) |
| type | string | – | Effect type: DROP_SHADOW (default), INNER_SHADOW, LAYER_BLUR, or BACKGROUND_BLUR |
No output schema declared.
No examples provided.
create_ellipse ~132
Create a new ellipse (circle/oval) on the current page or inside a parent node.
| Name | Type | Req | Description |
|---|---|---|---|
| fillColor | string | – | Fill color as hex e.g. #3B82F6 |
| height | number | – | Height in pixels (default 100) |
| name | string | – | Ellipse name |
| parentId | string | – | Parent node ID in colon format. Defaults to current page. |
| width | number | – | Width in pixels (default 100) |
| x | number | – | X position (default 0) |
| y | number | – | Y position (default 0) |
No output schema declared.
No examples provided.
create_frame ~329
Create a new frame on the current page or inside a parent node.
| Name | Type | Req | Description |
|---|---|---|---|
| counterAxisAlignItems | string | – | Cross-axis alignment: MIN, CENTER, MAX, or BASELINE |
| counterAxisSizingMode | string | – | Cross-axis sizing: FIXED or AUTO (hug) |
| counterAxisSpacing | number | – | Gap between wrapped rows/columns (only when layoutWrap is WRAP) |
| fillColor | string | – | Fill color as hex e.g. #FFFFFF |
| height | number | – | Height in pixels (default 100) |
| itemSpacing | number | – | Auto-layout gap between children |
| layoutMode | string | – | Auto-layout direction: HORIZONTAL, VERTICAL, or NONE |
| layoutWrap | string | – | Wrap behaviour: NO_WRAP or WRAP |
| name | string | – | Frame name |
| paddingBottom | number | – | Auto-layout bottom padding |
| paddingLeft | number | – | Auto-layout left padding |
| paddingRight | number | – | Auto-layout right padding |
| paddingTop | number | – | Auto-layout top padding |
| parentId | string | – | Parent node ID in colon format. Defaults to current page. |
| primaryAxisAlignItems | string | – | Main-axis alignment: MIN, CENTER, MAX, or SPACE_BETWEEN |
| primaryAxisSizingMode | string | – | Main-axis sizing: FIXED or AUTO (hug) |
| width | number | – | Width in pixels (default 100) |
| x | number | – | X position (default 0) |
| y | number | – | Y position (default 0) |
No output schema declared.
No examples provided.
create_grid_style ~227
Create a new local layout grid style.
| Name | Type | Req | Description |
|---|---|---|---|
| alignment | string | – | Alignment: STRETCH (default), CENTER, MIN, or MAX (COLUMNS/ROWS only) |
| color | string | – | Grid line color as hex e.g. #FF0000 (GRID only, default #FF0000) |
| count | number | – | Number of columns or rows (COLUMNS/ROWS only, default 12) |
| description | string | – | Optional style description |
| gutterSize | number | – | Gutter size in pixels (COLUMNS/ROWS only, default 16) |
| name | string | yes | Style name e.g. 'Grid/Desktop' |
| offset | number | – | Margin/offset in pixels (COLUMNS/ROWS only, default 0) |
| opacity | number | – | Grid line opacity 0–1 (GRID only, default 0.1) |
| pattern | string | – | Grid pattern: GRID (default), COLUMNS, or ROWS |
| sectionSize | number | – | Grid cell size in pixels (GRID only, default 8) |
No output schema declared.
No examples provided.
create_paint_style ~66
Create a new local paint style with a solid fill color.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | yes | Fill color as hex e.g. #FF5733 |
| description | string | – | Optional style description |
| name | string | yes | Style name e.g. 'Brand/Primary' |
No output schema declared.
No examples provided.
create_rectangle ~135
Create a new rectangle on the current page or inside a parent node.
| Name | Type | Req | Description |
|---|---|---|---|
| cornerRadius | number | – | Corner radius in pixels |
| fillColor | string | – | Fill color as hex e.g. #FF5733 |
| height | number | – | Height in pixels (default 100) |
| name | string | – | Rectangle name |
| parentId | string | – | Parent node ID in colon format. Defaults to current page. |
| width | number | – | Width in pixels (default 100) |
| x | number | – | X position (default 0) |
| y | number | – | Y position (default 0) |
No output schema declared.
No examples provided.
create_section ~92
Create a Figma Section node on the current page. Sections are the modern way to organize frames and groups on a page.
| Name | Type | Req | Description |
|---|---|---|---|
| height | number | – | Height in pixels |
| name | string | – | Section name (default 'Section') |
| width | number | – | Width in pixels |
| x | number | – | X position (default 0) |
| y | number | – | Y position (default 0) |
No output schema declared.
No examples provided.
create_text ~250
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 and bounds. Use set_text to update the content of an existing text node.
| Name | Type | Req | Description |
|---|---|---|---|
| fillColor | string | – | Text color as hex e.g. #000000 (default black) |
| fontFamily | string | – | Font family name e.g. 'Inter', 'Roboto', 'SF Pro Display' (default Inter). Must be a font installed in Figma. |
| fontSize | number | – | Font size in pixels (default 14) |
| fontStyle | string | – | Font style variant e.g. 'Regular', 'Bold', 'Italic', 'Medium', 'SemiBold' (default Regular). Must match an available style for the chosen fontFamily. |
| name | string | – | Node name shown in the layers panel (defaults to the text content) |
| parentId | string | – | Parent node ID in colon format. Defaults to current page. |
| text | string | yes | Text content to display |
| x | number | – | X position in pixels (default 0) |
| y | number | – | Y position in pixels (default 0) |
No output schema declared.
No examples provided.
create_text_style ~272
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 existing text styles.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Optional human-readable description shown in the Figma style panel |
| fontFamily | string | – | Font family name e.g. 'Inter', 'Roboto' (default Inter). Must be installed in Figma. |
| fontSize | number | – | Font size in pixels (default 16) |
| fontStyle | string | – | Font style variant e.g. 'Regular', 'Bold', 'Medium', 'SemiBold' (default Regular) |
| letterSpacingUnit | string | – | Letter spacing unit: PIXELS (default) or PERCENT |
| letterSpacingValue | number | – | Letter spacing value (unit set by letterSpacingUnit) |
| lineHeightUnit | string | – | Line height unit: PIXELS (default) or PERCENT |
| lineHeightValue | number | – | Line height value (unit set by lineHeightUnit) |
| name | string | yes | Style name — use slash notation to organise into groups e.g. 'Heading/H1', 'Body/Regular' |
| textDecoration | string | – | Text decoration: NONE (default), UNDERLINE, or STRIKETHROUGH |
No output schema declared.
No examples provided.
create_variable ~186
Create a new variable (design token) inside an existing collection. Returns the new variable's ID. Use get_variable_defs to find collection IDs, set_variable_value to set values per mode, and bind_variable_to_node to apply the variable to a node property.
| Name | Type | Req | Description |
|---|---|---|---|
| collectionId | string | yes | ID of the variable collection to add this variable to (from get_variable_defs) |
| name | string | yes | Variable name — use slash notation to group e.g. 'Color/Primary', 'Spacing/MD' |
| type | string | yes | Variable type: COLOR (hex color), FLOAT (numeric dimension/spacing), STRING (text), or BOOLEAN (true/false toggle) |
| value | string | – | Initial value for the first mode. COLOR: hex e.g. #FF5733. FLOAT: number e.g. 16. STRING: text. BOOLEAN: true or false. |
No output schema declared.
No examples provided.
create_variable_collection ~141
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 Light/Dark (or any multi-mode) theming and the user is on the free plan, do NOT try to call add_variable_mode; instead use the name-prefix workaround: create all variables in a single collection and prefix each variable name with its mode, e.g. 'light/color-bg' and 'dark/color-bg'. Inform the user of this limitation.
| Name | Type | Req | Description |
|---|---|---|---|
| initialModeName | string | – | Name for the initial mode (default 'Mode 1') |
| name | string | yes | Collection name |
No output schema declared.
No examples provided.
delete_nodes ~49
Delete one or more nodes. This cannot be undone via MCP — use with care.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeIds | array | yes | Node IDs to delete in colon format e.g. ['4029:12345'] |
No output schema declared.
No examples provided.
delete_page ~63
Delete a page from the Figma document. Cannot delete the only remaining page.
| Name | Type | Req | Description |
|---|---|---|---|
| pageId | string | – | Page node ID in colon format e.g. '0:2' |
| pageName | string | – | Exact page name to delete (alternative to pageId) |
No output schema declared.
No examples provided.
delete_style ~37
Delete a style (paint, text, effect, or grid) by its ID.
| Name | Type | Req | Description |
|---|---|---|---|
| styleId | string | yes | Style ID to delete |
No output schema declared.
No examples provided.
delete_variable ~72
Delete a single variable (provide variableId) or an entire collection and all its variables (provide collectionId). Provide exactly one of the two — not both.
| Name | Type | Req | Description |
|---|---|---|---|
| collectionId | string | – | Collection ID to delete (removes all variables in the collection) |
| variableId | string | – | Variable ID to delete |
No output schema declared.
No examples provided.
detach_instance ~60
Detach one or more component instances, converting them to plain frames. The link to the main component is broken; all visual properties are preserved.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeIds | array | yes | INSTANCE node IDs in colon format e.g. ['4029:12345'] |
No output schema declared.
No examples provided.
export_frames_to_pdf ~99
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.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeIds | array | yes | Ordered list of frame node IDs to export as PDF pages, colon format e.g. '4029:12345' |
| outputPath | string | yes | File path to write the PDF to, must end in .pdf (relative to working directory or absolute) |
No output schema declared.
No examples provided.
export_tokens ~52
Export all design tokens (variables and paint styles) as JSON or CSS custom properties. Ideal for bridging Figma variables into your codebase.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output format: json (default) or css |
No output schema declared.
No examples provided.
find_replace_text ~137
Find and replace text content across all TEXT nodes in a subtree. Searches the entire current page if no nodeId is given.
| Name | Type | Req | Description |
|---|---|---|---|
| find | string | yes | Text string (or regex pattern when useRegex=true) to search for |
| nodeId | string | – | Root node ID to scope the search. Defaults to the entire current page. |
| regexFlags | string | – | Regex flags e.g. 'gi' (default 'g'). Only used when useRegex=true. |
| replace | string | yes | Replacement string (use empty string to delete matches) |
| useRegex | boolean | – | Treat find as a regular expression (default false) |
No output schema declared.
No examples provided.
get_annotations ~86
Get dev-mode annotations in the current document or scoped to a specific node. Returns annotation objects with label text, measurement type, and the ID of the annotated node. Omit nodeId to retrieve all annotations on the current page.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | – | Optional — scope results to annotations on this node and its descendants, colon format e.g. '4029:12345' |
No output schema declared.
No examples provided.
get_design_context ~166
Get a depth-limited, token-efficient tree of the current selection or page. Use this instead of get_document when exploring large files. Supports detail levels (minimal/compact/full) and dedupe_components for pages heavy with repeated component instances.
| Name | Type | Req | Description |
|---|---|---|---|
| dedupe_components | boolean | – | When true, INSTANCE nodes are serialized compactly (mainComponentId + componentProperties + overrides array of differing text/nested content) and unique component definitions are collected once in a… |
| depth | number | – | How many levels deep to traverse (default 2) |
| detail | string | – | Property verbosity: minimal (id/name/type/bounds only), compact (+fills/strokes/opacity), full (everything, default) |
No output schema declared.
No examples provided.
get_document ~50
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_design_context for exploration or when token efficiency matters.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_fonts ~32
List all fonts used in the current page, sorted by usage frequency. Useful for understanding typography without scanning all text nodes.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_local_components ~20
Get all components defined in the current Figma file.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_metadata ~25
Get metadata about the current Figma document: file name, pages, current page
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_node ~79
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 must be colon format e.g. '4029:12345', never hyphens.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | Node ID in colon format e.g. '4029:12345' |
No output schema declared.
No examples provided.
get_nodes_info ~66
Get full details for multiple nodes by ID in one round-trip. Prefer this over calling get_node repeatedly when you need several nodes.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeIds | array | yes | List of node IDs in colon format e.g. ['4029:12345', '4029:67890'] |
No output schema declared.
No examples provided.
get_pages ~26
List all pages in the document with their IDs and names. Lightweight alternative to get_document.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_reactions ~99
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) and an actions array (navigate to node, open URL, go back, etc.). Use set_reactions to add or replace reactions, remove_reactions to delete them.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | Node ID in colon format e.g. '4029:12345' |
No output schema declared.
No examples provided.
get_screenshot ~110
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 directly to disk without base64 in the response.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Export format: PNG (default), SVG, JPG, or PDF |
| nodeIds | array | – | Optional node IDs to export, colon format. If empty, exports current selection. |
| scale | number | – | Export scale for raster formats (default 2) |
No output schema declared.
No examples provided.
get_selection ~44
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 detail about a specific node by ID.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_styles ~65
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 apply_style_to_node or update_paint_style. For design tokens (variables), use get_variable_defs instead.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_variable_defs ~31
Get all local variable definitions: collections, modes, and values. Variables are Figma's design token system.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_viewport ~26
Get the current Figma viewport: scroll center, zoom level, and visible bounds.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
group_nodes ~74
Group two or more nodes into a GROUP. All nodes must share the same parent.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Optional name for the new group |
| nodeIds | array | yes | Node IDs to group (minimum 2), in colon format e.g. ['4029:12345', '4029:12346'] |
No output schema declared.
No examples provided.
import_image ~167
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.
| Name | Type | Req | Description |
|---|---|---|---|
| height | number | – | Height in pixels (default 200) |
| imageData | string | yes | Base64-encoded image data (PNG or JPG) |
| name | string | – | Node name |
| parentId | string | – | Parent node ID in colon format. Defaults to current page. |
| scaleMode | string | – | Image scale mode: FILL (default), FIT, CROP, or TILE |
| width | number | – | Width in pixels (default 200) |
| x | number | – | X position (default 0) |
| y | number | – | Y position (default 0) |
No output schema declared.
No examples provided.
lock_nodes ~43
Lock one or more nodes to prevent accidental edits in Figma.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeIds | array | yes | Node IDs in colon format e.g. ['4029:12345'] |
No output schema declared.
No examples provided.
move_nodes ~80
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 position).
| Name | Type | Req | Description |
|---|---|---|---|
| nodeIds | array | yes | Node IDs in colon format e.g. ['4029:12345'] |
| x | number | – | Target X position |
| y | number | – | Target Y position |
No output schema declared.
No examples provided.
navigate_to_page ~59
Switch the active Figma page. Provide either pageId or pageName.
| Name | Type | Req | Description |
|---|---|---|---|
| pageId | string | – | Page node ID in colon format e.g. '0:1' |
| pageName | string | – | Exact page name to navigate to |
No output schema declared.
No examples provided.
remove_reactions ~90
Remove prototype reactions from a node. Omit indices to remove all reactions. Provide a zero-based indices array to remove specific reactions (use get_reactions first to see current indices).
| Name | Type | Req | Description |
|---|---|---|---|
| indices | array | – | Zero-based indices of reactions to remove. Omit or pass [] to remove all. |
| nodeId | string | yes | Node ID in colon format e.g. '4029:12345' |
No output schema declared.
No examples provided.
rename_node ~104
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/replace patterns across many nodes.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | New name for the node. Figma supports slash-separated path notation e.g. 'Icons/Arrow/Left' to organise nodes in component panels. |
| nodeId | string | yes | Node ID in colon format e.g. '4029:12345' |
No output schema declared.
No examples provided.
rename_page ~70
Rename an existing page in the Figma document.
| Name | Type | Req | Description |
|---|---|---|---|
| newName | string | yes | New name for the page |
| pageId | string | – | Page node ID in colon format e.g. '0:2' |
| pageName | string | – | Current page name to find (alternative to pageId) |
No output schema declared.
No examples provided.
reorder_nodes ~69
Change the z-order (layer stack position) of one or more nodes.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeIds | array | yes | Node IDs in colon format e.g. ['4029:12345'] |
| order | string | yes | Order operation: bringToFront, sendToBack, bringForward, or sendBackward |
No output schema declared.
No examples provided.