neozhehan avatar

Figma Edit Mcp

neozhehan/figma-edit-mcp

Bridges AI assistants to Figma's design environment through a WebSocket plugin architecture. Exposes document reading (pages, nodes, selection), node creation (frames, text, rectangles, SVG imports), and comprehensive editing operations including auto-layout configuration, styling, effects, and bulk modifications. The implementation enforces stricter validation than Figma's native UI, preventing actions like deleting in-use variables. Works with Cursor, VS Code Copilot, Claude Desktop, and other MCP hosts. You run a bridge process locally, import the plugin into Figma Desktop, then use natural language to execute batch design updates. Designed for programmatic design system maintenance and eliminating repetitive manual edits across large files.

GitHub stars
14
tools
45
transport
STDIO
last updated
Aug 4, 2026

Tools

45 tools

Public tool metadata for what this MCP can expose to an agent.

page_infoList the document's pages; with `pageIds`, return those pages and their top-level children

List the document's pages; with `pageIds`, return those pages and their top-level children

No parameter schema in public metadata yet.

node_infoRead one or more nodes — recursive traversal with `properties`, `filter`, and `maxDepth` (the workhorse read; also returns bound variables / explicit modes)

Read one or more nodes — recursive traversal with `properties`, `filter`, and `maxDepth` (the workhorse read; also returns bound variables / explicit modes)

No parameter schema in public metadata yet.

node_transformMove and/or resize a node by setting absolute `x` / `y` / `width` / `height`

Move and/or resize a node by setting absolute `x` / `y` / `width` / `height`

No parameter schema in public metadata yet.

node_renameRename a node

Rename a node

No parameter schema in public metadata yet.

node_deleteDelete one or more nodes in a single validated batch

Delete one or more nodes in a single validated batch

No parameter schema in public metadata yet.

node_cloneDuplicate a node, optionally at a new position

Duplicate a node, optionally at a new position

No parameter schema in public metadata yet.

view_navigateNavigate the editor view to a page or node(s)

Navigate the editor view to a page or node(s)

No parameter schema in public metadata yet.

node_groupWrap nodes in a new group

Wrap nodes in a new group

No parameter schema in public metadata yet.

node_ungroupDissolve a group, promoting its children

Dissolve a group, promoting its children

No parameter schema in public metadata yet.

node_flattenFlatten a node and its children into a single vector

Flatten a node and its children into a single vector

No parameter schema in public metadata yet.

node_insert_childReparent a node under a new parent at an optional index

Reparent a node under a new parent at an optional index

No parameter schema in public metadata yet.

node_set_auto_layoutConfigure a frame's auto-layout (mode, padding, spacing, alignment, sizing)

Configure a frame's auto-layout (mode, padding, spacing, alignment, sizing)

No parameter schema in public metadata yet.

node_set_fillSet a node's fill to a color or image, or clear it

Set a node's fill to a color or image, or clear it

No parameter schema in public metadata yet.

node_set_strokeSet stroke color and weight (uniform or per-side)

Set stroke color and weight (uniform or per-side)

No parameter schema in public metadata yet.

node_set_corner_radiusSet corner radius (uniform or per-corner)

Set corner radius (uniform or per-corner)

No parameter schema in public metadata yet.

node_set_effectsSet the effect array (shadows, blurs)

Set the effect array (shadows, blurs)

No parameter schema in public metadata yet.

node_apply_styleLink a node to a shared library style (paint/text/effect/grid)

Link a node to a shared library style (paint/text/effect/grid)

No parameter schema in public metadata yet.

node_bind_variableBind a variable to a node property, or set an explicit variable mode

Bind a variable to a node property, or set an explicit variable mode

No parameter schema in public metadata yet.

node_export_visualRender a node to an image (PNG / JPG / SVG / PDF)

Render a node to an image (PNG / JPG / SVG / PDF)

No parameter schema in public metadata yet.

create_shapeCreate a rectangle, ellipse, polygon, or star (`type`) with optional fill/stroke

Create a rectangle, ellipse, polygon, or star (`type`) with optional fill/stroke

No parameter schema in public metadata yet.

create_frameCreate a frame with optional fill/stroke and full auto-layout

Create a frame with optional fill/stroke and full auto-layout

No parameter schema in public metadata yet.

create_textCreate a text node with optional font size/weight/color

Create a text node with optional font size/weight/color

No parameter schema in public metadata yet.

create_svgCreate a node from an SVG markup string

Create a node from an SVG markup string

No parameter schema in public metadata yet.

create_componentConvert an existing frame into a main component

Convert an existing frame into a main component

No parameter schema in public metadata yet.

