Skip to main content
Glama
conductor-figma

conductor-figma

by lama-assaf

conductor-figma

Design-intelligent MCP server for Figma. 201 tools across 17 categories. Every tool has built-in design intelligence — 8px grid, type scales, semantic colors, accessibility checks, component defaults. Works with Cursor and Claude Code.

npx conductor-figma

How to use

1. Clone the repo (for the Figma plugin)

git clone https://github.com/lama-assaf/conductor.git

2. Import the Figma plugin

Open Figma Desktop:

  1. Go to Plugins → Development → Import plugin from manifest

  2. Navigate to conductor/figma-plugin/manifest.json

  3. Click Open

The plugin is now installed. You only need to do this once.

3. Add to Cursor

Open ~/.cursor/mcp.json and add conductor:

{
  "mcpServers": {
    "conductor": {
      "command": "npx",
      "args": ["-y", "conductor-figma"]
    }
  }
}

Restart Cursor.

4. Connect and design

  1. Open a Figma file

  2. Run the plugin: Plugins → Development → Conductor

  3. The plugin should show a green dot (Connected)

  4. In Cursor chat, type @conductor followed by any command

Example prompts

@conductor Create a dark hero section with a big heading and a purple CTA button

@conductor Check contrast between #ffffff and #6366f1

@conductor Create a dashboard layout with sidebar, KPI cards, and chart area

@conductor Audit accessibility on my current selection

@conductor Replace all #6366f1 with #3b82f6 across the file

@conductor Export this frame as React + Tailwind code

@conductor Scan my file and show me all off-grid spacing

@conductor Generate a color palette from #6366f1

Alternative: use local path (faster startup)

Instead of npx, point directly to the cloned repo:

{
  "mcpServers": {
    "conductor": {
      "command": "node",
      "args": ["/path/to/conductor/bin/conductor.js"]
    }
  }
}

Related MCP server: figmind

How it works

You type in Cursor → MCP server (stdio) → WebSocket :3055 → Figma plugin → Canvas

Cursor starts the MCP server automatically. The server opens a WebSocket on port 3055. The Figma plugin connects to that WebSocket and executes commands on the canvas.

What makes this different

Other MCP servers for Figma are API wrappers. You give exact pixel values, they obey — even when those values are wrong. Conductor applies design rules before anything touches the canvas.

You say "create a button." A typical MCP makes a rectangle. Conductor makes a 44px-tall frame with 20px horizontal padding, 10px radius, 15px Semi Bold text — because that's what a button actually is.

201 tools in 17 categories

Create & Layout (20)

create_frame, create_text, create_rectangle, create_ellipse, create_line, create_svg_node, create_component, create_component_instance, create_component_set, create_smart_component, set_auto_layout, create_section, create_page, create_table_frame, create_form, create_nav_bar, create_card_grid, create_sidebar_layout, create_footer, create_header

Modify & Style (25)

modify_node, set_fill, set_stroke, set_effects, set_image_fill, style_text_range, set_constraints, delete_node, move_to_parent, duplicate_node, group_nodes, ungroup_nodes, resize_node, align_nodes, set_corner_radius, set_opacity, set_blend_mode, set_clip_content, rename_node, lock_node, set_visibility, reorder_node, set_layout_sizing, flatten_node, set_rotation

Vector & Shape (8)

create_vector, boolean_operation, create_polygon, create_star, offset_path, create_arrow, create_icon (35 built-in), create_divider

Read & Inspect (18)

get_selection, get_page_structure, get_node_info, get_nodes_info, find_nodes, get_local_styles, get_local_variables, list_components, list_pages, get_document_info, set_selection, set_focus, get_annotations, set_annotation, list_available_fonts, read_node_css, get_selection_colors, measure_distance

Variables & Tokens (10)

create_variable_collection, create_variable, bind_variable, get_variables, update_variable, delete_variable, create_design_tokens, import_tokens, export_tokens, swap_mode

Export & Code (12)

export_as_svg, export_as_png, export_to_react, export_design_specs, export_assets, screenshot, copy_css, generate_stylesheet, export_color_palette, export_typography, export_component_inventory, export_spacing_tokens

Accessibility & Lint (12)

