Skip to main content
Glama

Mimic AI

Transforms HTML into Figma using only your design system, enforcing correct component usage and falling back safely when needed, while improving accuracy with every build.


npm version npm downloads CI License: MIT

Node.js: v20.6+ Platform: macOS / Windows Glama Install in VS Code Install in VS Code Insiders

Open-source MCP server. Runs entirely on your machine — no Mimic cloud, no third-party servers. The only network calls are to Figma's own API, with your own token.



Gated, not steered

AI writing into Figma isn't the hard part anymore; several tools do it now. The differences show up in what happens when the AI reaches for something your design system doesn't have. A tool that steers an agent toward your components can still land on a raw hex value, a raw pixel size, or a font your system doesn't use, and general guidance for that category of tool is that the result may need manual review and cleanup before it's usable. Mimic enforces at write time, inside the Figma plugin itself, not just in the prompt.

What the gate blocks

  • Raw hex/rgb fills where a DS color variable exists

  • Raw pixel font sizes where a DS text style exists

  • Fonts outside the design system

  • Variable category mismatches (e.g. a background token used as a stroke)

  • Primitive frames for elements the DS already has as components (buttons, badges, inputs, table cells, and more)

If the DS genuinely has no equivalent, Mimic says so in the build report instead of quietly leaving a raw value in place.

What the learning accumulates

  • Component recipes, replayed automatically once confirmed across builds

  • Majority-wins variant defaults, learned from your own usage patterns

  • Design rules you set once by correcting a build, enforced on every one after

  • No-good compilation: patterns tried and confirmed not to work, so they aren't retried

  • Staleness detection: flags a stored recipe the moment it stops matching your current DS

  • All scoped per design system library: nothing bleeds across unrelated files

Nothing else accumulates this across builds. A hand-authored Figma Agent Skill is static text; it doesn't learn from what you correct.

What the report proves Every build ends in a compliance-audited report: components used and their keys, primitives built and why, which stored rules were checked and whether they held, and where the DS still has coverage gaps. It's built to be shown to a stakeholder, not just read by the person who ran the build.


Related MCP server: Figma MCP

Why Mimic exists

You built a design system. Components, tokens, variables. Every decision intentional. Then someone needs a screen in Figma and starts from scratch. Hardcoded colors. Raw font sizes. Frames that break when you resize them. Your system sits right there in the library panel. Unused.

Mimic's output is the deliverable: real Figma layers with real component instances, variable bindings, and auto-layout. Nothing to convert. Nothing to swap. Hand it off.


It learns your system

The first build scans the design system. By the third, recurring components auto-verify. By the tenth, most decisions are instant. The knowledge compounds across every build.

Build

What Mimic knows

What you experience

1

Nothing. Cold start. Scans your entire DS.

"It found my components and used them. Some primitives where my DS has gaps."

5

Core patterns verified. Common components cached.

"It remembered that I use Button/Primary for CTAs. It didn't ask about tabs this time."

20

Deep knowledge. Recipes for every common component.

"I point it at an HTML and get a DS-compliant Figma screen in minutes. It knows my system better than the new hire."

50+

Comprehensive DS audit data. Recurring gaps visible.

"The gap report says I've used status badges as primitives 31 times. I finally built the component. Mimic started using it immediately."

Correct it once. Tell Mimic "That's not the right Badge, use Tag/Neutral." The mapping updates permanently. Every future build uses the correction without you having to repeat yourself.

Your DS evolves. Mimic keeps up. Component additions, removals, and variant changes are detected at the start of every build by comparing against what was cached last time — no manual re-sync. Deeper variable-level change detection (e.g. a renamed color token) is coming in a future release.

Every build is a DS review. After each build, Mimic generates a report: what components it used, what it built from primitives and why, what patterns it learned, and what your DS is missing. Recommendations come as questions, not commands: "Should your DS include a Status Badge? 4 elements across 3 builds were built as primitives."


How it works

Pick any starting point:

