figma-mcp
This MCP server lets an AI assistant read, generate, audit, and prototype UI designs directly on a live Figma Desktop canvas (40 tools, with optional headless Figma Cloud REST access).
Connection & diagnostics —
get_figma_status,ping_figma,get_document_info,get_selection,inspect_node,find_nodes,get_design_context,export_node_imagefor checking the plugin bridge, inspecting nodes, and capturing visual feedback.Canvas primitives —
create_frame,create_rectangle,create_text,create_ellipse,create_svg_icon,create_section, plusupdate_node,delete_nodes,duplicate_node,set_stroke,set_text_content,set_autolayout,set_effectsto build and modify layers, AutoLayout, borders, and shadows/blurs.Fast declarative generation —
generate_ui_treebuilds a whole screen hierarchy from one JSON spec, enforcing 8pt grid spacing, 44px touch targets, calibrated typography, and no emojis.Components & design systems —
create_component,create_component_instance,get_document_tokensfor reusable masters, instances, and color/typography/effect tokens.Prototyping & flows —
set_prototype_interaction,set_overlay_interaction(modals/drawers with backdrops),set_flow_starting_point,batch_link_prototype,get_prototype_connectionsto wire triggers, transitions, and user journeys.UX/HCI auditing —
lint_design_compliancescores screens against Fitts's Law touch targets, 8pt spacing consistency, typography leading, and emoji-free copy.Page & viewport control —
manage_page,focus_viewportto create/switch pages and pan/zoom to nodes.Headless cloud access (needs
FIGMA_ACCESS_TOKEN) —rest_get_file,rest_get_file_nodes,rest_get_images,rest_get_components,rest_get_variables,rest_get_comments,rest_post_commentfor file metadata, renders, comments, and Enterprise variables without the desktop app.
Note: several tools advertised in the README (generate_state_matrix, audit_ux_heuristics, validate_user_journey, generate_interactive_variants, lint_ux_microcopy, apply_typography_theme) are not present in the exposed schema.
Provides tools for interacting with Figma, enabling AI agents to create and edit designs on the canvas (frames, shapes, text, components, AutoLayout), wire interactive prototypes, manage pages, and export images, as well as access Figma Cloud via REST API for file retrieval, rendering, comments, and variables.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@figma-mcp generate a mobile login screen with AutoLayout and connect it to the home screen prototype"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Figma MCP — AI-Native UI/UX & Prototyping Engine
⚡ The Challenge & The Solution
Traditional AI design tools produce "Dribbble-grade slop"—glossy, unvalidated happy-path screenshots that fail in real product engineering. Figma MCP was built from the ground up to solve the core architectural and usability gaps in AI-generated design:
Challenge | Traditional AI & Cloud API Limitation | The Figma MCP Solution |
1. The "Read-Only" API Barrier | Figma's cloud REST API is strictly read-only for canvas graphics. It cannot create frames, render vectors, configure AutoLayout, or wire prototypes on an active canvas. | Dual-Transport Bidirectional BridgePairs STDIO JSON-RPC with a local loopback WebSocket ( |
2. Multi-Roundtrip Latency Explosion | Generating a single screen via primitive calls ( | Declarative Atomic Tree ( |
3. "AI Slop" & HCI Deficiency | LLMs produce amateur visual outputs: buttons littered with emojis, uncalibrated leading that clips text, arbitrary spacing ( | Enterprise Design Guardian & HCI EngineAutomated zero-emoji sanitizer, 8pt spatial grid snapping, intelligent proportional typography leading/tracking, and Apple HIG 44px minimum touch target enforcement. |
4. State Incompleteness & First-Run Blindness | Generative AI suffers from "state blindness"—producing exclusively static, populated mockups under ideal conditions. In real-world software, over half of the user lifecycle is spent in non-ideal states (zero-data onboarding, high-latency loading, network faults, and sparse datasets). Neglecting these lifecycle states leaves designs brittle, forces engineering teams to improvise fallback UI in production, and drives high first-run user churn. | The "5 States of UI" Engine ( |
5. Dead-End Journeys & Missing Affordances | AI outputs isolated, static screens that trap users without back affordances, lacks tactile interactive states (Hover, Pressed, Focus Rings), and uses vague CTAs ("Submit"). | Cognitive Psychology & Journey ValidatorScores screens against Hick's, Fitts's, Miller's, and Jakob's laws ( |
6. Arbitrary Design Drift & Blanket Blindness | AI tools either force rigid, unconfigurable typography defaults or dump sweeping, untracked changes across an artboard without per-phase confirmation. | Niche-Adaptive Typography & Phased Confirmation ProtocolDynamic typography engine ( |
Related MCP server: figmad-mcp
🏗️ Architecture
flowchart LR
subgraph AI["AI Client / IDE Environment"]
Agent["AI Assistant<br/>(Claude Desktop / Cursor / Antigravity)"]
end
subgraph Server["Figma MCP Core"]
MCPServer["Node.js MCP Server<br/>(40 Tools + 3 Resources)"]
Bridge["WebSocket Bridge Server<br/>(ws://localhost:3055)"]
end
subgraph Desktop["Figma Desktop Sandbox"]
Plugin["Figma Companion Plugin<br/>(Unthrottled Web Worker Keep-Alive)"]
Canvas["Native Figma Canvas Engine<br/>(AutoLayout, Typography, Prototyping)"]
end
Agent <--"STDIO (JSON-RPC)"--> MCPServer
MCPServer <--> Bridge
Bridge <--"Local Loopback (ws://)"--> Plugin
Plugin <--"Figma Plugin API (figma.*)"--> Canvas
style AI fill:#0f172a,stroke:#38bdf8,stroke-width:2px,color:#f8fafc
style Server fill:#0f172a,stroke:#818cf8,stroke-width:2px,color:#f8fafc
style Desktop fill:#0f172a,stroke:#a855f7,stroke-width:2px,color:#f8fafcMCP Server (
packages/mcp-server): Communicates over standardSTDIOwith LLM clients, exposing 40 specialized design and UX tools, while hosting a dual-stack local loopback WebSocket server on port3055.Figma Companion Plugin (
packages/figma-plugin): Sandboxed plugin running inside Figma Desktop with an unthrottled Web Worker heartbeat loop. Connects to the local bridge and directly executes nativefigma.*canvas operations, font loading, AutoLayout hierarchy, and prototype interaction noodles.
⚡ 60-Second Quickstart
Step 1: Install Companion Plugin in Figma Desktop
Download or extract
dist-release/figma-companion-plugin.zip(17 KB standalone bundle).In Figma Desktop, open any design file $\rightarrow$ right-click canvas $\rightarrow$ Plugins $\rightarrow$ Development $\rightarrow$ "Import plugin from manifest...".
Select
manifest.jsonfrom the extracted folder.Press
Ctrl + Alt + P(Windows) orCmd + Opt + P(Mac) to launch the plugin window.
Step 2: Configure Your AI Assistant
Your AI client spawns the MCP server automatically in the background using npx -y figma-mcp—no manual terminal setup required.
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"figma": {
"command": "npx",
"args": ["-y", "figma-mcp"]
}
}
}Cursor IDE
Add to .cursor/mcp.json:
{
"mcpServers": {
"figma": {
"command": "npx",
"args": ["-y", "figma-mcp"]
}
}
}Antigravity / Gemini / Custom MCP Client
Command:
npx -y figma-mcpTransport:
STDIO
Step 3: Verify the Live Bridge Connection
In Figma Desktop, look at the Figma MCP Bridge plugin window.
When your AI client starts, the status indicator will automatically switch to:
● Connected (ws://localhost:3055)Your active document name and page will synchronize with the server.
Step 4: Your First Prompts (Copy & Paste)
Open Claude Desktop or Cursor and test any of these prompts:
Generate a Full AutoLayout Screen:
"Create a mobile crypto wallet dashboard in Figma using AutoLayout, 8pt spacing, and dark mode."
Generate the 5 Essential UX States:
"Generate the 5 essential UI states for a 'Payment Methods' card using generate_state_matrix."
Conduct a Cognitive & HCI Audit:
"Audit the active canvas with audit_ux_heuristics and report any Hick's or Fitts's Law violations."
End-to-End Autonomous UX Architecture:
"Use the architect_ux_experience prompt to architect a complete 'Subscription Management' user journey with full interactive variants and flow transitions."
🛠️ Complete Toolset Reference (39 Tools)
1. UX Intelligence & Cognitive Architecture
generate_state_matrix: Generates the 5 Essential States of UI (Ideal, Empty Onboarding, Loading Skeleton Shimmer, Empathetic Error with 1-click retry, and Partial/Boundary Stress Test) organized neatly inside a labeled Section or Component Set.audit_ux_heuristics: Scores screens against empirical cognitive psychology:Hick’s Law: Calculates decision latency ($T = b \log_2(n+1)$) and flags choice overload ($> 7\pm2$ choices) or competing primary CTAs.
Fitts’s Law: Checks touch ergonomics ($< 44\text{px}$) and flags destructive buttons placed dangerously close ($< 60\text{px}$) to primary progression actions.
Miller’s Law: Flags unchunked walls of inputs/items exceeding working memory thresholds.
Jakob’s Law: Audits standard convention placement for navigation, search, and avatar controls.
validate_user_journey: Traverses prototype interaction noodles across artboards to detect orphan screens (unlinked artboards), dead-end screens (trapped users without back or exit affordance), and unprotected destructive actions (lacking confirmation dialogs).generate_interactive_variants: Creates production-ready Figma Component Sets with Default, Hover, Pressed, Focused (WCAG 2.4.7 accessible focus ring), and Disabled states, pre-wired withwhileHoverandwhilePressSmart Animate transitions.lint_ux_microcopy: Audits UX writing anti-patterns (Lorem Ipsum, ambiguous CTAs like "Submit", robotic blaming errors like "Invalid input"), providing empathetic, high-converting copy recommendations.
2. Declarative Generation & Design Guardian
generate_ui_tree: Generates full hierarchical screens with AutoLayout, typography, colors, and tagged interactive elements in a single atomic call:Presets:
iPhone 16,iPhone 16 Pro Max,Android,Desktop,Tablet.Elements:
frame,card,button,text,divider,spacer.Tag Registry: Assigns semantic tags (e.g.
tag: "signup_btn") and returns a map of{ [tag]: nodeId }for instant prototyping.
lint_design_compliance: Automated HCI & visual design auditor checking 44px touch targets, 8pt grid consistency, calibrated leading, and zero emojis.Zero-Emoji Enforcement: Automatically sanitizes emojis from all text operations, preventing cartoonish outputs and routing to vector SVG paths.
Intelligent Typography: Calibrates leading ($1.15\times - 1.5\times$ font size) and proportional tracking based on font size and weight.
8pt Spatial Grid: Automatic snapping of margins, paddings, and gap dimensions.
Touch Target Enforcer: Guarantees a minimum $44\times44\text{px}$ bounding box for interactive elements (Apple HIG & Google Material compliance).
3. Interactive Prototyping & Flow Engine
set_prototype_interaction: Wires interactive transitions between elements:Triggers:
ON_CLICK,ON_HOVER,ON_PRESS,AFTER_TIMEOUT.Navigations:
NAVIGATE,OVERLAY,SWAP,BACK,CLOSE.Transitions:
SMART_ANIMATE,DISSOLVE,SLIDE_IN,MOVE_IN,INSTANT.
set_flow_starting_point: Sets named prototype flow starting points (e.g. "Onboarding Flow").get_prototype_connections: Audits all flow starting points and prototype connection noodles on the page.batch_link_prototype: Wires multiple screen transitions across a user journey in one call.set_overlay_interaction: Configures modal dialogs, slide-over panels, and dropdown overlays with customizable backdrops, animations, and click-outside dismissal rules.
4. Canvas Primitives, Components & Polish
create_frame: Creates container frames or artboards.create_rectangle: Creates shapes, cards, or placeholders.create_ellipse: Creates circular/elliptical shapes (avatars, badges, status dots).create_svg_icon: Renders and inserts scalable SVG vector graphics with automatic color tinting.create_component: Creates master design system components.create_component_instance: Instantiates linked component instances from any master component ID.set_effects: Applies elevation shadows, inner shadows, layer blurs, and background blurs (DROP_SHADOW,INNER_SHADOW,LAYER_BLUR,BACKGROUND_BLUR).create_section: Groups and categorizes artboards and user journey paths into organized, labeled Figma Sections.apply_typography_theme: Batch-applies a complete typography system across all text nodes inside a frame or artboard in a single call. Intelligently classifies headings vs. body copy, preloads font weights (Playfair Display,Inter,Poppins,Merriweather, etc.), and recalibrates leading and optical tracking.focus_viewport: Pans and zooms the canvas viewport directly to specified nodes, with optional selection.create_text: Inserts typography with automatic font preloading (Inter,Roboto, etc.).set_autolayout: Applies Flexbox/AutoLayout (direction, gap, padding, axis alignments).update_node: Modifies position, dimensions, fills, corner radius, opacity, visibility, or typography (fontFamily,fontWeight,fontSize).delete_nodes: Deletes one or more nodes by ID.duplicate_node: Clones frames or elements with offsets (ideal for prototype state variants).set_stroke: Configures border colors, thicknesses, and alignments.set_text_content: Updates text copy while preserving typography styles.find_nodes: Searches canvas by keyword or node type.manage_page: Creates or switches active pages.get_document_tokens: Extracts local color paint styles, text typography styles, and effect styles directly from the document.export_node_image: Exports 2x Retina PNG snapshots as base64 for visual verification.
5. Canvas Diagnostics & Semantic Inspection
get_figma_status: Checks whether the Figma Desktop companion plugin is connected.ping_figma: Tests round-trip WebSocket latency and document verification.get_document_info: Retrieves document name, pages list, active page, and selection count.get_design_context: Extracts a token-efficient semantic design outline of the page (artboards, buttons, cards, inputs, and prototype starting points) without vector noise.inspect_node: Recursively inspects any node by ID with strict depth capping (max 4) to protect LLM context windows, serializing dimensions, layout, fills, text characters, and activefontName(family and weight).get_selection: Inspects details of elements currently highlighted on the canvas.
6. Figma Cloud REST Tools (Headless Access)
Optional: Requires FIGMA_ACCESS_TOKEN for cloud inspection without the desktop app:
rest_get_file: Read full file metadata, version history, components, and document tree from Figma Cloud.rest_get_file_nodes: Fetch specific node hierarchies by ID from the cloud.rest_get_images: Render high-resolution PNG, SVG, JPG, or PDF exports of frames via Figma's cloud render engine.rest_get_comments: Read collaboration comment threads, reviews, and pin coordinates.rest_post_comment: Post review feedback directly to a Figma screen pin via REST API.rest_get_variables: Read Figma Enterprise / Organization Variables (color themes, spacing scales, modes).rest_get_components: List published component library definitions and documentation links.
🎨 Niche-Adaptive Typography & Granular Plan Protocol
Figma MCP eliminates arbitrary design decisions and blanket approvals by pairing niche-adaptive typographic systems with strict phased confirmation protocols:
1. Niche-Adaptive Typography Engine
Instead of enforcing rigid, generic fonts across all projects, Figma MCP allows the user or AI to select typography tailored to the exact industry and brand personality:
Design Niche | Personality & Tone | Typical Headings | Typical Body & Controls |
Educational Advisory & Legal | Academic prestige, intellectual weight, institutional trust | Playfair Display, Merriweather, Lora | Inter, Source Sans 3 |
Enterprise SaaS & Fintech | Modern, geometric precision, high data density | Plus Jakarta Sans, Inter, SF Pro | Inter, Roboto |
Luxury, Editorial & Fashion | High elegance, high contrast, bespoke aesthetic | Cormorant Garamond, Bodoni Moda | DM Sans, Outfit |
Developer Tools & AI Platforms | Technical credibility, crisp monospaced hierarchy | Space Grotesk, JetBrains Mono | Inter, Fira Code |
With apply_typography_theme, the AI can batch-apply a complete font system across an entire artboard hierarchy in a single $< 200\text{ms}$ call with intelligent heading detection (fontSize >= 20 or title keywords) and automatic weight preloading.
2. Granular Step-by-Step Plan Approval Protocol
Blanket "all-or-nothing" approvals ("Do you approve this 6-phase redesign? Yes/No") create critical blind spots where users cannot approve some phases while adjusting others.
Figma MCP establishes a structured interaction protocol:
Concrete Phase Breakdown: Before modifying the canvas, the AI breaks down the plan into explicit phases with targeted node IDs, exact layout adjustments, and typographic changes.
Per-Phase Confirmation: The user confirms, tweaks, or skips each phase individually using interactive multi-part prompts, ensuring full human-in-the-loop control over the Figma canvas.
3. Unthrottled Web Worker Keep-Alive Bridge
To prevent Chromium/Electron background tab throttling when Figma Desktop or the OS window loses focus, the companion plugin runs an isolated Web Worker heartbeat loop. This guarantees that WebSocket connections to ws://localhost:3055 remain permanently alive with zero disconnections.
📦 MCP Resources & Prompts
Resources (URI-Addressable Design State)
figma://document/summary: Document outline, active pages, and selected canvas elements.figma://tokens/active: Complete design token registry (colors, typography styles, effect styles).figma://prototype/flows: Interactive connection graph and flow starting points on the page.
High-Level Prompts (Guided Autonomous Workflows)
architect_ux_experience: Guides the AI to conduct a comprehensive UX architectural review, generate the 5 UI states, audit cognitive heuristics, and validate user journey flow continuity.design_product_flow: Guided workflow taking a product concept, generating screens with AutoLayout, registering tags, and wiring interactive animations.wire_interactive_prototype: Guides the agent through discovering interactive targets and establishing seamless user journeys.audit_ux_design: Executes an accessibility, touch target ($\ge 44\text{px}$), spacing consistency, and visual hierarchy audit.
💻 Local Monorepo Development
# 1. Install dependencies
npm install
# 2. Build monorepo workspaces
npm run build
# 3. Clean port 3055 if locked by an orphaned background process
npm run clean:port
# 4. Package standalone plugin & zip
npm run package
# 5. Run server in development watch mode
npm run dev:server🌐 Deployment & Transport Modes
1. Local Mode (Default STDIO)
Used by Claude Desktop, Cursor, and Antigravity:
node packages/mcp-server/dist/index.js2. Remote Mode (Streamable HTTP / SSE)
Run as a cloud service or team gateway on port 3000:
node packages/mcp-server/dist/index.js --transport=sse
# or with environment variables:
MCP_TRANSPORT=sse PORT=3000 node packages/mcp-server/dist/index.jsEndpoints provided:
GET /health: Health check, uptime, bridge status, and REST config.GET /sse: SSE connection stream.POST /messages?sessionId=...: JSON-RPC message ingress.
3. Docker Container Deployment
Run with Docker Compose:
docker compose up -d --build
curl http://localhost:3000/health📄 License
MIT © Chimbueze David
Available Tools
47 toolsapply_typography_themeB
Batch apply heading and body typography system across all text nodes inside a frame or artboard
Inputs: rootNodeId (required), bodyFont, headingFont.
audit_ux_heuristicsB
Audit visual design and interaction architecture against empirical cognitive psychology and Laws of UX (Hick's Law choice overload, Fitts's Law touch target reach & destructive action proximity, Miller's Law chunking, and Jakob's Law conventions)
Inputs: nodeId.
batch_link_prototypeB
Link multiple prototype transitions in a single call (e.g. wiring up an entire user journey)
Inputs: links (required).
create_componentA
Create a reusable Figma component master on the canvas, or convert an existing frame/node into a component
Inputs: name (required), x, y, fill, +5 more.
create_component_instanceA
Instantiate a reusable component instance from a master component ID, retaining link to the main component
Inputs: componentId (required), x, y, name, +1 more.
create_ellipseA
Create an ellipse or circular shape node on the canvas (ideal for user avatars, status badges, circular buttons, and indicator dots)
Inputs: x, y, fill, name, +4 more.
create_frameA
Create a new frame (container or artboard) on the Figma canvas
Inputs: x, y, fill, name, +4 more.
create_rectangleB
Create a rectangle or box element (useful for cards, buttons, visual dividers)
Inputs: x, y, fill, name, +4 more.
create_sectionA
Create a Figma Section to organize related artboards, user journeys, or screen flows on the canvas
Inputs: name (required), x, y, fill, +3 more.
create_svg_iconB
Render and insert scalable SVG vector graphics (icons, logos, custom vector shapes) onto the canvas
Inputs: svg (required), x, y, fill, +4 more.
create_textA
Create a styled text element on the Figma canvas or inside a container. Strictly disallows emojis (use 'create_svg_icon' for vector icons). Automatically calculates and applies calibrated proportional leading (line-height) and optical tracking (letter-spacing) according to typographic hierarchy.
Inputs: text (required), x, y, fill, +5 more.
delete_nodesA
Delete one or more nodes from the Figma canvas by their IDs
Inputs: nodeIds (required).
duplicate_nodeA
Duplicate an existing node or screen (e.g. for creating variant states for prototyping)
Inputs: nodeId (required), name, offsetX, offsetY.
export_node_imageB
Render a PNG snapshot of a frame or component and return as base64 data URI for visual feedback
Inputs: nodeId (required), scale.
find_nodesA
Search for nodes on the current page by name keyword or node type (FRAME, TEXT, RECTANGLE, etc.)
Inputs: type, limit, query.
focus_viewportA
Pan and zoom the Figma canvas viewport to focus on specific nodes, with optional selection
Inputs: nodeIds (required), select.
generate_interactive_variantsB
Generate a complete interactive Component Set with Default, Hover, Pressed, Focused (WCAG 2.4.7 accessible focus ring), and Disabled states with pre-wired prototype Smart Animate transitions
Inputs: x, y, size, label, +2 more.
generate_state_matrixB
Generate the complete 5 States of UI (Ideal, Empty with onboarding CTA, Loading/Skeleton shimmer, Empathetic Error with 1-click retry, and Partial/Boundary stress-test) as a Figma Section or Component Set
Inputs: title (required), x, y, theme, +2 more.
generate_ui_treeA
Generate a complete UI screen or component hierarchy in a single atomic pass from a structured JSON specification. Enforces enterprise UI/UX & HCI standards: strictly disallows emojis (use 'create_svg_icon' for icons), snaps spacing to 8pt grid, enforces minimum 44px interactive touch targets per Apple HIG / WCAG (Fitts's Law), and applies calibrated typography leading and tracking.
Inputs: spec (required).
get_design_contextB
Retrieve a token-efficient semantic outline of the active document page or a specific screen (screens, buttons, cards, inputs, and flow starting points) without heavy vector noise
Inputs: screenId.
get_document_infoA
Retrieve the active Figma document name, all pages, current page, and currently selected nodes
Inputs: no named parameters.
get_document_tokensA
Extract active design tokens from the document (local paint color styles, text typography styles, and effect styles)
Inputs: no named parameters.
get_figma_statusA
Check whether the Figma Desktop companion plugin is connected and get active document metadata
Inputs: no named parameters.
get_prototype_connectionsA
Inspect all flow starting points and interactive prototype wiring across the current page
Inputs: no named parameters.
get_selectionB
Inspect currently selected elements on the Figma canvas
Inputs: no named parameters.
inspect_nodeA
Inspect detailed properties, layout settings, dimensions, and children of any node by ID
Inputs: nodeId (required), maxDepth.
lint_design_complianceA
Audit and score any screen or the active canvas page against enterprise UI/UX and HCI compliance standards (Fitts's Law 44px touch targets, 8pt grid spacing consistency, proportional typography leading, and zero emojis)
Inputs: nodeId.
lint_ux_microcopyA
Audit text copy across screens for UX writing anti-patterns (Lorem Ipsum placeholders, ambiguous/lazy CTAs like 'Submit', robotic blaming error messages, and cognitive strain all-caps text), recommending empathetic high-converting alternatives
Inputs: nodeId.
manage_pageA
Create a new page in the document or switch the active page
Inputs: action (required), name, pageId.
ping_figmaA
Ping the connected Figma companion plugin to verify live canvas communication
Inputs: message.
plan_screen_architectureA
Architect and plan a multi-section UI screen creation OR design edit/refactor before code generation. Decomposes the UI into an ordered sequence of structured steps, establishes typography scale, 8pt grid dimensions, and layout constraints (wrapping, auto-layout directions, stretch alignment) to guarantee zero overflow/overlap. MANDATORY PROTOCOL GATE: Once this tool returns, the LLM MUST present the generated roadmap to the user for explicit confirmation before executing any canvas mutations.
Inputs: screenName (required), mode, preset, changes, +5 more.
rest_get_commentsA
Read collaboration feedback, review threads, and pins left on the file from Figma Cloud
Inputs: fileKey (required).
rest_get_componentsB
List published component library definitions, component sets, and documentation links in the file
Inputs: fileKey (required).
rest_get_fileB
Headless read of full Figma file metadata, version history, components, styles, and document tree from Figma Cloud via REST API (requires FIGMA_ACCESS_TOKEN)
Inputs: fileKey (required), depth.
rest_get_file_nodesA
Fetch specific nodes by ID directly from the cloud via REST API without loading the entire document
Inputs: fileKey (required), nodeIds (required), depth.
rest_get_imagesB
Render high-resolution cloud images/exports of frames or components using Figma Cloud rendering engine
Inputs: fileKey (required), nodeIds (required), scale, format.
rest_get_variablesC
Read Figma Enterprise / Organization Variables and token collections (color palettes, spacing, modes) via REST API
Inputs: fileKey (required).
rest_post_commentB
Post a review comment or design critique directly to a Figma screen or pin via REST API
Inputs: fileKey (required), message (required), nodeId.
set_autolayoutA
Configure Flexbox/AutoLayout rules (direction, padding, gap, alignment, wrapping) on an existing frame
Inputs: nodeId (required), direction (required), wrap, padding, +10 more.
set_effectsB
Apply elevation shadows, inner shadows, and blurs to a node (DROP_SHADOW, INNER_SHADOW, LAYER_BLUR, BACKGROUND_BLUR)
Inputs: nodeId (required), effects (required).
set_flow_starting_pointB
Mark a screen frame as a named prototype flow starting point (e.g. 'Onboarding Flow', 'Purchase Flow')
Inputs: name (required), nodeId (required).
set_overlay_interactionB
Configure interactive overlay prototype interactions (modals, dialogs, bottom sheets, slide-over panels, and dropdowns)
Inputs: sourceNodeId (required), destinationNodeId (required), easing, duration, +7 more.
set_prototype_interactionA
Wire an interactive prototype transition from a clickable element (button, card) to a target screen or modal
Inputs: sourceNodeId (required), easing, timeout, duration, +6 more.
set_strokeB
Add or update border stroke on a frame, card, button, or rectangle
Inputs: color (required), nodeId (required), weight, strokeAlign.
set_text_contentA
Update the characters of an existing text layer. Emojis are strictly sanitized and proportional leading and tracking are automatically recalibrated.
Inputs: text (required), nodeId (required).
update_nodeC
Update dimensions, coordinates, fills, images (supports local file paths), corner radius, opacity, layout alignment, or text auto-resize of an existing node
Inputs: nodeId (required), x, y, fill, +16 more.
validate_user_journeyB
Verify user journey continuum and prototype interaction completeness across canvas artboards, flagging orphan screens, dead-end traps, and unprotected destructive actions without confirmation safeguards
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 47 tools
Several tools overlap heavily: ping_figma vs get_figma_status both check companion-plugin connectivity, and validate_user_journey, lint_design_compliance, audit_ux_heuristics, and lint_ux_microcopy all perform design/UX audits with subtle boundaries. Creation/planning tools (generate_ui_tree, plan_screen_architecture, create_frame) and retrieval tools (get_document_info, get_design_context, inspect_node, rest_get_file) also blur together, making misselection likely.
Nearly all tools follow a verb_noun snake_case pattern, with a clear rest_ prefix grouping cloud/REST operations. Minor deviations in verb choice (create vs generate vs plan vs audit vs lint) but the convention is predictable and readable throughout.
47 tools is heavy for a Figma companion server, and the surface includes many overlapping audit, retrieval, and creation paths that could be consolidated. The breadth is partly justified by canvas editing plus REST access, but the count clearly exceeds a well-scoped set.
Coverage is broad: create/update/delete nodes, text, frames, components, prototype wiring, design tokens, inspection, export, and cloud REST access including comments and variables. Minor gaps exist (e.g., no page deletion, no dedicated component-update or prototype-removal tool), but core workflows are well supported.
Maintenance
Related MCP Connectors
Your AI agent designs editable, clickable UI prototypes on a live canvas.
A design agent in your coding agent's loop: briefs each screen, reviews UX and visual quality.
Build and edit app screen mockups and clickable prototypes from your AI assistant.
Agent-Native design tool - create and edit visual designs with agent assistance
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to read and modify Figma designs programmatically, supporting design analysis, element creation, text replacement, annotations, auto-layout configuration, and prototype visualization through natural language commands.2,097 npmMIT
- AlicenseAqualityDmaintenanceEnables AI agents to interact with Figma to create, read, and manage designs using the Figma REST API and a dedicated plugin. It supports advanced features like UI generation from text, webpage reconstruction in Figma, and design token synchronization with codebases.20MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to extract design systems, analyze components, and maintain design-code consistency from Figma files, providing intelligent component analysis and accessibility compliance.42 npm27MIT
- AlicenseBqualityDmaintenanceEnables AI agents to directly control Figma Desktop via MCP, supporting UI creation, editing, prototyping, and variable management with over 60 tools.651,119 npm1MIT