audit_accessibility, check_contrast, fix_touch_targets, lint_design, fix_spacing, check_naming, suggest_improvements, validate_component, check_consistency, generate_a11y_report, color_blindness_check, responsive_check

Batch Operations (17)

batch_rename, batch_style, batch_replace_text, batch_replace_color, batch_resize, batch_align, batch_delete, batch_duplicate, batch_set_visibility, batch_lock, select_all_by_type, clean_hidden_layers, batch_set_font, batch_round_values, batch_remove_strokes, batch_remove_effects, batch_set_corner_radius

Design System (10)

scan_design_system, create_style_guide, detect_inconsistencies, normalize_design, extract_components, get_design_craft_guide, suggest_color_palette, suggest_type_scale, import_design_system, compare_to_system

Responsive (5)

create_responsive_variant, set_breakpoint, convert_to_responsive, generate_mobile, stack_for_mobile

Typography (10)

type_scale_apply, type_audit, type_set_hierarchy, type_check_measure, type_normalize, type_list_styles, type_pair_suggest, type_replace_font, set_text_content, type_create_style

Color (10)

color_palette_generate, color_extract, color_harmonize, color_darkmode, color_lightmode, color_check_all, color_create_style, color_apply_style, color_replace_global, color_generate_semantic

Prototype & Interaction (10)

create_prototype_link, create_scroll_behavior, set_overflow, create_overlay, set_fixed_position, create_hover_state, create_flow, list_flows, remove_prototype_link, set_transition

Page Management (8)

create_new_page, switch_page, duplicate_page, delete_page, rename_page, sort_pages, merge_pages, page_overview

Library & Components (8)

search_library, list_team_libraries, swap_component, detach_instance, reset_overrides, component_audit, batch_swap_component, publish_components

Annotation & Handoff (10)

annotate_spacing, annotate_colors, annotate_typography, create_measurement, create_spec_sheet, annotate_grid, annotate_hierarchy, create_component_docs, annotate_responsive, create_changelog

Effects & Styles (8)

create_glassmorphism, create_neumorphism, create_noise_texture, set_gradient_fill, create_shadow_system, apply_backdrop_blur, create_border_gradient, remove_all_effects

Design intelligence engine

Every tool queries the intelligence engine before touching Figma:

  • 8px Grid — All spacing values snapped. snap(13) = 16.

  • Type Scale — 7 ratio presets: Minor Second through Golden Ratio.

  • Semantic Colors — Full palette from one brand hex. Dark + light modes.

  • Component Defaults — 18 component types with size variants.

  • Accessibility — WCAG AA/AAA contrast, 44px touch targets, font minimums.

  • Font Weights — Auto-resolves "bold" → "Bold", "600" → "Semi Bold".

  • Layout Intelligence — 13 layout presets: row, column, center, spread, sidebar, grid, form.

Troubleshooting

Plugin says "Disconnected" The MCP server isn't running. Make sure Cursor is open and conductor is configured in mcp.json. Try sending any @conductor message in Cursor chat — that triggers the server to start.

Port 3055 already in use Kill the old process: kill $(lsof -t -i :3055) 2>/dev/null then restart Cursor.

Cursor shows "Loading tools" forever Make sure you have the latest version. Run: npx conductor-figma@latest Or use the local path method for faster startup.

Disclaimer

This software is provided strictly for educational and experimental purposes only. Do your own research (DYOR) before using in any production environment.

  • This is experimental, open-source software provided "as-is" with absolutely no warranties, representations, or guarantees of any kind — express, implied, or statutory — including but not limited to warranties of merchantability, fitness for a particular purpose, accuracy, reliability, or non-infringement.

  • The author(s), contributor(s), and maintainer(s) of this project — including the individual known as lama-assaf — shall not be held liable for any direct, indirect, incidental, special, consequential, or punitive damages, losses, costs, or expenses arising from or related to the use, misuse, inability to use, or reliance upon this software, including but not limited to loss of data, loss of revenue, business interruption, or damages to Figma files, design assets, or any other digital property.

  • This software interacts with third-party services (Figma, Cursor, Claude Code) over which the author has no control. The author assumes no responsibility for any changes, outages, API modifications, or policy updates by these third parties that may affect the functionality of this software.

  • No data collection, telemetry, or analytics are performed by this software. All operations run locally between your machine and the Figma desktop application. However, the author makes no guarantees regarding data security, privacy, or confidentiality.

  • This software is not affiliated with, endorsed by, or sponsored by Figma, Inc., Anthropic, PBC, Anysphere (Cursor), or any other company or organization.

  • Users are solely responsible for ensuring their use of this software complies with all applicable laws, regulations, terms of service, and licensing agreements — including Figma's Terms of Service and API usage policies.

  • Use at your own risk. Always back up your Figma files before running any automated operations. The author is not responsible for any unintended modifications, deletions, or corruption of design files.