"Build a dashboard with three metric cards and an activity table"

"Here's the HTML from our staging environment, build it in Figma"

"Rebuild this Claude Design prototype with real components"

Mimic discovers the design system on your file, matches components and tokens, and builds structured Figma. Same rules, same output quality, regardless of how you start.


How Mimic compares

Mimic

Claude Design

Figma Make

Framelink

html.to.design

Output

Figma canvas (real layers)

HTML / React prototype

Interactive prototype

Read-only context

Figma canvas (paid)

Uses your components

Yes, real instances

No

Partial (Make Kits)

No (agent infers)

Partial

Variable bindings

Yes, every node

No

No (raw values)

No

No

Auto-layout

Every frame

N/A

N/A

N/A

Partial

Works with any library

Yes

No

Make Kits only

N/A

Limited

Learns across builds

Yes

No

No

No

No

DS gap detection

Yes, every build

No

No

No

No

Open source

Yes (MIT)

No

No

Yes (MIT)

No

Claude Design is great for ideation. Figma Make is great for interactive prototyping. Framelink is great for giving AI context about your designs. Mimic is for when the output needs to be the actual Figma file you ship with.


Who it's for

Mimic works with any Figma library: your team's, a community kit, or a client's published system.

  • Designers who want DS-compliant screens without manual component hunting

  • Design system leads testing their system by building real screens, surfacing coverage gaps with evidence

  • New team members learning a DS by building with it, seeing what components exist and what's missing

  • Agencies and freelancers picking up a client's library and needing to produce screens fast

  • DS migration teams rebuilding existing screens with a new system to assess coverage before committing

  • Developers who need a Figma reference that matches their frontend components

  • Product managers who want to mock up ideas using the DS without waiting for a designer


Get started

