
Figma Console MCP Server: Setup for Claude, Cursor and Other Apps
Not the official Figma MCP server. This one is built by the community. Figma makes its own: Figma MCP Server →
Lets Claude, Cursor and Codex read and edit your Figma files, variables, components, FigJam boards and slides.
Figma Console is a community server from Southleft, not made by Figma. It connects your assistant to Figma Desktop through a small plugin you import once, so it can read your design system and also create and change layers, variables and components. You need a Figma personal access token for the setup in the install box.
The README lists about 130 tools, so the list here shows the main ones only. It can delete layers, variables and comments, and run any Figma plugin code, so work on a copy of important files.
Good for
- Design system teams who want tokens and components in Figma kept in sync with code
- Designers who want an assistant to build frames, components and variants directly in Figma
- Front-end developers who want to check a Figma component against its code
- Anyone who needs accessibility and design-system health checks on a Figma file
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install figma-console MCP
Claude Code
- 1
Copy this prompt.
Add the figma-console MCP server to Claude Code. Run this command: claude mcp add figma-console -e FIGMA_ACCESS_TOKEN=<FIGMA_ACCESS_TOKEN> -- npx -y figma-console-mcp Ask me for FIGMA_ACCESS_TOKEN and only put the values in that config, nowhere else. Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
Read-only mode: No read-only mode is documented. Create the Figma token with read scopes only: the REST tools then stay read-only, but the Desktop Bridge plugin can still edit your open file.
Install it with the command above, create a Figma personal access token and put it in FIGMA_ACCESS_TOKEN. Then open Figma Desktop and import the Desktop Bridge plugin from ~/.figma-console-mcp/plugin/manifest.json (Plugins, Development, Import plugin from manifest). Run the plugin in your file, restart your app, and ask it to "Check Figma status". The README also describes a hosted read-only option and a Cloud Mode for web assistants such as Claude.ai, which are not covered by this config.
Built from the package data we hold. Not yet tested by us.
Tools
Checks that the assistant is connected to Figma
Reports whether the Desktop Bridge plugin is connected and which file is open. Run it first when something does not work.
Try: “Check Figma status.”
Read ·
figma_get_statusRuns a health check and tells you how to fix setup
Runs a designer-readable health check of the connection and gives setup guidance.
Try: “Why can't you reach my Figma file?”
Read ·
figma_diagnosePulls tokens, components and styles of a file in one go
Returns the whole design system of a file in one call: tokens, components, styles and visual specs.
Try: “Extract the full design system from this Figma file.”
Network ·
figma_get_design_system_kitReads the design tokens (variables) in a file
Extracts the variables and tokens defined in a Figma file.
Try: “List every color variable in this file with its light and dark values.”
Network ·
figma_get_variablesReads color, text and effect styles
Returns the color, text and effect styles of a file.
Try: “What text styles does this file define?”
Network ·
figma_get_stylesReads the structure of a Figma file
Returns the full structure of a file, such as its pages and layers.
Try: “Give me an outline of the pages and frames in this file.”
Network ·
figma_get_file_dataReads one component's data
Returns metadata or a rebuild spec for a component.
Try: “Show me the properties of the Button component.”
Network ·
figma_get_componentTakes a picture of a page or a layer
Exports an image of a page or node so the assistant can look at it.
Try: “Take a screenshot of the Login frame.”
Read ·
figma_take_screenshotTells you what is selected in Figma right now
Returns the nodes currently selected in Figma. Local mode only.
Try: “What do I have selected?”
Read ·
figma_get_selectionScores your design system across six areas
Runs a scored audit of naming, tokens, metadata, accessibility, consistency and coverage, with fix guidance for each finding.
Try: “Audit this design system and list the biggest problems.”
Read ·
figma_audit_design_system_reportCompares a Figma component with its code
Compares a component's Figma spec with your code and returns a scored diff with fix items.
Try: “Does the Card component in Figma match src/components/Card.tsx?”
Files ·
figma_check_design_parityWrites markdown docs for a component
Merges Figma data with code-side information into markdown documentation. It can add a changelog from Figma versions and git history.
Try: “Generate docs for the Tabs component, including its history.”
Files ·
figma_generate_component_docChecks the design against accessibility rules
Runs WCAG and design-system checks on the canvas and tags them by level.
Try: “Lint this page for accessibility problems.”
Read ·
figma_lint_designScores a component's accessibility
Returns a scorecard covering state coverage, focus indicators and color-blind simulation.
Try: “Run an accessibility scorecard on the Input component.”
Read ·
figma_audit_component_accessibilityScans HTML for accessibility problems
Runs an axe-core scan on HTML you give it.
Try: “Scan this HTML snippet for accessibility issues.”
Read ·
figma_scan_code_accessibilityRuns any Figma plugin code to build or change designs
Runs Figma Plugin API code against your open file. It is the general-purpose tool for creating frames, shapes, text and components, and it can change or delete anything the code touches.
Try: “Create a pricing card with a title, three bullet points and a button.”
Delete ·
figma_executeRuns the same script in several open Figma files
Runs one script in many connected files at once and returns a result per file. You must name the files or pass all of them. Local mode only.
Try: “Rename the Primary color variable in all my open library files.”
Delete ·
figma_execute_across_filesBuilds a component with every variant combination
Generates all variants from an axes matrix, such as state by size, off a base component.
Try: “Make a Button set with states default, hover, disabled and sizes sm, lg.”
Write ·
figma_create_component_setPlaces a component into your design
Places an instance of a component and lets you set its properties.
Try: “Add three Button instances to the Hero frame.”
Write ·
figma_instantiate_componentSets auto layout or grid layout
Sets direction, gaps, padding, alignment and grid tracks in one call.
Try: “Make this frame a vertical auto layout with 16px gaps.”
Write ·
figma_set_layoutChanges the text in a layer
Edits the text content of a text layer.
Try: “Change the heading text to "Welcome back".”
Write ·
figma_set_textChanges fill colors, including variable bindings
Sets fills on a layer, with support for binding to variables and CSS color formats.
Try: “Fill the card with the surface color variable.”
Write ·
figma_set_fillsDeletes a layer
Removes a node from the file.
Try: “Delete the empty frame named "Untitled".”
Delete ·
figma_delete_nodeCreates a collection of variables with modes
Creates a new variable collection, optionally with modes such as Light and Dark.
Try: “Create a Colors collection with Light and Dark modes.”
Write ·
figma_create_variable_collectionCreates a color, number, text or boolean variable
Creates one variable in a collection.
Try: “Add a color variable brand/primary set to #0B5FFF.”
Write ·
figma_create_variableChanges a variable's value in a mode
Updates a variable value in a given mode.
Try: “Set brand/primary to #0A4FD6 in dark mode.”
Write ·
figma_update_variableCreates up to 100 variables at once
Creates many variables in one call, which the README says is much faster than one by one.
Try: “Create these 40 spacing variables from the list.”
Write ·
figma_batch_create_variablesSets up a full token system in one step
Creates a collection, modes and variables together. Values can reference other tokens.
Try: “Set up color tokens with light and dark modes from this palette.”
Write ·
figma_setup_design_tokensDeletes a variable
Deletes a variable from a collection.
Try: “Delete the unused variable spacing/legacy.”
Delete ·
figma_delete_variableDeletes a collection and all its variables
Deletes a whole collection together with every variable in it.
Try: “Delete the Old Colors collection.”
Delete ·
figma_delete_variable_collectionExports variables as token files for your codebase
Writes variables out as DTCG JSON, CSS, Tailwind, SCSS, TypeScript, Style Dictionary and other formats. It merges into existing files.
Try: “Export my Figma variables as Tailwind v4 CSS into tokens/.”
Write ·
figma_export_tokensPushes token changes from code back to Figma
Compares token files with Figma and applies creates, renames, alias changes and value updates. With the replace strategy it also deletes variables missing from the files.
Try: “Sync tokens.json back into my Figma variables.”
Delete ·
figma_import_tokensLists a file's version history
Lists saved versions of a Figma file.
Try: “Show the last 10 versions of this file.”
Network ·
figma_get_file_versionsShows what changed between two versions
Returns a structured diff, including component property and variable binding changes.
Try: “What changed in the Button component since last week?”
Network ·
figma_diff_versionsFinds when and by whom something was added
Finds when, and by whom, a property or variant was introduced.
Try: “Who added the Danger variant to Button?”
Network ·
figma_blame_nodeReads comments on a file
Returns file comments, optionally for one node.
Try: “Summarize the open comments on this file.”
Network ·
figma_get_commentsPosts a comment on a file
Posts a comment, optionally pinned to a node.
Try: “Comment on the checkout frame that the button contrast is low.”
Write ·
figma_post_commentDeletes a comment
Deletes a comment from a file.
Try: “Delete my comment about the old logo.”
Delete ·
figma_delete_commentLists variables from subscribed team libraries
Lists every variable from team libraries the file uses. The README says it works on every Figma plan.
Try: “List the variables from our brand library.”
Read ·
figma_get_library_variablesAdds a sticky note to a FigJam board
Creates a sticky note with a color of your choice.
Try: “Add a yellow sticky "Launch checklist" to the board.”
Write ·
figjam_create_stickyAdds up to 200 sticky notes at once
Creates many sticky notes in one call.
Try: “Put each of these 20 survey answers on its own sticky.”
Write ·
figjam_create_stickiesAdds a table to a FigJam board
Creates a table filled with the data you give it.
Try: “Create a table with feature and owner columns.”
Write ·
figjam_create_tableReads everything on a FigJam board
Returns all content on a FigJam board.
Try: “Summarize the board from the retro.”
Read ·
figjam_get_board_contentsLists the slides in a deck
Lists all slides with IDs, positions and skip status.
Try: “List my slides.”
Read ·
figma_list_slidesAdds a blank slide
Creates a new blank slide.
Try: “Add a new slide after slide 3.”
Write ·
figma_create_slideAdds text to a slide
Adds text with fonts, colors, alignment and wrapping.
Try: “Add a title "Q4 results" to slide 2.”
Write ·
figma_add_text_to_slideDeletes a slide
Removes a slide from the deck.
Try: “Delete slide 5.”
Delete ·
figma_delete_slideAnimates a layer
Applies a Figma motion preset, custom animation or keyframes to a layer. It is a beta Figma feature.
Try: “Fade in the hero title over 0.4 seconds.”
Write ·
figma_apply_animationScans your app code for components and styling
Scans one or more codebases and returns a ranked component inventory and styling details. Local mode only; it reads your files.
Try: “Analyze ./apps/web for components and styling patterns.”
Files ·
figma_ds_analyzeTurns your app's styling into design tokens
Mines CSS variables, SCSS, Tailwind config and class usage into token files. Local mode only.
Try: “Extract design tokens from ./apps/web.”
Write ·
figma_ds_extract_tokensCreates a design-system package from extracted tokens
Generates a package with token files, docs pages and a README. Local mode only; it writes files.
Try: “Scaffold a design system package from the extracted tokens.”
Write ·
figma_ds_scaffold
Read from the source code
Permissions
high risk · 5 things to watch
High risk
The assistant can run plugin code in your open Figma file and delete layers, variables, comments and slides. Work on a duplicate of important files and keep the token to read scopes if you only need reading.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can run any plugin code in your open file
The main creation tool runs Figma Plugin API code, which can change or delete anything in the file. Use a duplicate for risky work. github.com
It can delete layers, variables and comments
Delete tools exist for nodes, variables, variable collections, component properties, comments, slides and animations. Token import can also delete variables when set to replace. Registered in the published package (figma-console-mcp 1.46.0). github.com
Some tools read and write files on your computer
Token export and the codebase tools read and write local files. Run them only in project folders you trust. github.com
The token is a personal Figma token
Anyone holding it can use the scopes you gave it. Give it only the read scopes unless you need comments. github.com
Cloud Mode sends commands through a hosted relay
Cloud Mode relays commands via the project's hosted server. The local setup does not use it. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only mode is documented. The hosted Remote SSE option is described as read-only, but the local setup is not. |
|---|---|
| Talks to | Figma API. Local WebSocket link to the Figma Desktop plugin. Southleft cloud relay if you use Cloud Mode |
| Sign-in and keys | A Figma personal access token in the FIGMA_ACCESS_TOKEN environment variable. The README says the hosted mode signs in with Figma OAuth. |
| Scopes |
|
Questions
Is Figma Console official?
No. It is made by Southleft, not by Figma. Figma has its own hosted server, and the README says the two work well side by side.
Does it need a Figma token?
Yes for the npx setup. Create a personal access token in Figma with read scopes for file content, versions, library content and assets, and the current user, plus read and write for comments. Variables scope is only for Enterprise.
Do I need to install a Figma plugin?
Yes, for editing. Import the Desktop Bridge plugin from the manifest file the server creates, then run it in your file. The install box notes cover the steps.
Can it edit my designs?
Yes. It can create frames and components, change fills and text, and manage variables. It can also delete layers and variables, so use a copy of important files.
Can it run read-only?
The README describes a hosted Remote SSE option that is read-only until you pair the plugin. The local setup has no read-only switch.
How does it differ from Figma's own server?
Figma's server focuses on design-to-code context and Code Connect. Figma Console focuses on design-system work: token export in many formats, accessibility and parity checks, version diffs and multi-file scripts.
Does it work with Figma in the browser?
Not fully. The plugin setup needs Figma Desktop. The README says Cloud Mode lets web assistants such as Claude.ai work with it, but you still pair a plugin running in Figma Desktop.
How many tools does it have?
The README says about 130 with the full setup and 105 in Cloud Mode. This page lists the main ones, so the list is partial.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
figma-console-mcp- Registry
- npm
- Transport
- stdio
- Auth
- token in env
- Version
- 1.46.0
- License
- MIT
- Last commit
- Oct 29, 2026
- Open issues
- 2
Other Figma MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 1Hide
- Figma Console MCP README · github.com