MIT License · Copyright 2026 lama-assaf

Available Tools

203 tools
align_nodesC

Align multiple nodes relative to each other.

Inputs: nodeIds (required), alignment.

annotate_colorsB

Add color swatch annotations to a frame.

Inputs: nodeId (required).

annotate_gridC

Visualize the underlying grid and spacing system of a frame.

Inputs: nodeId (required), gridSize.

annotate_hierarchyA

Annotate the visual hierarchy: heading levels, reading order, focal points.

Inputs: nodeId (required).

annotate_responsiveC

Annotate breakpoint behavior and responsive rules on a frame.

Inputs: nodeId (required), breakpoints.

annotate_spacingB

Add visual spacing annotations (redlines) to a frame.

Inputs: nodeId (required), showPadding, showGap, showMargin.

annotate_typographyC

Add typography annotations (font, size, weight, line-height) to text nodes.

Inputs: nodeId (required).

apply_backdrop_blurC

Apply background blur (frosted glass effect) to a frame.

Inputs: nodeId (required), amount.

audit_accessibilityA

Run a full accessibility audit on a node tree. Checks contrast, touch targets, font sizes, focus indicators.

Inputs: nodeId (required).

batch_alignC

Align multiple nodes.

Inputs: nodeIds (required), horizontal, vertical.

batch_deleteB

Delete multiple nodes.

Inputs: nodeIds (required).

batch_duplicateB

Duplicate multiple nodes.

Inputs: nodeIds (required), offsetX, offsetY.

batch_lockB

Lock/unlock multiple nodes.

Inputs: nodeIds (required), locked (required).

batch_remove_effectsB

Remove all effects from nodes in a scope.

Inputs: nodeId (required).

batch_remove_strokesC

Remove all strokes from nodes in a scope.

Inputs: nodeId (required).

batch_renameC

Rename multiple nodes using a pattern.

Inputs: nodeIds (required), pattern (required), startNumber.

batch_replace_colorC

Replace a color across all nodes.

Inputs: find (required), replace (required), nodeId.

batch_replace_textA

Find and replace text across multiple text nodes.

Inputs: find (required), replace (required), nodeId, matchCase.

batch_resizeC

Resize multiple nodes.

Inputs: nodeIds (required), width, height, scale.

batch_round_valuesA

Round all dimensions, positions, and spacing to whole pixels.

Inputs: nodeId (required).

batch_set_corner_radiusA

Set corner radius on all frames/rectangles in scope.

Inputs: nodeId (required), radius (required).

batch_set_fontB

Change font family on all text nodes in a scope.

Inputs: fontFamily (required), nodeId.

batch_set_visibilityA

Show/hide multiple nodes.

Inputs: nodeIds (required), visible (required).

batch_styleC

Apply style changes to multiple nodes at once.

Inputs: nodeIds (required), changes (required).

batch_swap_componentA

Swap all instances of one component for another across the file.

Inputs: oldComponentId (required), newComponentId (required).

bind_variableB

Bind a variable to a node property.

Inputs: nodeId (required), property (required), variableId (required).

boolean_operationC

Perform boolean operations on shapes.

Inputs: nodeIds (required), operation.

check_consistencyC

Check for inconsistent colors, fonts, spacing, and radii across a design.

Inputs: nodeId (required).

check_contrastA

Check color contrast ratio between two colors.

Inputs: foreground (required), background (required).

check_namingB

Check layer naming conventions. Flags generic names like "Frame 123", "Group 5".