Requires: Node.js v20.6+ · the Figma desktop app (browser Figma isn't supported — download) · a Figma Professional plan or above (needed to publish and use team libraries).

1. Install

One-line installer:

bash <(curl -fsSL https://raw.githubusercontent.com/miapre/mimic-ai/main/install.sh)

This clones the repo to ~/mimic-ai, runs npm install, prompts for your Figma personal access token, and offers to register mimic-ai in Claude Code's settings.json automatically.

Manual install:

git clone https://github.com/miapre/mimic-ai.git
cd mimic-ai
npm install

Then set FIGMA_TOKEN in your MCP client's server config (or in ~/.mimic-ai.json — see "Figma setup details" further down for how to generate the token), and point your client's mimic-ai entry at the cloned mcp.js ({ "command": "node", "args": ["/path/to/mimic-ai/mcp.js"] }).

2. Add the Figma plugin

Plugins > Development > Import plugin from manifest > select ~/mimic-ai/plugin/manifest.json

3. Connect (each session)

Figma: Plugins > Development > Mimic AI > Run

The bridge starts automatically when you make your first tool call. No separate process to manage.

4. Enable your design system

Assets panel > Team library icon > toggle on. Once per file. Community libraries work out of the box.

5. Build

"Build a settings page with three form fields and a save button."

One call discovers the entire DS (variables, styles, components), preloads everything, and advances to build-ready. No multi-step setup.


What it learns and enforces

What it learns:

  • Component recipes: Configure a component once (variants, booleans, text slots), Mimic replays that configuration on every future insert. After 3 builds, the recipe is confirmed and auto-applied.

  • Layout patterns: Frame configs (direction, padding, gap, fills) captured from the first build and reused when the same pattern appears.

  • Design rules: Correct Mimic once ("brand color is only for links", "cards must have a card header component"), it saves the rule and enforces it on every future build.

  • DS gaps: Patterns built as primitives are tracked across builds. Mimic surfaces recommendations backed by evidence ("Status Badge used 31 times as primitives across 5 builds").

How it enforces:

  • Variable categories. Uses bg-* for a stroke? Mimic warns and suggests border-. Uses bg- as text color? Warns and suggests text-*.

  • Component-first from experience. If Mimic has used a Badge component in 3+ builds and you try to build one as a raw frame, it blocks with the component key and says "use this instead."

  • Rule compliance. Every build report audits stored rules against what was built. Violations are listed with evidence.

  • Chart color semantics. Brand, Success, Warning, and Error colors are excluded from chart palettes. Only neutral utility colors suggested for data visualization.

Efficiency features:

  • Text batch: All text overrides on a component instance set in a single call

  • Bulk table builder: An entire data table (headers, cells, variants, text) in one call

  • Bulk chart builder: Bar, line, donut, and radar charts in one call with DS color bindings


What gets checked automatically

Every build enforces 19 quality rules across 6 sequential phases.

  • Text uses DS text styles, not raw font properties

  • Colors bound to DS variables, not hardcoded

  • Variable categories enforced: text-* for text, bg-* for fills, border-* for strokes

  • Semantic colors (Brand, Success, Warning, Error) restricted to their intended use

  • Spacing and radius bound to DS tokens where available

  • Every frame uses auto-layout

  • Content matches the source exactly, character for character

  • DS components used wherever a match exists, including learned components from prior builds

  • Components fully configured: text overrides, variants, icon slots

  • User-defined design rules enforced at point of use and audited in the build report

  • Build report with component usage %, binding quality, rule compliance, and DS gap recommendations

Full specification: CLAUDE.md


Works with any design system

Design system type

What Mimic does

Team library (components + tokens)

Full usage: components, variables, text styles

Team library (components only)

Uses components, flags missing tokens, recommends adding them

Community libraries (public kits from Figma Community)

Full support including variable and component discovery

Enforcement adapts to what the DS provides. A library with text styles but no color variables enforces text styles and accepts raw colors. The build report shows what's missing and what adding it would unlock.


MCP client setup

Works with any MCP client. Optimized for Claude Code. Setup for Claude Code, Cursor, Codex CLI, and Gemini CLI (plus the general stdio-host case) is also in docs/HOSTS.md.

{
  "mcpServers": {
    "mimic-ai": {
      "command": "npx",
      "args": ["-y", "@miapre/mimic-ai"]
    }
  }
}

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "mimic-ai": {
      "command": "npx",
      "args": ["-y", "@miapre/mimic-ai"]
    }
  }
}

Click the install badge above, or add to settings:

{
  "mcp": {
    "servers": {
      "mimic-ai": {
        "command": "npx",
        "args": ["-y", "@miapre/mimic-ai"]
        }
    }
  }
}

Windsurf: ~/.codeium/windsurf/mcp_config.json JetBrains: Settings > Tools > AI Assistant > MCP Servers

{
  "mcpServers": {
    "mimic-ai": {
      "command": "npx",
      "args": ["-y", "@miapre/mimic-ai"]
    }
  }
}

All clients need the Figma plugin active. The bridge is embedded and starts automatically.


MCP Client (Claude Code, Cursor, VS Code)
    |
    | MCP Protocol (stdio)
    v
MCP Server (intelligence layer)
    - Tool registry, DS cache, knowledge store
    - Variable validation + suggestions before plugin
    - Circuit breaker (3 failures -> stop + report)
    - Chart geometry engine (Node.js)
    - Phase enforcement (6 sequential phases)
    |
    | Embedded WebSocket bridge (auto-starts)
    v
Figma Plugin (enforcement gate)
    - DS enforcement: rejects raw values when DS has tokens
    - Binding feedback: reports which bindings succeeded/failed
    - Thin handlers: mechanical operations only
    |
    v
Figma Plugin API > Canvas

Intelligence flows down. Binding feedback flows up. The MCP layer validates variable paths before reaching the plugin. The plugin reports exactly which DS bindings succeeded and which failed. Tool responses carry contextual hints so the LLM always knows what to do next.

  • Building is unlimited. Frames, components, and token bindings have no rate limit.

  • Inspecting is limited. Reading the library uses Figma's daily quota. Mimic caches aggressively to stay well under.

  • Token bindings are real. Update a variable in the DS, re-publish, and every node updates automatically.

  • Auto-layout everywhere. Every frame resizes correctly. Nothing is manually positioned.

