Skip to content
Agentmart
Submit a tool

Figma Edit MCP

Programmatically read, create, and modify Figma designs.

Connector by neozhehan · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 14
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/neozhehan-figma-edit-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Programmatically read, create, and modify Figma designs via MCP.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.

Tools
9 read · 26 write · 6 delete · 4 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Tools by what they do 45

Read from the source code; the running server may list different tools.

Read 9 · Look things up without changing anything.

  • annotation_list
  • component_list
  • instance_get_overrides
  • node_export_visual
  • node_info
  • page_info
  • reaction_list
  • style_list
  • variable_list

Write 26 · Create, change, send or run things.

  • annotation_set
  • component_manage_property
  • create_component
  • create_component_set
  • create_frame
  • create_instance
  • create_shape
  • create_svg
  • create_text
  • instance_set_overrides
  • instance_set_property
  • node_apply_style
Show 14 more tools
  • node_clone
  • node_insert_child
  • node_rename
  • node_set_auto_layout
  • node_set_corner_radius
  • node_set_effects
  • node_set_fill
  • node_set_stroke
  • node_transform
  • reaction_update
  • style_manage
  • text_set_content
  • text_set_style
  • variable_manage

Delete 6 · Delete, drop, revoke or wipe things.

  • component_delete_property
  • node_delete
  • node_flatten
  • node_ungroup
  • style_delete
  • variable_delete

Not yet classified 4 · We could not tell from the name and description.

  • channel_join
  • node_bind_variable
  • node_group
  • view_navigate

Network hosts it talks to 4

  • github.com · found in code
  • glama.ai · found in code
  • neozhehan.github.io · found in code
  • upload.wikimedia.org · found in code

Tools (45)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • annotation_listList Annotationsread-only

    Read the native annotations on a page or node (and subtree); exactly one of pageId or nodeId is required. The file's annotation categories are returned by default; pass includeCategories: false to omit them. Page loading is bounded; a page-scoped failure returns its structured error directly and successful reads include `coverage`.

  • annotation_setSet Annotations

    Append native annotations to one or more nodes in a batched call. If the status is 'partial_success', treat it as an incomplete operation and report the failed and skipped items to the user. Appending is NOT idempotent and a 'failed' row may already have appended its annotation (verified counts differ, or outcomeUnknown is true when post-state is unreadable; both carry partialMutation: true) — before retrying any non-success item, call annotation_list and compare the labels already on the node, or you will create a duplicate.

  • channel_joinJoin Channel

    Join a plugin channel to establish the live connection to the Figma document.

  • component_delete_propertyDelete Component Propertycan change or delete data

    Remove a component-property definition from a main component or variant set; propagates to every instance.

  • component_listList Componentsread-only

    List components in the document, with filtering and scope options. Document scans isolate page failures and report them in `coverage`; page-scoped failures return their structured error directly.

  • component_manage_propertyManage Component Property

    Add or edit a component-property definition (BOOLEAN/TEXT/INSTANCE_SWAP) on a main component or variant set. Deleting is `component_delete_property`.

  • create_componentCreate Component

    Convert an existing frame into a main component.

  • create_component_setCreate Component Set

    Combine components into a component set (variants) with property definitions.

  • create_frameCreate Frame

    Create a frame (container) with optional fill/stroke and full auto-layout configuration.

  • create_instanceCreate Instance

    Instantiate a component (by `componentKey` or `componentId`) at a position.

  • create_shapeCreate Shape

    Create a rectangle, ellipse, polygon, or star via `type`, with position/size and optional `fillColor`/`strokeColor`. Shape-specific params (`arcData`; `pointCount`/`innerRadius`) validated by `type`. `pointCount` = sides (polygon) or points (star), native count — no even-parity rule.

  • create_svgCreate Node from SVG

    Create a node from an SVG markup string.

  • create_textCreate Text

    Create a text node with content and optional font size/weight/color.

  • instance_get_overridesGet Instance Overridesread-only

    Read the override properties from a source instance, to later apply them to other instances.

  • instance_set_overridesSet Instance Overrides

    Apply previously-read overrides to target instances; targets are swapped to the source component and all overrides applied. If the status is 'partial_success', treat it as an incomplete operation, report the failed and skipped items to the user, and retry every non-success item (both failed and skipped).