Inputs: nodeId (required).

clean_hidden_layersB

Remove all hidden layers from a node tree.

Inputs: nodeId (required), dryRun.

color_apply_styleC

Apply a color style to a node.

Inputs: nodeId (required), styleName (required), property.

color_blindness_checkC

Simulate color blindness on a design to check for issues.

Inputs: nodeId (required), type.

color_check_allA

Check WCAG contrast for every text/background pair in a frame.

Inputs: nodeId (required), standard.

color_create_styleC

Create a local color style.

Inputs: name (required), color (required).

color_darkmodeA

Generate a dark mode variant of a frame, mapping all colors intelligently.

Inputs: nodeId (required), brandColor.

color_extractA

Extract all unique colors from a frame and organize by usage frequency.

Inputs: nodeId (required).

color_generate_semanticA

Generate a full semantic color system (bg, surface, border, text, brand, status) from one brand color.

Inputs: brandColor (required), mode.

color_harmonizeB

Generate harmonious colors: complementary, triadic, analogous, split-complementary.

Inputs: baseColor (required), scheme.

color_lightmodeB

Generate a light mode variant of a dark frame.

Inputs: nodeId (required), brandColor.

color_palette_generateC

Generate a full color palette (50-950 shades) from a base color.

Inputs: baseColor (required), steps.

color_replace_globalA

Replace a color across the entire document (all pages).

Inputs: find (required), replace (required).

compare_to_systemC

Compare a design to the established design system and flag deviations.

Inputs: nodeId (required).

component_auditA

Audit components: find detached instances, missing components, unused variants.

Inputs: nodeId.

convert_to_responsiveB

Convert fixed-width designs to responsive auto-layout.

Inputs: nodeId (required).

copy_cssA

Copy CSS properties of a node to clipboard.

Inputs: nodeId (required).

create_arrowC

Create an arrow shape.

Inputs: length (required), direction, strokeWeight, color, +1 more.

create_border_gradientB

Create a gradient border effect using a slightly larger frame behind.

Inputs: nodeId (required), startColor (required), endColor (required), width.

create_card_gridC

Create a grid of cards with proper spacing and alignment.

Inputs: columns, cards, brandColor, parentId.

create_changelogB

Compare two frames and generate a visual changelog showing what changed.

Inputs: beforeNodeId (required), afterNodeId (required).

create_componentB

Create a reusable component from the current selection or a new frame.

Inputs: name (required), description, fromNodeId, width, +2 more.

create_component_docsB

Generate documentation frames for a component showing all variants, props, and usage.

Inputs: componentId (required).

create_component_instanceC

Instantiate an existing component.

Inputs: componentId (required), parentId, overrides.

create_component_setA

Combine component variants into a variant set.

Inputs: name (required), componentIds (required).

create_design_tokensB

Generate a complete design token system from a brand color. Creates color, spacing, radius, and typography collections.

Inputs: brandColor (required), name, withModes.

create_dividerC

Create a horizontal or vertical divider line.

Inputs: direction, length, color, thickness, +1 more.

create_ellipseC

Create a circle or oval.

Inputs: width (required), height (required), name, fill, +2 more.

create_flowB

Create a prototype flow starting point.

Inputs: nodeId (required), name (required).

create_formB

Create a form layout with labeled inputs, validation states, and submit button.

Inputs: fields (required), submitLabel, brandColor, parentId.

create_frameA

Create a frame (screen, section, card, container). Automatically applies auto-layout with design-intelligent defaults.

Inputs: name (required), width, height, direction, +15 more.

create_glassmorphismB

Apply glassmorphism effect: background blur, semi-transparent fill, subtle border.

Inputs: nodeId (required), blur, opacity.

create_headerC

Create a page header/hero with heading, subheading, and CTA.

Inputs: heading, subheading, ctaText, width, +2 more.

create_hover_stateC

Create a hover variant interaction on a component.

Inputs: nodeId (required), hoverVariant (required).

create_iconC

Create a common UI icon from built-in set.

Inputs: icon (required), size, color, parentId.

create_lineC

Create a line or divider.

Inputs: length (required), name, direction, strokeColor, +2 more.