A lean, consolidated surface (v3.0.0) — every tool carries MCP annotations (readOnlyHint, destructiveHint, idempotentHint) and the key workflow tools return structured output (outputSchema).

Status and learning: mimic_status, mimic_discover_ds, mimic_ai_knowledge_read, mimic_ai_knowledge_write, mimic_generate_build_report

DS setup: mimic_ds_assets (discover / preload / set_defaults), figma_list_ds (text styles / fill styles / variables), mimic_map_components

Build: figma_create_frame, figma_create_text, figma_create_shape (rectangle / ellipse), figma_create_svg, figma_insert_component, mimic_build_table, mimic_build_chart

Components: figma_component_text (single or batch overrides), figma_set_variant, figma_swap_main_component (swap / replace), figma_manage_slot (fill / reset)

Edit: figma_update_node (text, text_style, fill, layout, visibility, position, restyle, move, select, page), figma_variable_modes, figma_delete_node

Inspect and QA: figma_inspect (node, children, parent, text, pages, page, selection, variants, section), figma_validate_ds_compliance

Rendering and charts: mimic_pipeline_resolve, mimic_compute_chart

Desktop app required. Browser Figma won't work. Download

Personal Access Token. Figma > Profile > Settings > Security > Personal access tokens > Generate new token. Name: "Mimic AI", expiration: 90 days. Check five scopes: current_user:read, file_content:read, file_metadata:read, library_assets:read, library_content:read. All read-only. Mimic never writes to your library. Copy the token immediately.

Publish your DS. Components and tokens in a separate file, published as a team library. Re-publish after changes.

Professional plan or above. Free plan can't publish libraries.


FAQ

No. Mimic is free and MIT-licensed. The only requirements are your own Figma plan (Professional or above, to publish and use team libraries) and a read-only Figma personal access token. Note that Figma's own official MCP server and Design Agent are usage-metered as part of Figma's paid plans; Mimic isn't, it's a separate open-source project with no usage limits of its own.

Not yet. Today, each machine builds its own knowledge store scoped per design system library. Knowledge export/import between teammates is planned but not shipped. The store format (ds-knowledge.json) is a shareable JSON file, so a manual copy already works if you want to seed a teammate's setup.

Five read-only scopes: current_user:read, file_content:read, file_metadata:read, library_assets:read, library_content:read. There is no write scope in that list, so Mimic cannot use this token to modify any Figma file. All writes happen through the Figma plugin's own editor session, not the REST API.

Yes. Mimic discovers components and variables from any library enabled in your Figma file, including community-published libraries.

No. Everything runs locally. The only outbound call is to the Figma REST API for published component keys (read-only). No telemetry, no tracking.

Any MCP client works. The 6-phase protocol and contextual tool hints are optimized for Claude Code. Cursor, VS Code, Windsurf, and JetBrains get the full toolset but may not follow the protocol as closely.

Screenshot tools capture pixels, not structure. The result is a flat image you can't iterate on. Mimic reads semantic HTML and produces structured, layered Figma with real components, variable bindings, and auto-layout.

Mimic detects component and variant changes at the start of every build by comparing against what was cached from your last session. New components surface automatically. Removed components fall back gracefully with an explanation in the build report. Variable-level changes (e.g. a renamed color token) aren't detected yet — that's coming in a future release.

Yes, but with limited enforcement. Without published components, Mimic builds with primitives and raw values. Without tokens, it accepts hardcoded colors. The build report shows exactly what's missing and what adding it would unlock.


Privacy

Everything runs locally.

No design data leaves your machine. No telemetry. No tracking.

The only outbound call is to the Figma REST API for published component keys.