create_instanceInstantiate a component at a position

Instantiate a component at a position

No parameter schema in public metadata yet.

create_component_setCombine components into a component set (variants)

Combine components into a component set (variants)

No parameter schema in public metadata yet.

style_listList all local styles (paint/text/effect/grid)

List all local styles (paint/text/effect/grid)

No parameter schema in public metadata yet.

style_manageCreate a named style, or update one when `styleId` is given

Create a named style, or update one when `styleId` is given

No parameter schema in public metadata yet.

style_deleteDelete a local style by id (detaches consumers, which keep their resolved values)

Delete a local style by id (detaches consumers, which keep their resolved values)

No parameter schema in public metadata yet.

text_set_contentBatch-set the text of one or more text nodes

Batch-set the text of one or more text nodes

No parameter schema in public metadata yet.

text_set_styleSet any combination of typography properties on a text node

Set any combination of typography properties on a text node

No parameter schema in public metadata yet.

component_listList components, with filtering and scope options

List components, with filtering and scope options

No parameter schema in public metadata yet.

component_manage_propertyAdd or edit a component-property definition (BOOLEAN/TEXT/INSTANCE_SWAP)

Add or edit a component-property definition (BOOLEAN/TEXT/INSTANCE_SWAP)

No parameter schema in public metadata yet.

component_delete_propertyRemove a component-property definition

Remove a component-property definition

No parameter schema in public metadata yet.

instance_set_propertySet one property on an instance (toggle, text, swap, or variant)

Set one property on an instance (toggle, text, swap, or variant)

No parameter schema in public metadata yet.

instance_get_overridesRead the override properties from a source instance

Read the override properties from a source instance

No parameter schema in public metadata yet.

instance_set_overridesApply copied overrides to target instances

Apply copied overrides to target instances

No parameter schema in public metadata yet.

variable_listList variables/collections, or detail by ID; optionally scan consumers

List variables/collections, or detail by ID; optionally scan consumers

No parameter schema in public metadata yet.

variable_manageCreate collections and variables and set values/aliases

Create collections and variables and set values/aliases

No parameter schema in public metadata yet.

variable_deleteDelete variables or a collection (rejected if still in use)

Delete variables or a collection (rejected if still in use)

No parameter schema in public metadata yet.

annotation_listRead annotations on a node; optionally include categories

Read annotations on a node; optionally include categories

No parameter schema in public metadata yet.

annotation_setBatch create or update native annotations (markdown)

Batch create or update native annotations (markdown)

No parameter schema in public metadata yet.

reaction_listRead prototype reactions (click flows, overlays) from nodes

Read prototype reactions (click flows, overlays) from nodes

No parameter schema in public metadata yet.

reaction_updateReplace a node's reactions with a full new array

Replace a node's reactions with a full new array

No parameter schema in public metadata yet.

channel_joinJoin a WebSocket channel to establish communication with the plugin

Join a WebSocket channel to establish communication with the plugin

No parameter schema in public metadata yet.

Sponsors

Readme

Figma Edit MCP

npm version npm downloads CI Featured by IDEO

figma-edit-mcp MCP server

Connect AI assistants to Figma via Model Context Protocol to read designs, create and modify elements, and manage design systems programmatically.

This plugin empowers your AI assistant to become a Figma assistant, executing design updates Safer, Cleaner, and Faster than a human ever could.

This plugin allows you as a Designer to focus purely on creative decision-making, leaving the error-prone & repetitive manual changes to the automated systems.


View the full README on GitHub

Details

Repository
github.com/neozhehan/figma-edit-mcp
Category
Design & Creative
Package
figma-edit-mcp
Transport
STDIO
Registry
MCP registry, active

Related Design & Creative MCP servers

View all
1felixanhalt avatarFigma To Code Mcpfelixanhalt/figma-to-code-mcpLLM-optimized Figma MCP server.7stars
2cmd8 avatarExcalidraw Mcpcmd8/excalidraw-mcpModel Context Protocol server for Excalidraw diagrams.4stars
3felixanhalt avatarFigma Context Mcpfelixanhalt/figma-context-mcpLLM-optimized Figma MCP server.3stars
4debu-sinha avatarExcalidrawdebu-sinha/excalidraw-mcp-serverSecurity-hardened Excalidraw MCP server with auth, rate limiting, and 14 tools3stars
5oabolade avatarFigma MCP Serveroabolade/figma_mcp_server_actorMCP server enabling AI assistants to interact with Figma designs via natural language commands1stars
6malnati avatarVaults Diagram Toolsmalnati/vaults-diagram-toolsMermaid to assets. Source code to maps. MCP for agents.0stars