Show 30 more tools
  • instance_set_propertySet Instance Property

    Set one property on an instance — boolean toggle, text override, instance swap, or variant selection.

  • node_apply_styleApply Style

    Link a node to a shared library style (paint/text/effect/grid) by `styleId`. Use the raw `node_set_*` setters for ad-hoc values not backed by a style.

  • node_bind_variableBind Variable

    Bind a variable to a node property, or set an explicit variable mode. Use instead of a literal `node_set_*` when the value should track a design token. Ordering rules: set auto-layout before binding padding/spacing; set a solid fill before binding a colour token.

  • node_cloneClone Node

    Duplicate an existing node, optionally at a new `x`/`y`. Produces a new node id.

  • node_deleteDelete Nodescan change or delete data

    Delete one or more nodes in a single batched, per-item-validated call. No API undo. If the status is 'partial_success', treat it as an incomplete operation, report the failed and skipped items to the user, and retry every non-success item (both failed and skipped).

  • node_export_visualExport Node Imageread-only

    Render a node to an image (PNG/JPG/SVG/PDF) at a given scale. Read-only; the canonical way to visually verify edits. SVG returns raw XML in `svg` (directly readable); PNG/JPG/PDF return base64 in `imageData` (PDF is a delivery artifact — prefer PNG/SVG for inspection).

  • node_flattenFlatten Nodecan change or delete data

    Flatten a node and its children into a single vector. Lossy — original structure is not recoverable.

  • node_groupGroup Nodes

    Wrap multiple nodes in a new group node.

  • node_infoGet Node Inforead-only

    Read one or more nodes — recursive subtree traversal with `properties` selection, `filter`, and `maxDepth`. Returns only the requested properties (incl. resolved `boundVariables`/`explicitVariableModes`) under each node's `properties` key. A node whose containing page could not be read is listed in `pageFailedNodes` with that page's ID, and the page's structured reason is in `coverage.pageErrors` — other pages still return normally. The workhorse read; start here before any write.

  • node_insert_childReparent Node

    Reparent a node under a new parent at an optional `index`. Valid range is 0 to parent's child count. Omit `index` to append.

  • node_renameRename Node

    Rename a node (sets `name` to an exact value).

  • node_set_auto_layoutSet Auto Layout

    Configure a frame's auto-layout (mode, padding, spacing, alignment, sizing) in one unified setter.

  • node_set_corner_radiusSet Corner Radius

    Set a node's corner radius — uniform or per-corner.

  • node_set_effectsSet Effects

    Set a node's effect array (shadows, blurs). Use `node_apply_style` to link a shared effect style instead.

  • node_set_fillSet Fill

    Set a node's fill to a literal RGBA color, an image, or clear it. Use `node_apply_style` to link a shared paint style, or `node_bind_variable` to bind a color token.

  • node_set_strokeSet Stroke

    Set a node's stroke color and weight; supports uniform or per-side weights.

  • node_transformTransform Node

    Move and/or resize a node by setting absolute `x`/`y`/`width`/`height` (any subset).

  • node_ungroupUngroup Nodecan change or delete data

    Dissolve a group, promoting its children to the parent. Removes the group container.

  • page_infoGet Pagesread-only

    List the document's pages; no args → all pages (no children), or pass `pageIds` → those pages with their top-level children. Batch ≤25 ids/call. Inspect `coverage`: a failed page is omitted with a structured `pageErrors` row while other pages still return.

  • reaction_listList Reactionsread-only

    Read prototype reactions from one or more nodes and their descendants.

  • reaction_updateUpdate Reactions

    Replace a node's prototype reactions with a full new reactions array (read first via `reaction_list`).

  • style_deleteDelete Stylecan change or delete data

    Delete a local style by id. Detaches consumers — they keep their resolved values and lose only the style link.

  • style_listList Stylesread-only

    List all local styles (paint/text/effect/grid) in the document.

  • style_manageManage Style

    Create a named style (paint/text/effect/grid), or update an existing one when `styleId` is given. UPDATE requires currentStyleName.

  • text_set_contentSet Text Contents

    Set the text of one or more text nodes in a single batched, per-item-validated call. If the status is 'partial_success', treat it as an incomplete operation, report the failed and skipped items to the user, and retry every non-success item (both failed and skipped).

  • text_set_styleSet Text Style

    Set any combination of typography properties (font, size, weight, spacing, decoration, …) on a text node.

  • variable_deleteDelete Variablescan change or delete data

    Delete specific variables or an entire collection. Runs a full-document consumer check first, before any removal: if a target is still in use the call is refused with VARIABLE_IN_USE, whose `details.variablesInUse` lists every consumer; if any page cannot be loaded and read it is refused with DOCUMENT_SCAN_INCOMPLETE, because a page error can never mean zero consumers.

  • variable_listList Variablesread-only

    List local variables/collections, or detailed info for specific variable ids; optionally scan for consumers. Document consumer scans isolate page failures and report them in `coverage`; page-scoped failures return their structured error directly.

  • variable_manageManage Variables

    Create collections and variables and set their values/aliases (create/update router). UPDATE_VARIABLE requires `currentVariableName`. CREATE_VARIABLE requires `collectionName` and `scopes`.

  • view_navigateNavigate View

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

Signals

Stars
14
Forks
2
Open issues
0
Last commit
Aug 4, 2026 (2 months ago)
Last release
Aug 4, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.neozhehan/figma-edit-mcp
Version
2.3.3
Auth
No auth
Packages
npm figma-edit-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Figma Edit MCP. Agent Mart. https://agentmart.dev/connectors/neozhehan-figma-edit-mcp (last updated 2026-10-24)