A side-by-side look at the Figma Edit MCP and Figma MCP Go MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Figma Edit MCP for architecture & design work as a local process; choose Figma MCP Go for architecture & design as a local process. You can also run both side by side in one mcpServers block.
page_info, node_info, node_transform.apply_style_to_node, batch_execute_pipeline, batch_rename_nodes.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Architecture & Design | Architecture & Design |
| Quality signal | 57/100 · Good | 60/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 14 | 15 |
| Directory activity | 3 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 45 | 60 |
| Full listing | View Figma Edit MCP | View Figma MCP Go |
page_infoList the document's pages; with `pageIds`, return those pages and their top-level childrennode_infoRead one or more nodes — recursive traversal with `properties`, `filter`, and `maxDepth` (the workhorse read; also returns bound variables / explicit modes)node_transformMove and/or resize a node by setting absolute `x` / `y` / `width` / `heightnode_renameRename a nodenode_deleteDelete one or more nodes in a single validated batchnode_cloneDuplicate a node, optionally at a new positionview_navigateNavigate the editor view to a page or node(s)node_groupWrap nodes in a new groupnode_ungroupDissolve a group, promoting its childrennode_flattenFlatten a node and its children into a single vectornode_insert_childReparent a node under a new parent at an optional indexnode_set_auto_layoutConfigure a frame's auto-layout (mode, padding, spacing, alignment, sizing)apply_style_to_nodeApply a local style to a node.batch_execute_pipelineRun write steps in order. A step can use earlier results through $variables. With stop_on_error, a failure undoes created nodes and changed properties, but not deletes, group/ungroup, detach, reparent, or steps that target nodes by name.batch_rename_nodesRename nodes: set `name`, or find/replace (regex allowed), or prefix/suffix. `name` cannot mix with the others.boolean_operationCombine 2+ shapes (same parent): UNION, SUBTRACT (cut the rest from the first), INTERSECT, or EXCLUDE. Pipeline rollback cannot undo it.clone_nodeCopy a node, optionally to a new position or parent.combine_as_variantsCombine 2+ components (same parent) into a variant set. Add VARIANT properties with manage_component_properties.create_componentTurn a FRAME into a COMPONENT, in place.create_component_instanceCreate an instance of a local (componentId) or library (componentKey) component. A component set uses its default variant.create_connectorCreate a connector line. This tool operates only in a FigJam file.create_nodeCreate a shape. Args per `type`: FRAME: width, height, fillColor, auto layout args. RECTANGLE: width, height, fillColor, cornerRadius. ELLIPSE: width, height, fillColor, startAngle, endAngle, innerRadiusRatio. STAR: pointCount, outerRadius, innerRadius, fillColor, cornerRadius. POLYGON: pointCount, radius, fillColor, cornerRadius. LINE: length, rotation, strokeColor, strokeWeight. SECTION: width, height (no parent). All: x, y, name. The tool rejects other args. For text, use create_text.create_styleCreate a local style. Args per `type`: PAINT: color. TEXT: fontSize, fontFamily, fontStyle, textDecoration, lineHeightValue/Unit, letterSpacingValue/Unit. EFFECT: effectType, color, opacity, radius, offsetX, offsetY, spread. GRID: pattern, count, gutterSize, offset, alignment, sectionSize, color, opacity. The tool returns the style ID. Apply the style with apply_style_to_node.create_textCreate a text node (loads the font). To edit text, use set_text.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"figma-edit-mcp": {
"command": "npx",
"args": [
"-y",
"--package",
"figma-edit-mcp",
"figma-edit-mcp-socket"
]
}
}
}
{
"mcpServers": {
"figma-mcp-go": {
"command": "npx",
"args": [
"-y",
"@tunglt1810/figma-mcp-go@latest"
]
}
}
}