create_measurementB

Create a measurement line between two nodes showing distance.

Inputs: nodeId1 (required), nodeId2 (required), direction.

create_nav_barC

Create a navigation bar with logo, links, and CTA button.

Inputs: brand, items, ctaText, width, +2 more.

create_neumorphismA

Apply neumorphism effect: dual shadows (light + dark) with matching background.

Inputs: nodeId (required), intensity.

create_new_pageB

Create a new page in the document.

Inputs: name (required).

create_noise_textureA

Add a subtle noise/grain texture overlay to a frame.

Inputs: nodeId (required), opacity, scale.

create_overlayB

Set up a frame as a modal/overlay in prototype mode.

Inputs: nodeId (required), position, closeOnClickOutside, backgroundDim.

create_pageB

Create a complete page design with multiple sections. Design-intelligent layout, spacing, and typography throughout.

Inputs: type (required), content, brandColor, mode, +1 more.

create_polygonB

Create a regular polygon.

Inputs: sides (required), size (required), fill, name, +1 more.

create_rectangleC

Create a rectangle shape.

Inputs: width (required), height (required), name, fill, +3 more.

create_responsive_variantC

Create mobile/tablet/desktop variants of a frame.

Inputs: nodeId (required), breakpoints.

create_scroll_behaviorB

Set scroll behavior on a frame.

Inputs: nodeId (required), direction, overflow.

create_sectionC

Create a design-intelligent page section (hero, features, pricing, CTA, testimonials, FAQ, footer, stats, logos, comparison, team).

Inputs: type (required), content, brandColor, mode, +2 more.

create_shadow_systemB

Generate a consistent shadow elevation system (sm, md, lg, xl) as effect styles.

Inputs: baseColor, scale.

create_sidebar_layoutC

Create a sidebar + main content layout with proper proportions.

Inputs: sidebarWidth, totalWidth, brandColor, parentId.

create_smart_componentC

Create a design-intelligent component with proper auto-layout, padding, and sizing. Uses component intelligence defaults.

Inputs: type (required), variant, label, brandColor, +2 more.

create_spec_sheetB

Generate a design specification sheet next to a frame with all measurements, colors, and typography.

Inputs: nodeId (required), position.

create_starC

Create a star shape.

Inputs: outerRadius (required), points, innerRadius, fill, +2 more.

create_style_guideC

Generate a visual style guide page from the current design system.

Inputs: brandColor, mode.

create_svg_nodeB

Create a vector graphic from SVG markup. Use for icons, logos, illustrations.

Inputs: svg (required), name, width, height, +1 more.

create_table_frameB

Create a data table with headers, rows, and proper spacing.

Inputs: columns (required), rows, brandColor, parentId.

create_textB

Create text with design-intelligent typography. Font weight is auto-resolved (e.g. "bold" → "Bold", "600" → "Semi Bold").

Inputs: text (required), fontSize, color, fontFamily, +9 more.

create_variableC

Create a design variable/token.

Inputs: name (required), collectionId (required), value (required), type, +1 more.

create_variable_collectionB

Create a design token collection with modes (e.g. Light/Dark).

Inputs: name (required), modes.

create_vectorB

Draw custom vector paths using SVG-like path data.

Inputs: pathData (required), name, fill, stroke, +2 more.

delete_nodeB

Remove a node from the canvas.

Inputs: nodeId (required).

delete_pageC

Delete a page.

Inputs: pageId (required).

delete_variableC

Delete a variable.

Inputs: variableId (required).

design_from_promptA

Takes any natural language description and generates a complete Figma design. Analyzes mood (minimal, bold, playful, luxury, corporate, techy, organic, brutalist, editorial), detects industry (fintech, health, saas, ecommerce, etc.), picks appropriate colors, spacing density, shadow depth, corner radii, and typography. Then composes a multi-section design with 30-300+ elements.

Inputs: prompt (required), width.

detach_instanceA

Detach a component instance to a regular frame.

Inputs: nodeId (required).

detect_inconsistenciesB

Find design inconsistencies: off-grid spacing, non-standard colors, mismatched fonts.

Inputs: nodeId.

duplicate_nodeC

Duplicate a node.