Constraints

  • Figma Professional plan required. Free plan can't publish libraries.

  • First-build font caching. Non-Inter DS fonts may fail on the first text node. Retry succeeds.

  • npx mode. Doesn't set FIGMA_ACCESS_TOKEN. Use the full installer for team library support.

  • Graduated DS enforcement. Adapts to what the DS provides. A component-only library gets components; raw values fill the gaps. The report shows what to add.

  • Claude-optimized. The 6-phase protocol and contextual tool hints work best with Claude Code. Other MCP clients get the tools but may not follow the full protocol.


Contributing

Issues and PRs welcome. See the issue tracker and CONTRIBUTING.md for dev setup and PR expectations. Found a security issue? See SECURITY.md instead of opening a public issue.


License

MIT

Available Tools

18 tools
figma_component_textA
Idempotent

Overrides text on a component instance in one call — pass an overrides array (a single override is just a one-item array). Each override sets one text node via textNodeName (matches by name — use for most cases) or textNodeId (exact match — use when configurationHints.textNodes gave you IDs, e.g. components with repeated node names). Use after figma_insert_component; configurationHints.textNodes lists every node that needs overriding. Saves N-1 tool calls vs. one call per node. Requires Phase 2.

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

figma_create_frameA

Creates an auto-layout container frame (layout primitive) — the fallback when NO DS component exists for a section or layout. Every fill/padding/gap/radius binds to DS variables; component-like names are gated (pass confirmedNoComponent + primitiveOverrideReason for confirmed gaps). Name frames after their HTML role ("Header Section", "Card: Revenue"). Key params: parentId (omit for page-level artboard), direction, layoutSizing*, *Variable bindings, GRID mode. Check mimic_map_components FIRST. Phase 2+.

Inputs: name (required), x, y, gap, +41 more.

figma_create_svgA

Creates a node from an SVG string in Figma. Useful for icons and custom graphics. Returns unboundChildren — a list of child nodes that need DS variable bindings. You MUST apply figma_update_node (op: "fill") to every unbound vector and figma_update_node (op: "text_style" then op: "fill") to every unbound text. Leaving unbound children breaks DS compliance and light/dark mode.

Inputs: parentId (required), svgString (required), name, fillVariable, +3 more.

figma_create_textA

Creates a standalone text node bound to a DS text style (textStyleId — accepts style name or key) and DS color variable (fillVariable) — both are mandatory when the DS has them. Use for text OUTSIDE components; text inside a component instance uses figma_component_text instead. Strips hardcoded line breaks (container width controls wrapping). Name nodes after their HTML role ("Page Title", "Card: Revenue Label"). Params: parentId + content required. Phase 2+.

Inputs: content (required), parentId (required), name, width, +8 more.

figma_delete_nodeA
Destructive

Deletes a node from the Figma document. NEVER deletes artboards (top-level frames) — only child nodes within an artboard. To rebuild a screen, create a NEW artboard alongside the existing one. Destructive and irreversible via the API — verify the nodeId with figma_inspect first if unsure.

Inputs: nodeId (required).

figma_inspectA
Read-onlyIdempotent

Reads Figma document state — node properties, children, parent, text detail, pages, top-level page nodes, selection, component variants, or a build-manifest section lookup. Read-only, never blocked by phase gates. Use to verify state before/after edits, discover node IDs, or check what a component set supports. Params: target (required: "node"|"children"|"parent"|"text"|"pages"|"page"|"selection"|"variants"|"section") selects the read; nodeId (node/children/parent/text), depth (children, default 1), componentSetKey (variants), sectionName (section — HTML section name from the last build).

Inputs: target (required), depth, nodeId, sectionName, +1 more.

figma_list_dsA
Read-onlyIdempotent

Lists cached DS assets from the local cache — text styles, fill (color) styles, or variables. Use to browse what mimic_discover_ds already cached before binding: find a textStyleId for figma_create_text, a fillStyleId for figma_create_shape, or a variable path for figma_update_node. Params: kind ("text_styles"|"fill_styles"|"variables", required), filter (keyword, fill_styles only), category (text|background|border|foreground|spacing|radius, variables only). Read-only.

