Figma Unified

108 tools. 70 can modify or destroy data without limits.

5 destructive tools with no built-in limits. Policy required.

Last updated:

70 can modify or destroy data
38 read-only
108 tools total

Community server · catalogue entry verified 29/06/2026

How to control Figma Unified ↓

What Figma Unified exposes to your agents

Read (38) Write / Execute (65) Destructive / Financial (5)
Critical Risk

The most dangerous Figma Unified tools

70 of Figma Unified's 108 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Figma Unified

PolicyLayer is an MCP gateway — it sits between your AI agents and Figma Unified, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "figma_delete_node": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "figma_apply_style": {
    "limits": [
      {
        "counter": "figma_apply_style_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "figma_analyze_for_codegen": {
    "limits": [
      {
        "counter": "figma_analyze_for_codegen_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Figma Unified — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON FIGMA UNIFIED →

Instant setup, no code required.

All 108 Figma Unified tools

WRITE 63 tools
Write figma_apply_style Apply a style to a node by ID or by name. Provide styleId to apply by ID, or styleName to apply by name. Requi Write figma_batch Batch multiple create, modify, and variable operations in one round-trip. Max 200 ops. ALWAYS prefer this over Write figma_bind_variable Bind a variable to a node property. Requires plugin connection (no REST endpoint for this). Write figma_boolean_operation Boolean op (union/subtract/intersect/exclude) on 2+ nodes. Write figma_cache Manage library/component/style cache. action: Write figma_clone_node Clone a node with optional offset. Write figma_connect_plugin Connect to Figma plugin via WebSocket. Write figma_create_component Create a reusable component with full auto-layout, stroke, and nested children support. Write figma_create_ellipse Create an ellipse/circle. Write figma_create_flow Create a prototype flow starting point on a frame. Write figma_create_frame Create a frame with full auto-layout, stroke, and nested children support. Write figma_create_from_svg Create a vector node from raw SVG markup. Use this for charts, icons, curves, and any complex shapes that can Write figma_create_instance Create an instance of a component. Write figma_create_interaction Add a prototype interaction to a node. Write figma_create_line Create a line. Write figma_create_page Create a new page. Optionally switch to it. Write figma_create_path Create a vector path from points. Much simpler than create_from_svg for charts, curves, and shapes. Supports s Write figma_create_rectangle Create a rectangle. Write figma_create_style Create a reusable style (paint, text, effect). Requires plugin connection. Write figma_create_text Create a text node. Accepts Write figma_create_variable Create a variable (COLOR, FLOAT, STRING, BOOLEAN). Uses REST API — no plugin required. Write figma_create_variable_collection Create a variable collection for design tokens. Uses REST API — no plugin required. Write figma_export_png Export a node as PNG/SVG/PDF with base64 data. Write figma_export_svg Export a node as raw SVG markup. Write figma_export_to_file Export a Figma node as an image file saved to a local path. Supports PNG, JPG, SVG, and PDF formats. Uses plug Write figma_generate_css Generate CSS from a node Write figma_generate_handoff_spec Generate a visual design handoff spec annotation in Figma. This returns step-by-step instructions — follow the Write figma_generate_html Generate semantic HTML from a node. Write figma_generate_react Generate React component from a node. Write figma_generate_swiftui Generate SwiftUI code from a node. Write figma_generate_tailwind_config Generate Tailwind config from Figma design tokens. Write figma_generate_tokens Export design tokens (CSS vars, JSON, SCSS). Write figma_group_nodes Group nodes together. Write figma_import_component_by_key Import a published component by its library key and create an instance. Get keys from figma_get_components wit Write figma_import_style_by_key Import library styles by key so they become available locally. Use figma_get_styles to find keys. Supports bat Write figma_match_components Match Figma components to codebase components using fuzzy name matching. Requires plugin connection for Figma Write figma_move_node Move a node to a new position. Write figma_post_comment Post a comment on a file or node. Write figma_publish_dev_resources Publish dev resource links to Figma Dev Mode. Attaches code file URLs to component nodes. Run figma_match_comp Write figma_rename_node Rename a node. Write figma_reparent_node Move a node to a different parent. Write figma_resize_node Resize a node. Write figma_send_command Send a raw command to the plugin. Write figma_set_annotation Set annotation(s) on node(s). Write figma_set_auto_layout Configure auto-layout (flexbox) on a frame. Write figma_set_constraints Set resize constraints for a node. Write figma_set_corner_radius Set corner radius of a node. Write figma_set_default_transition Set default transition for this frame. Write figma_set_effects Apply effects (shadows, blurs) to a node. Write figma_set_fill Set fill of a node. Supports solid colors, gradients, and images. Simple solid: { nodeId, color: {r,g,b} } Gr Write figma_set_focus Select and scroll viewport to a node. Write figma_set_instance_overrides Apply overrides to component instances. Write figma_set_opacity Set node opacity. Write figma_set_scroll_behavior Configure scrolling for a frame in prototypes. Write figma_set_selections Select multiple nodes and scroll to show them. Write figma_set_stroke Set stroke (border) of a node. Write figma_set_text_content Update text content. Supports batch via updates array. Accepts Write figma_set_text_style Set text style with presets or custom values. Any explicit property overrides the preset. Presets: ${presetNa Write figma_set_variable_value Set variable value for a mode. Uses REST API — no plugin required. Use mode ID (get from figma_get_variables). Write figma_set_visible Show or hide a node. Write figma_setup_overlay Configure a frame as an overlay in prototypes. Write figma_switch_page Switch to a page by name, ID, or index. Write figma_update_variable Update variable properties (name, description, scopes). Uses REST API — no plugin required.
READ 38 tools
Read figma_analyze_for_codegen Analyze node structure for best codegen strategy. Read figma_check_accessibility Comprehensive WCAG 2.1 accessibility audit. Works via REST API (no plugin needed) when fileKey is provided, or Read figma_codegen_bundle Get a complete design-to-code bundle in a single call (REST-only, no plugin needed). Returns: - Compact tree w Read figma_get_annotations Get annotations on a node or the whole document. Read figma_get_code_connect_map Map Figma components to source code locations. Read figma_get_comments Get comments on a file. Read figma_get_component Get a published component by key. Read figma_get_components Get components. source: file (REST — published components with importable keys), local (plugin — current page) Read figma_get_design_system_rules Extract design system rules: colors, typography, spacing, etc. Read figma_get_dev_resources Get existing dev resources (code links) attached to nodes in a Figma file. Read figma_get_file Get file document tree. Defaults to depth=2 (pages + top-level frames). Set higher depth for deeper traversal, Read figma_get_file_versions Get version history of a file. Read figma_get_flows Get all prototype flows in the current page. Read figma_get_images Export nodes as images. Returns download URLs. Read figma_get_instance_overrides Get override properties from a component instance. Read figma_get_interactions Get all interactions on a node. Read figma_get_library_collections Get enabled library variable collections. Read figma_get_library_items_used Find external library components/styles used in a file. Read figma_get_library_variables Get variables from a library collection by key. Filter by type or name to reduce token usage. Read figma_get_node Get a node with properties, styles, and children. Read figma_get_nodes Get multiple nodes in one request. Batch alternative to get_node. Read figma_get_project_files List all files in a project. Read figma_get_selection Get currently selected nodes. Read figma_get_style Get a published style by key. Read figma_get_styles Get styles. fileKey→REST file styles, omit→plugin local styles. Read figma_get_team_components Get published components from a team. Requires Organization or Enterprise plan. Read figma_get_team_projects List all projects in a team. Read figma_get_team_styles Get published styles from a team. Read figma_get_variables Get local variables and collections (design tokens). Filter by type or name to reduce token usage. Read figma_get_viewport Get viewport position, zoom, and visible bounds. Read figma_present_prototype Open prototype presentation view. Read figma_scan_codebase Scan a local codebase directory for UI components (React, Vue, Svelte, Swift, Compose, Angular, Flutter). Retu Read figma_scan_nodes_by_types Find nodes by type (FRAME, TEXT, COMPONENT, etc.). Read figma_scan_text_nodes Scan text nodes with chunking for large pages. Read figma_screenshot Screenshot one or more nodes as base64 images. Use nodeId for a single node, or nodeIds for multiple nodes in Read figma_search Search for nodes by name or type in a file. Read figma_status Check server, bridge, and REST API status. Read figma_validate_layout Check overlaps, bounds, padding, alignment issues.

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Figma Unified

Can an AI agent delete data through the Figma Unified MCP server? +

Yes. The Figma Unified server exposes 5 destructive tools including figma_delete_node, figma_delete_variable, figma_delete_variable_collection. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Figma Unified? +

The Figma Unified server has 63 write tools including figma_apply_style, figma_batch, figma_bind_variable. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Figma Unified.

How many tools does the Figma Unified MCP server expose? +

108 tools across 4 categories: Destructive, Execute, Read, Write. 38 are read-only. 70 can modify, create, or delete data.

How do I enforce a policy on Figma Unified? +

Register the Figma Unified MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Figma Unified tool call.

Deterministic rules across all 108 Figma Unified tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

108 Figma Unified tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.