Inputs: nodeId (required), count, offsetX, offsetY.

duplicate_pageC

Duplicate an entire page.

Inputs: pageId (required), name.

export_as_pngC

Export a node as PNG.

Inputs: nodeId (required), scale.

export_assetsB

Batch export all exportable assets (icons, images) from a node tree.

Inputs: nodeId (required), format, scale.

export_as_svgA

Export a node as SVG markup.

Inputs: nodeId (required).

export_color_paletteC

Export all colors used as a palette.

Inputs: format.

export_component_inventoryC

Export a complete inventory of all components with usage counts.

Inputs: format.

export_design_specsB

Generate design specifications document for developer handoff.

Inputs: nodeId (required), format.

export_spacing_tokensA

Export all spacing values used as a spacing token system.

Inputs: format.

export_tokensA

Export all design tokens as JSON, CSS custom properties, SCSS, or Tailwind config.

Inputs: format.

export_to_reactC

Generate React + Tailwind code from a Figma node tree.

Inputs: nodeId (required), framework, componentName.

export_typographyC

Export all text styles as a typography system.

Inputs: format.

extract_componentsA

Find repeated patterns and suggest component extraction.

Inputs: nodeId (required).

find_nodesB

Search for nodes by name, type, or properties.

Inputs: query, type, withinId.

fix_spacingC

Auto-fix all spacing values to nearest 8px grid value.

Inputs: nodeId (required), grid.

fix_touch_targetsB

Auto-fix all touch targets below 44px in a node tree.

Inputs: nodeId (required).

flatten_nodeC

Flatten a node into a single vector.

Inputs: nodeId (required).

generate_a11y_reportC

Generate a detailed accessibility compliance report.

Inputs: nodeId (required), standard, format.

generate_mobileC

Generate a mobile-optimized version of a desktop design.

Inputs: nodeId (required), width.

generate_stylesheetC

Generate a complete stylesheet from a design file.

Inputs: pageId, format.

get_annotationsA

Get all annotations/comments on the document or a specific node.

Inputs: nodeId.

get_design_craft_guideA

Get the professional design rules: typography, color, spacing, anti-AI-slop patterns. Use this before creating any design.

Inputs: no named parameters.

get_document_infoA

Get document name, pages, and metadata.

Inputs: no named parameters.

get_local_stylesA

Get all local paint, text, and effect styles in the file.

Inputs: no named parameters.

get_local_variablesB

Get all local variable collections and variables.

Inputs: no named parameters.

get_node_infoA

Get detailed properties of a specific node including fills, effects, auto-layout, and text styles.

Inputs: nodeId (required).

get_nodes_infoB

Get detailed properties of multiple nodes.

Inputs: nodeIds (required).

get_page_structureA

Get the full page layer tree with types, names, and hierarchy.

Inputs: depth, pageId.

get_selectionA

Get the currently selected nodes with full properties.

Inputs: no named parameters.

get_selection_colorsB

Extract all colors used in the current selection.

Inputs: no named parameters.

get_variablesB

List all variable collections and their variables.

Inputs: no named parameters.

group_nodesC

Group multiple nodes together.

Inputs: nodeIds (required), name.

import_design_systemC

Import a design system from JSON config and create all tokens, styles, and components.

Inputs: config (required).

import_tokensB

Import design tokens from JSON (W3C Design Token format).

Inputs: json (required), collectionName.

interpret_promptA

Analyzes a design prompt and returns the interpretation without generating anything. Shows what mood, industry, colors, and sections would be used. Good for previewing before generating.

Inputs: prompt (required).

lint_designB

Run design lint rules: spacing consistency, naming conventions, color usage, font sizes, alignment.

Inputs: nodeId (required), rules.

list_available_fontsA

Get all fonts available in the Figma file.

Inputs: no named parameters.

list_componentsC

List all components in the file.

Inputs: pageId.

list_flowsA

List all prototype flows in the file.

Inputs: no named parameters.

list_pagesB

List all pages in the document.

Inputs: no named parameters.

list_team_librariesA

List all available team libraries.

Inputs: no named parameters.

lock_nodeC

Lock/unlock a node.

Inputs: nodeId (required), locked (required).

