io.github.neozhehan/figma-edit-mcp
NPM · FIGMA-EDIT-MCP · SCANNED AUG 3
Programmatically read, create, and modify Figma designs via MCP.
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 Security70
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects ws 8.20.0, a direct dependency. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to neozhehan/figma-edit-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 27 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability80
- 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 5827 tokens (~121/item across 48 items; 48 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 · figma-edit-mcp
claude mcp add neozhehan-figma-edit-mcp -- npx -y figma-edit-mcp
codex mcp add neozhehan-figma-edit-mcp -- npx -y figma-edit-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"neozhehan-figma-edit-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"figma-edit-mcp"
],
"enabled": true
}
}
} openclaw mcp add neozhehan-figma-edit-mcp --command npx --arg -y --arg figma-edit-mcp
mcp_servers:
neozhehan-figma-edit-mcp:
command: "npx"
args: ["-y", "figma-edit-mcp"] {
"mcpServers": {
"neozhehan-figma-edit-mcp": {
"command": "npx",
"args": [
"-y",
"figma-edit-mcp"
]
}
}
} 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.
- 2 Aug 26 +11
- Known CVEs: fail → unverified ▼ security
- Malware scan: unverified → pass ▲ security
- Dependency health: partial → unverified ▼ functional
- 1 Aug 26 +26
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 31 Jul 26 −18
- Malware scan: pass → unverified ▼ security
- 27 Jul 26 52
First indexed and scored.
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 3 Aug 2026 · Analysed npm/[email protected]
Provenance verified
Ecosystem: npm · Outcome: verified
Reason: verified
- Source repo:
- neozhehan/figma-edit-mcp
- Certificate issuer:
- https://token.actions.githubusercontent.com
- Certificate SAN:
- https://github.com/neozhehan/figma-edit-mcp/.github/workflows/publish.yml@refs/tags/v1.5.2
- Rekor log index:
- 1597583923
- Predicate type:
- https://slsa.dev/provenance/v1
- Subject digest:
- sha512:3e58ae727e037f7d610aa2d96dc3fbde555a90ecf1e8dc8ca63baec4407d2c368b35d4642325abd01c76299ff0c4527c1820a3cf17fbb4c1d64016c05
- Discovery method:
- attestation_endpoint
Vulnerabilities 3 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-frvp-7c67-39w9 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | yes | |
| GHSA-58qx-3vcg-4xpx | CVE-2026-45736 | medium | CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N | yes |
| GHSA-96hv-2xvq-fx4p | CVE-2026-48779 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
Dependencies 96 packages
96 packages in the resolved dependency tree · 96 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
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.
apply_style ~80
Applies a style to a node by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | The ID of the node to apply style to |
| nodeName | string | yes | Name of the node to verify against |
| styleId | string | yes | The ID of the style to apply |
| styleType | string | yes | Type of style to apply (target property) |
No output schema declared.
No examples provided.
clone_node ~71
Clone an existing node in Figma
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | The ID of the node to clone |
| nodeName | string | yes | Name of the node to modify |
| x | number | — | New X position for the clone |
| y | number | — | New Y position for the clone |
No output schema declared.
No examples provided.
create_component ~50
Transforms a frame into a main component.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | The ID of the frame to convert to a component |
| nodeName | string | yes | Name of the node to verify against |
No output schema declared.
No examples provided.
create_component_instance ~110
Create an instance of a component in Figma
| Name | Type | Req | Description |
|---|---|---|---|
| componentId | string | — | Node ID of the component to instantiate (preferred for local components) |
| componentKey | string | — | Key of the component to instantiate (for remote/library components) |
| parentId | string | — | Optional parent node ID to append the instance to |
| parentNodeName | string | — | Name of the parent node to verify against |
| x | number | yes | X position |
| y | number | yes | Y position |
No output schema declared.
No examples provided.
create_component_set ~101
Transforms components into a component set (variants).
| Name | Type | Req | Description |
|---|---|---|---|
| componentSetName | string | — | Name for the component set |
| components | array | yes | Array of component objects |
| parentId | string | — | Parent frame to place the set in |
| parentNodeName | string | — | Name of parent node (required if parentId provided, for verification) |
| properties | array | yes | Array of property names (e.g. ['Size', 'State']) |
No output schema declared.
No examples provided.
create_connections ~82
Create connections between nodes, or set/check the default connector template. Pass 'connectorId' to set a default. Pass 'connections' to create lines. Pass nothing to check current default.
| Name | Type | Req | Description |
|---|---|---|---|
| connections | array | — | Optional: Array of node connections to create |
| connectorId | string | — | Optional: The ID of the connector node to set as default template |
No output schema declared.
No examples provided.
create_ellipse ~181
Create a new ellipse (circle, arc, donut) in Figma
| Name | Type | Req | Description |
|---|---|---|---|
| arcData | object | — | Optional arc data for creating arcs/donuts |
| fillColor | object | — | Fill color in RGBA format |
| height | number | yes | Height of the ellipse |
| name | string | — | Optional name for the ellipse |
| parentId | string | — | Optional parent node ID to append the ellipse to |
| parentNodeName | string | — | Name of the parent node to verify against |
| strokeColor | object | — | Stroke color in RGBA format |
| useAbsolutePosition | boolean | — | If true and parent is an auto-layout frame, forces absolute positioning to prevent layout shifts. |
| width | number | yes | Width of the ellipse |
| x | number | yes | X position |
| y | number | yes | Y position |
No output schema declared.
No examples provided.
create_frame ~349
Create a new frame in Figma
| Name | Type | Req | Description |
|---|---|---|---|
| counterAxisAlignItems | string | — | Counter axis alignment for auto-layout frame |
| fillColor | object | — | Fill color in RGBA format |
| height | number | yes | Height of the frame |
| itemSpacing | number | — | Distance between children in auto-layout frame. Note: This value will be ignored if primaryAxisAlignItems is set to SPACE_BETWEEN. |
| layoutMode | string | — | Auto-layout mode for the frame |
| layoutSizingHorizontal | string | — | Horizontal sizing mode for auto-layout frame |
| layoutSizingVertical | string | — | Vertical sizing mode for auto-layout frame |
| layoutWrap | string | — | Whether the auto-layout frame wraps its children |
| name | string | — | Optional name for the frame |
| paddingBottom | number | — | Bottom padding for auto-layout frame |
| paddingLeft | number | — | Left padding for auto-layout frame |
| paddingRight | number | — | Right padding for auto-layout frame |
| paddingTop | number | — | Top padding for auto-layout frame |
| parentId | string | — | Optional parent node ID to append the frame to |
| parentNodeName | string | — | Name of the parent node to verify against |
| primaryAxisAlignItems | string | — | Primary axis alignment for auto-layout frame. Note: When set to SPACE_BETWEEN, itemSpacing will be ignored as children will be evenly spaced. |
| strokeColor | object | — | Stroke color in RGBA format |
| strokeWeight | number | — | Stroke weight |
| width | number | yes | Width of the frame |
| x | number | yes | X position |
| y | number | yes | Y position |
No output schema declared.
No examples provided.
create_node_from_svg ~86
Creates a node from an SVG string.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | — | Name for the new node |
| parentId | string | — | Parent ID to append to |
| parentNodeName | string | — | Parent Name to verify against |
| svg | string | yes | The SVG XML string |
| x | number | — | X position |
| y | number | — | Y position |
No output schema declared.
No examples provided.
create_polygon_star ~225
Create a new polygon or star in Figma
| Name | Type | Req | Description |
|---|---|---|---|
| fillColor | object | — | Fill color in RGBA format |
| height | number | yes | Height of the shape |
| innerRadius | number | — | 0.0–1.0, star sharpness (default: 1.0 = polygon). If < 1.0, pointCount must be even. |
| name | string | — | Optional name for the shape |
| parentId | string | — | Optional parent node ID to append the shape to |
| parentNodeName | string | — | Name of the parent node to verify against |
| pointCount | number | yes | Total vertex count (≥3). For stars, this is the number of points. |
| strokeColor | object | — | Stroke color in RGBA format |
| useAbsolutePosition | boolean | — | If true and parent is an auto-layout frame, forces absolute positioning to prevent layout shifts. |
| width | number | yes | Width of the shape |
| x | number | yes | X position |
| y | number | yes | Y position |
No output schema declared.
No examples provided.
create_rectangle ~128
Create a new rectangle in Figma
| Name | Type | Req | Description |
|---|---|---|---|
| height | number | yes | Height of the rectangle |
| name | string | — | Optional name for the rectangle |
| parentId | string | — | Optional parent node ID to append the rectangle to |
| parentNodeName | string | — | Name of the parent node to verify against |
| useAbsolutePosition | boolean | — | If true and parent is an auto-layout frame, forces absolute positioning to prevent layout shifts. |
| width | number | yes | Width of the rectangle |
| x | number | yes | X position |
| y | number | yes | Y position |
No output schema declared.
No examples provided.
create_text ~144
Create a new text element in Figma
| Name | Type | Req | Description |
|---|---|---|---|
| fontColor | object | — | Font color in RGBA format |
| fontSize | number | — | Font size (default: 14) |
| fontWeight | number | — | Font weight (e.g., 400 for Regular, 700 for Bold) |
| name | string | — | Semantic layer name for the text node |
| parentId | string | — | Optional parent node ID to append the text to |
| parentNodeName | string | — | Name of the parent node to verify against |
| text | string | yes | Text content |
| x | number | yes | X position |
| y | number | yes | Y position |
No output schema declared.
No examples provided.
delete_multiple_nodes ~32
Delete one or more nodes from Figma at once
| Name | Type | Req | Description |
|---|---|---|---|
| nodes | array | yes | Array of nodes to delete |
No output schema declared.
No examples provided.
delete_variables ~122
Delete specific variables by ID or an entire variable collection. Provide either variableIds OR collectionId (not both). Performs a full-document consumer check (nodes, styles, and variable aliases) first — if any variable is still in use, the entire operation is rejected. Note: Consumer scanning is limited to the current document.
| Name | Type | Req | Description |
|---|---|---|---|
| collectionId | string | — | ID of a variable collection to delete (all its variables must be unused). Mutually exclusive with variableIds. |
| variableIds | array | — | Array of variable IDs to delete. Mutually exclusive with collectionId. |
No output schema declared.
No examples provided.
export_node_as_image ~53
Export a node as an image from Figma
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | — | Export format |
| nodeId | string | yes | The ID of the node to export |
| scale | number | — | Export scale |
No output schema declared.
No examples provided.
flatten_node ~43
Flatten node to vector
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | The ID of the node to flatten |
| nodeName | string | yes | Name of the node to verify against |
No output schema declared.
No examples provided.
get_annotations ~48
Get all annotations in the current document or specific node
| Name | Type | Req | Description |
|---|---|---|---|
| includeCategories | boolean | — | Whether to include category information |
| nodeId | string | yes | node ID to get annotations for specific node |
No output schema declared.
No examples provided.
get_components ~96
Get components from the Figma document with filtering options
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | — | Filter components by origin: 'local' (created in this file) or 'remote' (library components). If omitted, returns all. |
| scope | string | — | Scope of the search: 'current_page' (default) or 'document' (entire file, streams progress page-by-page and survives 60s inactivity timeout on large files). |
No output schema declared.
No examples provided.
get_instance_overrides ~68
Get all override properties from a selected component instance. These overrides can be applied to other instances, which will swap them to match the source component.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | — | Optional ID of the component instance to get overrides from. If not provided, currently selected instance will be used. |
No output schema declared.
No examples provided.
get_node_variables ~36
Get bound variables and explicit variable modes for a specific node
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | The ID of the node to inspect |
No output schema declared.
No examples provided.
get_nodes_info ~911
Get detailed information about one or more nodes. Supports recursive subtree traversal, property filtering, and streaming progress. - If no nodeIds are provided, the tool defaults to the current 'editable scope' (the node(s) selected when the plugin was opened). - Properties: When 'fields' is empty, only 'id', 'name', and 'type' are returned for each node. To get more data, specify fields from Figma's REST API (e.g., 'fills', 'strokes', 'characters', 'layoutMode'). - Safe-list: Common properties like 'id', 'name', 'type', 'visible', 'locked', 'children', and 'descendantCount' are always available and do not incur additional performance cost. - Filtering: Use the 'filter' object to prune the tree (e.g., {"type": ["TEXT", "COMPONENT"]}). A node is included if it matches the filter OR has matching descendants. - Depth: 'maxDepth' controls how deep the recursive walk goes. Use 0 for just the target nodes, or higher for subtrees. Boundary nodes at maxDepth will include a 'descendantCount'. - Performance: This tool streams progress updates and is safe for deep traversals. RESPONSE SHAPE: - Returns { nodes: [...], missingNodeIds?: [...] }. Each node has recursive 'children' arrays. When 'fields' is non-empty, every node (top-level and descendants) carries a 'properties' sub-object with only applicable keys — inapplicable keys are omitted (never null). Top-level entries always include 'descendantCount' (total recursive descendants). Boundary nodes at 'maxDepth' also include 'descendantCount' so you can distinguish truncated nodes from genuine leaves. PATH: - Each top-level node includes a 'path' array of 3-tuples [type, id, name] representing the ancestor chain from the containing page down to the immediate parent. Pages have path === []. Direct children of a page have one element. FILTER BEHAVIOR: - Filters are applied recursively across the entire subtree. Non-matching ancestors of matching nodes are retained as structural containers. Filter evaluation only runs with…
| Name | Type | Req | Description |
|---|---|---|---|
| fields | array | — | Array of field names to return. Supported fields include 'fills', 'strokes', 'cornerRadius', 'opacity', 'blendMode', 'effects', 'characters', 'style', 'layoutMode', 'itemSpacing', 'paddingLeft', 'pad… |
| filter | object | — | Optional filter criteria. Format: { fieldName: [value1, value2] }. Example: { type: ['TEXT', 'COMPONENT'], layoutMode: ['HORIZONTAL'] }. Matches are case-sensitive and multiple values for a field are… |
| maxDepth | integer | — | Maximum depth for recursive child traversal. 0 = self only, 1 = self and immediate children, etc. If omitted, performs a full depth traversal (use with caution on large subtrees). |
| nodeIds | array | — | Array of node IDs to get information about. If empty, uses editable scope. |
No output schema declared.
No examples provided.
get_pages_info ~86
Get information about pages in the Figma document. No argument or empty array returns all pages without children. 1 or more pageIds returns the requested pageIds with top-level children for each requested page. Prefer batches of ≤25 pageIds per call; for larger requests, split across multiple calls for better responsiveness.
| Name | Type | Req | Description |
|---|---|---|---|
| pageIds | array | — | Array of page IDs to inspect |
No output schema declared.
No examples provided.
get_reactions ~74
Get Figma Prototyping Reactions from multiple nodes. CRITICAL: The output MUST be processed using the 'reaction_to_connector_strategy' prompt IMMEDIATELY to generate parameters for connector lines via the 'create_connections' tool.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeIds | array | yes | Array of node IDs to get reactions from |
No output schema declared.
No examples provided.
get_styles ~18
Get all styles from the current Figma document
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_variables ~120
Get all local variables/collections or detailed info for specific variable(s) by ID(s). When variableId is provided, optionally scan for consumer nodes, styles, and variable aliases via includeConsumers (Note: Consumer scanning is limited to the current document).
| Name | Type | Req | Description |
|---|---|---|---|
| includeConsumers | string | — | Only used when variableId is provided; ignored otherwise. 'current_page' scans the active page (fast). 'document' scans all pages (streams progress page-by-page, slow on large files). |
| variableId | array | — | Optional array of variable IDs to retrieve |
No output schema declared.
No examples provided.
group_nodes ~39
Group multiple nodes into a group
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | — | Name for the new group |
| nodes | array | yes | Array of nodes to group |
No output schema declared.
No examples provided.
insert_child ~97
Reparent a node to a new parent
| Name | Type | Req | Description |
|---|---|---|---|
| childId | string | yes | ID of the child node to reparent |
| childNodeName | string | yes | Name of the child node to verify against |
| index | number | — | Position in parent's children array (default: append) |
| parentId | string | yes | ID of the new parent node |
| parentNodeName | string | yes | Name of the parent node to verify against |
No output schema declared.
No examples provided.
join_channel ~32
Join a specific channel to communicate with Figma
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | — | The name of the channel to join |
No output schema declared.
No examples provided.
manage_component_property ~234
Perform CRUD operations on property definitions for main components or variant sets.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform |
| defaultValue | — | — | Required for ADD: Default value for the property. For INSTANCE_SWAP, this must be a component node ID (for local components, the node id; for library components, first import via importComponentByKey… |
| newDefaultValue | — | — | For the EDIT action, to change the default value. For INSTANCE_SWAP, this must be a component node ID. |
| newPropertyName | string | — | For the EDIT action, to rename the property |
| nodeId | string | yes | ID of the COMPONENT or COMPONENT_SET |
| nodeName | string | yes | Name of the node for verification |
| preferredValues | array | — | Array of preferred values for INSTANCE_SWAP properties during ADD or EDIT. Each entry must be { type, key } where key is the library key (component.key). |
| propertyName | string | yes | The human-readable name of the property to affect |
| propertyType | string | — | Required for ADD: The type of property |
No output schema declared.
No examples provided.
manage_style ~211
Creates named styles (Text, Paint, Effect, Grid) or updates an existing style if styleId is provided.
| Name | Type | Req | Description |
|---|---|---|---|
| bindVariables | object | — | Map of field names to variable IDs (to bind) or null (to unbind). For PAINT styles, valid fields include 'color'. For TEXT styles, fields include 'fontSize', 'fontFamily', etc. |
| description | string | — | Description of the style |
| name | string | yes | Name of the style |
| propertiesJson | string | — | JSON string containing style properties: {fontName?: {family, style}, fontSize?: number, paints?: [{type, color?, opacity?, visible?}], effects?: [{type, visible?, color?, offset?, radius?, spread?}]… |
| styleId | string | — | ID of the style to update (if not creating a new one) |
| type | string | yes | Type of style to create or update |
No output schema declared.
No examples provided.
manage_variables ~169
Comprehensive tool to create collections, variables, and set values/aliases.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action type |
| collectionId | string | — | Collection ID (for CREATE_VARIABLE) |
| currentVariableName | string | — | Current name of the variable to verify against (for UPDATE_VARIABLE) |
| description | string | — | Description (for UPDATE_VARIABLE) |
| modeId | string | — | Mode ID (for UPDATE_VARIABLE value setting) |
| modeName | string | — | Mode name (for CREATE_COLLECTION) |
| name | string | — | Name (for CREATE or UPDATE actions) |
| type | string | — | Variable type (for CREATE_VARIABLE) |
| value | — | — | Value for the variable (or alias) (for CREATE or UPDATE) |
| variableId | string | — | Variable ID (for UPDATE_VARIABLE or alias) |
No output schema declared.
No examples provided.
move_node ~68
Move a node to a new position in Figma
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | The ID of the node to move |
| nodeName | string | yes | Name of the node to modify |
| x | number | yes | New X position |
| y | number | yes | New Y position |
No output schema declared.
No examples provided.
resize_node ~62
Resize a node in Figma
| Name | Type | Req | Description |
|---|---|---|---|
| height | number | yes | New height |
| nodeId | string | yes | The ID of the node to resize |
| nodeName | string | yes | Name of the node to modify |
| width | number | yes | New width |
No output schema declared.
No examples provided.
set_auto_layout ~317
Set auto-layout properties for a frame in Figma. This unified tool replaces individual layout tools.
| Name | Type | Req | Description |
|---|---|---|---|
| counterAxisAlignItems | string | — | Counter axis alignment (MIN/MAX = top/bottom in horizontal, left/right in vertical) |
| counterAxisSpacing | number | — | Distance between wrapped rows/columns. Only works when layoutWrap is set to WRAP. |
| itemSpacing | number | — | Distance between children. Note: This value will be ignored if primaryAxisAlignItems is set to SPACE_BETWEEN. |
| layoutMode | string | — | Layout mode for the frame |
| layoutSizingHorizontal | string | — | Horizontal sizing mode (HUG for frames/text only, FILL for auto-layout children only) |
| layoutSizingVertical | string | — | Vertical sizing mode (HUG for frames/text only, FILL for auto-layout children only) |
| layoutWrap | string | — | Whether the auto-layout frame wraps its children |
| nodeId | string | yes | The ID of the frame to modify |
| nodeName | string | yes | Name of the node to modify |
| paddingBottom | number | — | Bottom padding value |
| paddingLeft | number | — | Left padding value |
| paddingRight | number | — | Right padding value |
| paddingTop | number | — | Top padding value |
| primaryAxisAlignItems | string | — | Primary axis alignment (MIN/MAX = left/right in horizontal, top/bottom in vertical). Note: When set to SPACE_BETWEEN, itemSpacing will be ignored as children will be evenly spaced. |
No output schema declared.
No examples provided.
set_bound_variable ~135
Bind a variable to a node's property or set explicit variable mode
| Name | Type | Req | Description |
|---|---|---|---|
| collectionId | string | — | If setting mode: The collection ID |
| field | string | — | The property field to bind (e.g. 'fills', 'width', 'fontName') |
| modeId | string | — | If setting mode: The mode ID to set for the collection |
| nodeId | string | yes | The ID of the node to modify |
| nodeName | string | yes | Name of the node to modify |
| variableId | string | — | The ID of the variable to bind. Pass null/undefined to unbind. |
No output schema declared.
No examples provided.
set_component_instance_property ~108
Set a specific property value (boolean toggle, text override, instance swap, or variant selection) on an instance.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | The ID of the instance node |
| nodeName | string | yes | Name of the instance node for verification |
| propertyName | string | yes | The human-readable name of the component property to change |
| value | — | yes | The new value for the property. For INSTANCE_SWAP properties, this must be a component key (the stable library identifier). |
No output schema declared.
No examples provided.
set_corner_radius ~92
Set the corner radius of a node in Figma
| Name | Type | Req | Description |
|---|---|---|---|
| corners | array | — | Optional array of 4 booleans to specify which corners to round [topLeft, topRight, bottomRight, bottomLeft] |
| nodeId | string | yes | The ID of the node to modify |
| nodeName | string | yes | Name of the node to modify |
| radius | number | yes | Corner radius value |
No output schema declared.
No examples provided.
set_effects ~58
Applies shadow/effect arrays to nodes.
| Name | Type | Req | Description |
|---|---|---|---|
| effects | array | yes | Array of effect objects |
| nodeId | string | yes | The ID of the node to modify |
| nodeName | string | yes | Name of the node to verify against |
No output schema declared.
No examples provided.
set_fill_color ~108
Set the fill color of a node in Figma can be TextNode or FrameNode
| Name | Type | Req | Description |
|---|---|---|---|
| a | number | — | Alpha component (0-1) |
| b | number | yes | Blue component (0-1) |
| g | number | yes | Green component (0-1) |
| nodeId | string | yes | The ID of the node to modify |
| nodeName | string | yes | Name of the node to modify |
| r | number | yes | Red component (0-1) |
No output schema declared.
No examples provided.
set_instance_overrides ~70
Apply previously copied overrides to selected component instances. Target instances will be swapped to the source component and all copied override properties will be applied.
| Name | Type | Req | Description |
|---|---|---|---|
| sourceInstanceId | string | yes | ID of the source component instance |
| targetNodes | array | yes | Array of target instances with their expected names for verification. |
No output schema declared.
No examples provided.
set_multiple_annotations ~50
Set one or more annotations parallelly in a node
| Name | Type | Req | Description |
|---|---|---|---|
| annotations | array | yes | Array of annotations to apply |
| nodeId | string | yes | The ID of the node containing the elements to annotate |
No output schema declared.
No examples provided.
set_multiple_text_contents ~57
Set one or more text contents parallelly in a node
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | The ID of the node containing the text nodes to replace |
| text | array | yes | Array of text node IDs and their replacement texts |
No output schema declared.
No examples provided.
set_node_name ~60
Set the name of a node in Figma
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | New name for the node |
| nodeId | string | yes | The ID of the node to rename |
| nodeName | string | yes | Name of the node to modify |
No output schema declared.
No examples provided.
set_selections ~37
Set selection to one or more nodes in Figma and focus them
| Name | Type | Req | Description |
|---|---|---|---|
| nodeIds | array | yes | Array of node IDs to select |
No output schema declared.
No examples provided.
set_stroke ~191
Set the stroke color and weight of a node in Figma. Supports both uniform weight and individual side weights (top, bottom, left, right).
| Name | Type | Req | Description |
|---|---|---|---|
| a | number | — | Alpha component (0-1) |
| b | number | yes | Blue component (0-1) |
| g | number | yes | Green component (0-1) |
| nodeId | string | yes | The ID of the node to modify |
| nodeName | string | yes | Name of the node to modify |
| r | number | yes | Red component (0-1) |
| strokeBottomWeight | number | — | Bottom side stroke weight |
| strokeLeftWeight | number | — | Left side stroke weight |
| strokeRightWeight | number | — | Right side stroke weight |
| strokeTopWeight | number | — | Top side stroke weight |
| weight | number | — | Uniform stroke weight (used when individual side weights are not provided) |
No output schema declared.
No examples provided.
set_text_style ~178
Set any combination of text styles on a node
| Name | Type | Req | Description |
|---|---|---|---|
| fontFamily | string | — | Font family (e.g., "Inter", "Roboto") |
| fontSize | number | — | Font size in pixels |
| fontStyle | string | — | Font style including weight (e.g., "Regular", "Bold", "Light Italic") |
| letterSpacing | object | — | Letter spacing |
| lineHeight | — | — | Line height |
| nodeId | string | yes | Target text node ID |
| nodeName | string | yes | Name of the node (for verification) |
| paragraphSpacing | number | — | Space between paragraphs in pixels |
| textAlignHorizontal | string | — | Horizontal text alignment |
| textAlignVertical | string | — | Vertical text alignment |
| textCase | string | — | Text casing |
| textDecoration | string | — | Text decoration |
No output schema declared.
No examples provided.
ungroup_nodes ~46
Ungroup a group node
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | The ID of the group to ungroup |
| nodeName | string | yes | Name of the group to verify against |
No output schema declared.
No examples provided.
update_reactions ~94
Update Figma Prototyping Reactions on a node by replacing its reactions array. Provide the full array of reactions. Use get_reactions first, modify the desired actions (e.g., to fix references to deleted variables), and pass the updated array here.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | The ID of the node to update reactions for |
| reactions | array | yes | The full array of Reaction objects to set |
No output schema declared.
No examples provided.