Inputs: kind (required), filter, category.

figma_manage_slotA

Fills or resets a SLOT-type component property on an existing instance (Figma Slots, GA June 2026). action="fill" inserts a DS component instance into the slot (use configurationHints.slotProperties from figma_insert_component to find slotName). action="reset" restores the slot's default content. Params: nodeId (required), slotName (required), action ("fill"|"reset", default "fill"), componentKey (required for action="fill"). Requires Phase 2. Slot fills are recorded for build-report visibility only — never auto-replayed.

Inputs: nodeId (required), slotName (required), action, componentKey.

figma_update_nodeA

Mutates an existing Figma node or the editor's UI focus, dispatched by op. Ops: "text" (set text content), "text_style" (apply DS text style), "fill" (fillStyleId/fillVariable/raw fill), "layout" (sizing, padding, gap, alignment), "visibility" (show/hide), "position" (absolute x/y), "restyle" (artboard/frame fill+radius+stroke+padding+gap in one call), "move" (reparent via parentId+index), "select" (select+scroll into view), "page" (switch page by name/id). All ops except "select"/"page" require Phase 2 (DS discovered) and validate any *Variable path against the cached DS before sending. Use figma_delete_node (separate, destructive tool) to remove a node instead.

Inputs: op (required), x, y, fill, +26 more.

figma_validate_ds_complianceA
Read-onlyIdempotent

Recursively checks a node (and its children) against the current DS enforcement profile — flags hardcoded colors/fonts instead of variables/styles, missing text style bindings, and other DS violations. Use during Phase 3/4 QA, especially at the 20-op build checkpoint, before generating the report. Params: nodeId (required, typically the artboard root).

Inputs: nodeId (required). Returns: summary, violations

figma_variable_modesA
Idempotent

Sets the variable mode (e.g. light/dark) on a node — required on every new artboard, or DS variables render as black. By default sets the mode on ALL variable collections at once (pass modeIndex only). Pass collectionName to target a single collection instead. Params: nodeId (required, typically the artboard), modeIndex (required, 0=default/light, 1=dark), collectionName (optional). Requires Phase 2.

Inputs: nodeId (required), modeIndex (required), collectionName.

mimic_ai_knowledge_readA
Read-onlyIdempotent

Loads the knowledge store: learned component recipes, layout/pattern data, DS gaps, user-defined rules, and meta stats (build counts, replay savings). Call at the start of a session to see what Mimic has already learned about this DS. Params: format ("json" default — structured data; "design_md" — renders the current DS + recipes as a DESIGN.md-style markdown string for documentation/handoff).

Inputs: format.

mimic_ai_knowledge_writeA
Idempotent

Saves a component recipe, layout pattern, DS gap, or user-defined design rule to the persistent knowledge store — the mechanism that lets Mimic learn across builds. Use "rule" when the user corrects build behavior in a generalizable way (e.g. "cards always have a header + content frame"); other types are usually written automatically by the build pipeline. Params: type ("component"|"pattern"|"gap"|"rule", required), id (unique key, required), data (entry payload, required).

Inputs: id (required), data (required), type (required).

mimic_build_chartA

Bulk chart builder — creates an entire chart in ONE call: container, visualization (native rectangles or stroke-free SVG), axis labels, grid lines, and legend, all bound to DS variables and text styles. Use for ANY HTML chart instead of hand-building; reduces 30-50 tool calls to 1. chartType: bar, line, donut, radar. Key params: parentId, chartType, title, data, dimensions, colors (neutral DS data palette — never Brand/Success/Warning/Error). Use mimic_compute_chart for geometry-only. Phase 2+.

Inputs: data (required), title (required), parentId (required), chartType (required), +8 more.

mimic_build_tableA