measure_distanceC

Measure distance between two nodes.

Inputs: nodeId1 (required), nodeId2 (required).

merge_pagesB

Move all content from one page into another.

Inputs: sourcePageId (required), targetPageId (required).

modify_nodeC

Modify properties of any existing node.

Inputs: nodeId (required), x, y, width, +8 more.

move_to_parentC

Move a node into a different parent frame.

Inputs: nodeId (required), parentId (required), index.

normalize_designB

Auto-fix a design to match the implied design system. Snaps spacing, normalizes colors, fixes font weights.

Inputs: nodeId (required), dryRun.

offset_pathC

Offset/expand a vector path.

Inputs: nodeId (required), offset (required).

page_overviewA

Get an overview of all pages: name, frame count, component count.

Inputs: no named parameters.

publish_componentsB

Mark components as ready to publish to team library.

Inputs: componentIds (required).

read_node_cssB

Get CSS representation of a node (for developer handoff).

Inputs: nodeId (required), format.

remove_all_effectsA

Remove all effects (shadows, blurs) from a node.

Inputs: nodeId (required).

rename_nodeC

Rename a node.

Inputs: nodeId (required), name (required).

rename_pageC

Rename a page.

Inputs: pageId (required), name (required).

reorder_nodeC

Change z-order of a node.

Inputs: nodeId (required), direction.

reset_overridesB

Reset all overrides on a component instance.

Inputs: nodeId (required).

resize_nodeB

Resize a node with optional constraint preservation.

Inputs: nodeId (required), width, height, preserveAspect.

responsive_checkC

Check if a design handles different viewport widths correctly.

Inputs: nodeId (required), breakpoints.

scan_design_systemB

Scan a file and extract the implied design system: colors, fonts, spacing, components.

Inputs: pageId.

screenshotB

Take a screenshot of the current canvas view or a specific node.

Inputs: nodeId, scale.

search_libraryA

Search for components across local file and team libraries.

Inputs: query (required), scope.

select_all_by_typeC

Select all nodes of a specific type.

Inputs: type, withinId.

set_annotationC

Create or update an annotation with markdown support.

Inputs: nodeId (required), text (required).

set_auto_layoutB

Configure auto-layout on a frame. All spacing is 8px grid-snapped.

Inputs: nodeId (required), direction, padding, paddingTop, +8 more.

set_blend_modeD

Set blend mode.

Inputs: nodeId (required), blendMode.

set_breakpointB

Resize a frame to a standard breakpoint.

Inputs: nodeId (required), breakpoint.

set_clip_contentB

Toggle clip content on a frame.

Inputs: nodeId (required), clip (required).

set_constraintsC

Set responsive constraints on a node.

Inputs: nodeId (required), horizontal, vertical.

set_corner_radiusC

Set corner radius with per-corner control.

Inputs: nodeId (required), radius, topLeft, topRight, +2 more.

set_effectsC

Add shadows, blur, or background blur effects.

Inputs: nodeId (required), shadow, innerShadow, blur, +2 more.

set_fillC

Set fill on a node. Supports solid, linear gradient, radial gradient, and multiple fills.

Inputs: nodeId (required), type, color, gradient, +2 more.

set_fixed_positionA

Pin a layer so it stays fixed during scroll (sticky nav, floating button).

Inputs: nodeId (required), position.

set_focusA

Focus viewport on a specific node.

Inputs: nodeId (required), zoom.

set_gradient_fillA

Set a gradient fill with a simple angle + 2 colors API.

Inputs: nodeId (required), startColor (required), endColor (required), angle.

set_image_fillA

Set an image fill on a node from URL.

Inputs: nodeId (required), url (required), scaleMode.

set_layout_sizingB

Set how a child behaves in auto-layout.

Inputs: nodeId (required), horizontal, vertical.

set_opacityC

Set node opacity.

Inputs: nodeId (required), opacity (required).

set_overflowB

Set overflow clipping on a frame.

Inputs: nodeId (required), clip (required).

set_rotationC

Rotate a node.

Inputs: nodeId (required), angle (required).

set_selectionB

Select nodes and optionally scroll viewport to them.

Inputs: nodeIds (required), zoomToFit.

