Design-system management for frontier AI models

Keep Figma and code on the same design system.

Figma Console MCP gives your AI the tools to run a design system across Figma and code. It audits the system and checks components against their code with results that score the same way every time, syncs Figma and code in both directions, writes fixes into your files, and documents what's there, so the code it writes follows your own stack.

  • Open source, MIT
  • Any Figma plan
  • Any MCP client
You

Get the Button component ready for the 3.0 release.

  1. figma_audit_design_system_reportSystem health 84/100 across six categories
  2. figma_check_design_parityParity with the React component 85/100: 1 major, 2 minor, 1 info
  3. figma_audit_component_accessibilityNo focus variant, and 2 text colors below 4.5:1
  4. figma_set_descriptionWrote descriptions to 3 variants in Figma
  5. figma_generate_component_docButton.md with tokens per variant, pinned to commit 3f2a91c
Example session. One request, five tools from four jobs, and every result is something you can check.

What it does

Four jobs for teams that maintain a design system in Figma and ship it in code. Every tool is built for managing design systems at scale.

  • Deterministic checks

    Repeatable scores, not vibes.

    Checks run as code against your Figma file and your source, so the same input gives the same result. Compare a component's design to its implementation, audit accessibility on both sides, and measure design-system hygiene.

    Because the output doesn't drift between runs, you can use it as a review gate or track a component over time.

    • Design-code parityfigma_check_design_parity
    • Accessibilityfigma_lint_design
      figma_audit_component_accessibility
      figma_scan_code_accessibility
    • Design-system hygienefigma_audit_design_system_report
      figma_ds_verify
  • Bidirectional

    Figma to code, and code back to Figma.

    Move the system in both directions. Give code the full spec of any component, sync variables and tokens in 10 formats with their Figma IDs intact, and bring changes made in code back into Figma.

    Starting from code instead? Extract the design system from a production codebase and push it into Figma.

    Tools

    • figma_get_component_for_development
    • figma_export_tokens / figma_import_tokens
    • figma_ds_extract_tokens
  • Writes to Figma

    Changes land in the file, not in a chat reply.

    Create and edit variables and collections, components and component sets with variants, slots, and annotations. Animate layers with Figma Motion, with easing and duration bound to your motion tokens, and export the result as video. Apply shaders, set auto layout and grid layout, and use OKLCH and Display P3 colors. Build FigJam boards and Slides decks.

    When no structured tool fits, run Plugin API code directly, in one file or across several open files at once.

    Tools

    • figma_batch_create_variables
    • figma_create_component_set
    • figma_create_slot
    • figma_apply_animation
    • figma_set_layout
    • figma_set_annotations
    • figma_execute_across_files
  • Unbiased code

    Facts about the design, not opinions about your code.

    Your AI gets structured, verifiable data: exact tokens, variants, variable bindings, and states, plus component docs generated from the file and pinned to a commit.

    It isn't handed a framework or a house style, so the code it writes follows your team's stack and conventions.

    Tools

    • figma_get_component_for_development_deep
    • figma_analyze_component_set
    • figma_generate_component_doc

See it work

Example output from four of the tools. Each result is structured data your AI can act on and you can review.

Design-system health

Score the whole system, then fix what it finds

One call scores naming, token architecture, component metadata, accessibility, consistency, and coverage, using the same rules every run. Each finding says how to fix it, and which ones the MCP can fix for you.

figma_audit_design_system_report

Design-system healthExample file

84/100

  • Naming & Semantics88
  • Token Architecture91
  • Component Metadata72
  • Accessibility79
  • Consistency86
  • Coverage88

Top finding: 18 components have no description. figma_set_description can add them.

Design-code parity

Check a component against its code

Compare a Figma component with its implementation, property by property: color, spacing, typography, tokens, the component API, and accessibility. You get a score and a fix list, not an opinion.

figma_check_design_parity

Button / PrimaryFigma vs. React

Parity 85/100. 1 major, 2 minor, 1 info.

SeverityPropertyFigmaCode
majorbackgroundColor#0F766E#0E7490
minorborderRadius8px6px
minorfontWeight600500
infoprop:iconPositiondefinedmissing

Component documentation

Docs generated from the file and the code

Anatomy, the tokens each variant uses, spacing and typography across sizes, annotations, and a parity section, written as markdown and linked to the commit it describes. Add a changelog from Figma version history and git.

figma_generate_component_doc

Button.mdGenerated
# Button
Source: src/components/Button.tsx @ 3f2a91c

## Color Tokens
| Variant   | Background            | Text               |
|-----------|-----------------------|--------------------|
| Primary   | color/brand/primary   | color/text/inverse |
| Secondary | color/surface/raised  | color/text/default |
| Danger    | color/feedback/danger | color/text/inverse |

## Spacing
Padding varies by Size: sm 12 / 6, md 16 / 8, lg 20 / 12.
All values are bound to space/* tokens.

Two-way token sync

Round-trip tokens without creating duplicates

Export variables to DTCG, CSS, Tailwind, SCSS, TypeScript, JSON, Style Dictionary, or Tokens Studio. Each token keeps its Figma variable ID, so importing an edit updates the variable you meant.

figma_export_tokens / figma_import_tokens

Figma variableBrand collection
color/brand/primary
Light#0F766E
Dark#2DD4BF

ID VariableID:12:48

tokens.jsonDTCG
{
  "color": { "brand": {
    "primary": {
      "$type": "color",
      "$value": "#0F766E",
      "$extensions": {
        "figma-console-mcp": {
          "variableId": "VariableID:12:48",
          "modes": { "Dark": "#2DD4BF" }
        }
      }
    }
  } }
}
Example: the token keeps its Figma variable ID. Edit the value in code, import it, and the same variable updates in Figma instead of a duplicate being created.

Ask in plain language

Each request maps to a named tool, so you can see exactly what ran.

  • How healthy is our design system, and what should we fix first?Runs figma_audit_design_system_report
  • Audit the Button component set for accessibility and give me a score.Runs figma_audit_component_accessibility
  • Check this component's parity against my React code.Runs figma_check_design_parity
  • What changed in the Card component since the last release?Runs figma_get_changes_since_version
  • Build a Badge component set with size and tone variants.Runs figma_create_component_set
  • Export my variables as Tailwind v4 and keep Figma IDs for round-trip.Runs figma_export_tokens

Three ways to run it

Pick the mode that matches your AI client. The setup guide walks through each one.

Local

130+tools

Everything, including writes, checks, and design-system extraction. Runs with npx next to Figma Desktop and the Desktop Bridge plugin.

Cloud

105tools

For web AI clients such as Claude.ai. Pair the Desktop Bridge plugin with a code and keep write access.

Remote

0installs

Read-only access to a file over a hosted URL. Pair the plugin later to add writes.

Set it up

The setup guide helps you choose a mode, connect your AI client, and run your first request against a Figma file.

Read the announcement

AI-Powered Design System Management with Figma Console MCP

Read article