github re-analysis due

neozhehan/figma-edit-mcp

github

Read, create, and modify Figma designs programmatically via MCP, empowering AI to execute Figma changes safer, cleaner, and faster.

maintainer
neozhehan
license
MIT
first seen
2026-06-08
last seen
2026-06-13
releases · 30d
6
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 46 tools
transport stdio · http counts 46 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • annotation_list

    Read annotations on a node; optionally include categories

  • annotation_set

    Batch create or update native annotations (markdown)

  • channel_join

    Join a WebSocket channel to establish communication with the plugin

  • component_delete_property

    Remove a component-property definition

  • component_list

    List components, with filtering and scope options

  • component_manage_property

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

  • create_component

    Convert an existing frame into a main component

  • create_component_set

    Combine components into a component set (variants)

  • create_connection

    Draw connector lines between nodes, or set/check the default connector

  • create_frame

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

  • create_instance

    Instantiate a component at a position

  • create_shape

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

  • create_svg

    Create a node from an SVG markup string

  • create_text

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

  • instance_get_overrides

    Read the override properties from a source instance

  • instance_set_overrides

    Apply copied overrides to target instances

  • instance_set_property

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

  • node_apply_style

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

  • node_bind_variable

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

  • node_clone

    Duplicate a node, optionally at a new position

  • node_delete

    Delete one or more nodes in a single validated batch

  • node_export_visual

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

  • node_flatten

    Flatten a node and its children into a single vector

  • node_group

    Wrap nodes in a new group

  • node_info

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

  • node_insert_child

    Reparent a node under a new parent at an optional index

  • node_rename

    Rename a node

  • node_select

    Set the canvas selection and focus the nodes in the viewport

  • node_set_auto_layout

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

  • node_set_corner_radius

    Set corner radius (uniform or per-corner)

  • node_set_effects

    Set the effect array (shadows, blurs)

  • node_set_fill

    Set a node's fill to a literal RGBA color

  • node_set_stroke

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

  • node_transform

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

  • node_ungroup

    Dissolve a group, promoting its children

  • page_info

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

  • reaction_list

    Read prototype reactions (click flows, overlays) from nodes

  • reaction_update

    Replace a node's reactions with a full new array

  • style_delete

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

  • style_list

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

  • style_manage

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

  • text_set_content

    Batch-set the text of one or more text nodes

  • text_set_style

    Set any combination of typography properties on a text node

  • variable_delete

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

  • variable_list

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

  • variable_manage

    Create collections and variables and set values/aliases

skills & danger signals github-tarball
code evidence vv2.2.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 6

  • fs neozhehan-figma-edit-mcp-dad009e/figma_plugin/build.js :8 import { existsSync } from 'fs';
  • fs neozhehan-figma-edit-mcp-dad009e/scripts/gen-manifest-tools.ts :19 import { readFileSync, writeFileSync } from "fs";
  • fs neozhehan-figma-edit-mcp-dad009e/scripts/gen-node-fields.ts :22 import { writeFileSync } from "fs";
  • fs neozhehan-figma-edit-mcp-dad009e/src/cli.ts :1 import { readFileSync } from "fs";
  • fs neozhehan-figma-edit-mcp-dad009e/src/mcp_server/resources.ts :2 import { readFileSync, existsSync } from "fs";
  • fs neozhehan-figma-edit-mcp-dad009e/src/mcp_server/server.ts :11 import { readFileSync, existsSync } from "fs";

shell / exec 3

  • shell neozhehan-figma-edit-mcp-dad009e/scripts/check-plugin-build.ts :1 import { execSync } from "child_process";
  • shell neozhehan-figma-edit-mcp-dad009e/scripts/smoke-mcp.mjs :10 import { spawn } from "node:child_process";
  • shell neozhehan-figma-edit-mcp-dad009e/scripts/smoke-socket.mjs :9 import { spawn } from "node:child_process";

network 1

  • net neozhehan-figma-edit-mcp-dad009e/src/socket.ts :1 import { createServer } from "http";

declared dependencies 9

  • @modelcontextprotocol/sdk@1.29.0
  • uuid@14.0.0
  • ws@8.20.0
  • zod@4.4.3
  • @figma/plugin-typings@1.125.0
  • @types/bun@1.3.13
  • esbuild@0.28.0
  • tsup@8.5.1
  • typescript@6.0.3