set_strokeB

Add border/stroke to a node.

Inputs: nodeId (required), color, weight, align, +2 more.

set_text_contentA

Update text content of a text node without changing styles.

Inputs: nodeId (required), text (required).

set_transitionB

Set the default transition for all prototype links on a frame.

Inputs: nodeId (required), transition, duration, easing.

set_visibilityB

Show/hide a node.

Inputs: nodeId (required), visible (required).

sort_pagesC

Sort pages alphabetically or by custom order.

Inputs: order, customOrder.

stack_for_mobileA

Convert horizontal layouts to vertical stacking for mobile.

Inputs: nodeId (required).

style_text_rangeB

Apply mixed styling within a text node. Style specific character ranges differently.

Inputs: nodeId (required), ranges (required).

suggest_color_paletteC

Generate a color palette from a single brand color.

Inputs: brandColor (required), mode.

suggest_improvementsC

AI-powered design improvement suggestions based on the design intelligence engine.

Inputs: nodeId (required).

suggest_type_scaleC

Generate a typography scale.

Inputs: baseSize, ratio.

swap_componentC

Swap one component instance for another.

Inputs: instanceId (required), newComponentId (required), preserveOverrides.

swap_modeA

Switch the active mode on a variable collection.

Inputs: collectionId (required), mode (required).

switch_pageB

Switch to a different page.

Inputs: pageId (required).

type_auditA

Find every unique text style in a page. Flag off-scale sizes, inconsistent weights, and orphaned styles.

Inputs: nodeId.

type_check_measureA

Check line length (45-75 chars optimal), line-height, and letter-spacing for readability.

Inputs: nodeId (required).

type_create_styleB

Create a local text style from a text node.

Inputs: nodeId (required), name (required).

type_list_stylesB

List all text styles with usage count.

Inputs: nodeId.

type_normalizeB

Normalize all text to the nearest type scale value. Fix off-scale sizes.

Inputs: nodeId (required), ratio.

type_pair_suggestB

Suggest font pairings based on currently loaded fonts.

Inputs: primaryFont.

type_replace_fontB

Replace one font family with another across all text nodes.

Inputs: find (required), replace (required), nodeId.

type_scale_applyA

Apply a type scale to all text in a frame. Maps headings, body, and caption sizes to the scale.

Inputs: nodeId (required), ratio, baseSize.

type_set_hierarchyC

Set heading levels with proper size, weight, and line-height ratios.

Inputs: nodeId (required), levels.

ungroup_nodesC

Ungroup a group node.

Inputs: nodeId (required).

update_variableC

Update a variable value.

Inputs: variableId (required), value (required), mode.

validate_componentC

Validate a component follows design system rules.

Inputs: nodeId (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.9/5.0

    Scored across 203 tools

    Disambiguation3/5

    Despite 203 tools, many have distinct purposes, but there is overlap between similar tools like 'batch_replace_color' and 'color_replace_global', or 'fix_spacing' and 'normalize_design'. The high volume increases the chance of an agent selecting a suboptimal tool.

    Naming Consistency4/5

    Naming follows a consistent verb_noun snake_case pattern (e.g., 'align_nodes', 'create_frame', 'batch_rename'). A few longer names exist (e.g., 'create_component_docs') but the pattern holds well overall.

    Tool Count1/5

    203 tools is far beyond typical server scope. While the domain is broad, this count is excessive and likely to overwhelm both agents and users. Most well-designed MCP servers have 3-15 tools.

    Completeness5/5

    The tool surface is exceptionally comprehensive, covering creation, manipulation, styling, components, variables, exports, accessibility, audits, and design intelligence. It covers nearly all common Figma operations.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server that connects AI clients to Figma, enabling real-time reading, creation, and modification of designs using natural language.
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      A comprehensive MCP server that enables Claude to read, create, edit, and generate code from Figma designs. Supports design tokens, code generation to multiple frameworks, and accessibility checks.
      100
      4
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      A design-intelligent MCP server for Figma with 201 tools across 17 categories, featuring built-in design rules like 8px grid, type scales, semantic colors, accessibility checks, and component defaults.
      203
      18 npm
      2
      MIT