Bulk table builder — creates an entire data table in ONE call: column frames, DS Table header cell + Table cell components, variants (cellVariants for per-value badge colors), text, and consistent row height. Use for ANY HTML data table instead of cell-by-cell insertion; reduces 200+ tool calls to 1. Requires table cell components in the DS (returns creation guidance if missing). Key params: parentId, columns (header/style/cellVariants), rows ("text|supporting" syntax), cellHeight. Phase 2+.

Inputs: rows (required), columns (required), parentId (required), cellHeight, +5 more.

mimic_discover_dsA

Complete DS discovery in two steps. Step 1: call with fileKey — discovers variables, text styles, components via plugin API, caches everything, stays at Phase 1. Step 2: call again with communitySearchResults (library names from Figma MCP search_design_system) — verifies no community libraries were missed, then advances to Phase 2 (build-ready). Build tools are BLOCKED until Step 2 completes. If a community library's variables are not discoverable via the plugin API (communityVariablesRequired response), fetch them via Figma MCP search_design_system and pass as externalVariables.

Inputs: fileKey (required), libraryKey, skipRestApi, libraryFileKey, +4 more. Returns: hint, phase, _stopBuild, phaseLabel, +4 more

mimic_map_componentsA

Maps HTML element types (button, input, badge, table, tab, avatar, dropdown, textarea, header, footer, sidebar, ...) to DS component keys for the current build. Call once after mimic_discover_ds with all section-level + control element types. With FIGMA_TOKEN configured, one call is enough — all library components are pre-cached and missing types are confirmed gaps. Without a token, call again with librarySearchResults (from Figma MCP search_design_system) to close the loop. Workflow position: Phase 1-2, right after DS discovery, before figma_insert_component.

Inputs: elementTypes (required), librarySearchResults. Returns: hint, mapped, missing, notFound, +3 more

mimic_statusA
Read-onlyIdempotent

START EVERY SESSION HERE. Returns Figma plugin connection status, the current build phase (0=idle through 5=report), enforcement profile, cached DS counts, knowledge store summary (learned components/patterns/gaps/rules), and a contextual hint telling you exactly what to call next. Also clears build-interrupt state after a plugin reconnect and warns if a completed build is missing its mandatory report. No params — call with no arguments.

Inputs: no named parameters. Returns: hint, phase, dsCache, cacheHits, +4 more

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 18 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose, from reading state to creating and modifying various Figma elements. The descriptions are detailed and prevent ambiguity even among similar operations like creating text vs. overriding component text.

    Naming Consistency5/5

    Tool names follow a consistent verb_noun pattern with snake_case, using 'figma_' prefix for Figma operations and 'mimic_' for server-specific actions. This makes it easy to predict and select the right tool.

    Tool Count5/5

    With 18 tools, the set covers a broad domain (Figma DS integration, building, knowledge management) without being excessive. Each tool serves a specific function, and the count feels justified by the server's scope.

    Completeness3/5

    The tool set covers discovery, creation, update, deletion, and validation, but a critical gap exists: the described workflow references 'figma_insert_component' which is not included. This missing tool breaks the expected CRUD lifecycle for components, a fundamental operation for this server's purpose.

    Maintenance

    ActivitySlowing
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      An MCP server integration that enables Cursor AI to communicate with Figma, allowing users to read designs and modify them programmatically through natural language commands.
      19
      1,119 npm
      7,094
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables interaction with Figma files through intelligent API access, providing navigation, asset extraction, and design token retrieval with 95% token-optimized compact tree output format.
      15
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Converts Figma designs to React/Vue code using existing Design System components, ensuring consistency by enforcing component library usage instead of custom CSS or Tailwind.
      27 npm
      1
      MIT
    • F
      license
      A
      quality
      C
      maintenance
      Provides access to Appian's Aurora design system documentation via GitHub, enabling LLMs to query components, layouts, and patterns. It supports both public and internal repositories with features for keyword searching and detailed component guidance.
      7
      13
      -