
Figma MCP server: turn your Figma designs into code with your AI app
Lets AI apps read your Figma designs, variables and components to write matching code, and create or edit content in your Figma files.
Lets Claude, Cursor, Codex and other AI apps read your Figma designs and turn them into code. It can also create and edit content in your Figma files. Free plans and View or Collab seats get only 20 read calls a month, so most teams need a Full or Dev seat. Figma only lets AI apps from its approved client list connect to the remote server.
Good for
- Developers who turn Figma frames into code in Cursor, Claude Code, Codex or VS Code
- Designers who want an AI app to build or edit frames, components and variables
- Design system teams keeping generated code on their own tokens and components
- Teams on a paid Figma plan with Full or Dev seats
Works in
6 supported · 4 with issues · 1 should work
Tap an app to see how to set it up and any known problems.
Use the one-click install or add the server in mcp.json, then sign in. Needs GitHub Copilot.
Known problems
- Closed
After a VS Code update every Figma connection failed with 'Method not found' after sign-in
Reported Sep 2026 · GitHub
Not in Figma's catalog, but Figma's GitHub guide covers it: install the extension, then sign in. GitHub
Listed in Figma's catalog with remote and desktop servers and write access. figma.com
Listed in Figma's catalog with remote and desktop servers and write access. figma.com
Listed for the desktop server only, read only. The remote server is not available in Zed. figma.com
Listed in Figma's catalog with remote and desktop servers and write access. figma.com
Install the Figma plugin or add the server address, then sign in; large designs can fail.
Known problems
- Open
Large designs return more than Claude Code's tool output limit and the call fails
Workaround: Select a smaller part of the design, or start Claude Code with MAX_MCP_OUTPUT_TOKENS=50000.
- Closed
Figma sign-in fails on Windows because the login step is forgotten between turns
Reported Jul 2026 · GitHub
Listed in Figma's catalog; connect from Claude's connectors. Some users hit duplicate tools or a stuck desktop server.
Known problems
- Open
The same Figma server shows up twice in the Claude Code tab, so tools are sent twice
Since Oct 2026 · GitHub
- Open
Desktop server shows connected but every call asks you to enable Dev Mode MCP Server
Workaround: Use the remote server instead, and ask IT whether a security tool blocks port 3845.
Since Sep 2026 · forum.figma.com
- Closed
Connecting failed with 403 Forbidden because Figma rejected the desktop app's client name
Reported Jul 2026 · GitHub
- Closed
Figma tools time out when both the desktop and remote Figma connectors are installed
Workaround: Remove the desktop Figma connector and keep only the remote one.
Reported Apr 2026 · forum.figma.com
Run the add-plugin command in agent chat or add the server address, then sign in.
Known problems
- Open
Figma tool calls fail after the saved sign-in expires or gets corrupted
Workaround: Run Clear All MCP Tokens from the Command Palette, sign in again, and restart Cursor if needed.
Install Figma from the Codex Plugins panel or add it in the CLI, then sign in; sign-in often fails.
Known problems
- Open
CLI sign-in fails with 'Client ID is required' after authorizing in the browser
Since Oct 2026 · GitHub
- Open
Figma tools disappear from all threads after the Windows app reconnects
Workaround: Re-enable the Figma entry in config.toml by hand.
Since Oct 2026 · GitHub
- Open
Windows app shows 'OAuth state not found' and never finishes connecting Figma
Since Oct 2026 · GitHub
- Open
Figma tools are listed at startup but can't be called in Codex Desktop
Since Sep 2026 · GitHub
- Open
Figma plugin or some tools don't appear in managed workspaces
Workaround: Ask your Codex admin to allow third-party plugins and approve the Figma tools.
Supports hosted MCP servers.
Not in Figma's client catalog. Figma says clients outside it can't connect to the remote server yet. developers.figma.com
Not in Figma's client catalog, so the remote server answers 403 Forbidden. Figma suggests the desktop server.
Known problems
- Open
Remote server answers with a plain 403 Forbidden before sign-in can start
Workaround: Figma staff suggested the desktop server at http://127.0.0.1:3845/mcp.
Since Apr 2026 · forum.figma.com
Not in Figma's client catalog. Figma says clients outside it can't connect to the remote server yet. developers.figma.com
Install Figma MCP
Claude Code
- 1
Copy this prompt.
Add the Figma MCP server to Claude Code. Run this command: claude plugin install figma@claude-plugins-official 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 Figma account.
The Figma plugin is the setup Figma recommends. It adds the connection plus ready-made skills. The Hosted option is the plain connection without the skills. Sign in with your Figma account when asked. Paste a link to a frame or layer in Figma into your prompt so the assistant knows which design to read.
From the project README. Source.
Tools
Turns a selected design into code you can build from.
Reads the layer or selection you point at in Figma and returns code for it, React with Tailwind by default. A remote setup needs a link to the design.
Try: “Turn the pricing card I have selected in Figma into React and Tailwind code.”
Read ·
get_design_contextTakes a picture of a selected design so the assistant can see it.
Captures an image of the current selection in Figma. Images use more tokens than the text outlines, so ask for one when the layout matters.
Try: “Take a screenshot of the login screen frame so you can check the spacing.”
Read ·
get_screenshotLists the layers in a selection as a short outline, or the file's pages.
Returns a lightweight XML outline of a selection. With no node ID, it lists the top-level pages in the file.
Try: “List the pages in my onboarding Figma file.”
Read ·
get_metadataLists the colors, spacing and text styles used in a selection.
Shows the variables and styles used in a selection, covering color, spacing and typography.
Try: “What colors and font sizes does the header in my selected frame use?”
Read ·
get_variable_defsSearches your design libraries for components, variables and styles.
Finds components, variables and styles in the libraries your account can reach. Remote setups only.
Try: “Find the button component in our design library.”
Read ·
search_design_systemLists the design libraries you subscribe to or can use.
Shows the design libraries available to your account. Remote setups only.
Try: “Which design libraries is my Figma account subscribed to?”
Read ·
get_librariesShows which design components are already linked to code components.
Returns the Code Connect links for the component instances you select, so you can see which Figma components map to which code components.
Try: “Which code component is the Card in my selected Figma instances linked to?”
Read ·
get_code_connect_mapGathers the component details needed to write links from designs to code.
Collects the component metadata that a Code Connect template is written from. Remote setups only.
Try: “Gather the details I need to write a Code Connect template for the Avatar component.”
Read ·
get_context_for_code_connectSuggests links between design components and code components.
Proposes Code Connect mappings for your components. The suggestions are not linked until you confirm them.
Try: “Suggest code component matches for the components on my settings page.”
Read ·
get_code_connect_suggestionsGets animation keyframes and CSS snippets for a design layer.
Returns the keyframe data for a layer, with code snippets for CSS or Motion.
Try: “Get the animation keyframes and CSS for the toast notification in my selection.”
Read ·
get_motion_contextReads a FigJam diagram as XML, with screenshots of its nodes.
Converts a FigJam diagram to XML and includes screenshots of its nodes, so the assistant can read the flow.
Try: “Read the user flow diagram in our FigJam board and summarize the steps.”
Read ·
get_figjamDownloads exports and source images from a design, up to 20 at a time.
Downloads exports and original source images for up to 20 nodes per call. Remote setups only.
Try: “Download the exported PNG icons from the icon frame.”
Read ·
download_assetsLists the shader effects and fills in your library.
Shows the shader effects and fills available in your library.
Try: “What shader effects are in my Figma library?”
Read ·
list_shadersLists the shaders used in a file, up to 100.
Shows the shaders a file uses, up to 100. Remote setups only.
Try: “Which shaders does the hero banner file use?”
Read ·
list_file_shadersReads the source code of one of your own shaders.
Returns the source code of one of your own shaders.
Try: “Show me the source of my glow shader.”
Read ·
get_shaderLists the generative plugins in your library. Remote setups only.
Shows the generative plugins in your library. Remote setups only.
Try: “List the generative plugins I have built.”
Read ·
list_generative_pluginsReads the source files of one of your own generative plugins.
Returns the source of one of your own generative plugins. Remote setups only.
Try: “Show me the source of my pattern generator plugin.”
Read ·
get_generative_pluginShows which Figma account is signed in, with its plans and seats.
Returns the signed-in email, the plans and the seats on the account. Remote setups only.
Try: “Which Figma account am I signed in with, and what seat do I have?”
Read ·
whoamiCreates and edits content in Design, FigJam, Slides and Specs files.
Makes changes to the content of your Figma files. It can create, edit and inspect layers in Design, FigJam, Slides and Specs files.
Try: “Add a three-column pricing section below the hero in my landing page file.”
Write ·
use_figmaSends a live web page into Figma as editable design layers.
Copies the UI of a running web page into your Figma file as design layers. Only some clients can use it.
Try: “Send the signup page I have open in the browser into a Figma file as layers.”
Write ·
generate_figma_designTurns an HTML document, up to 50 MB, into plain design layers.
Converts a self-contained HTML document of up to 50 MB into plain design layers you can edit in Figma.
Try: “Convert this self-contained HTML invoice into editable Figma layers.”
Write ·
html_to_figmaUploads images and SVGs into a Figma file, up to 60 files at once.
Adds images and SVG files to a Figma file, up to 60 files per call with 10 MB per file.
Try: “Upload these logo SVGs into the brand file.”
Write ·
upload_assetsCreates an AI image and places it in your file. Uses Figma AI credits.
Generates an image and places it in a Figma file. Each use spends Figma AI credits.
Try: “Generate a soft gradient background image and place it on the cover frame.”
Write ·
generate_imageCreates a FigJam diagram from a text description or Mermaid code.
Builds a FigJam diagram from a description you give it or from Mermaid syntax.
Try: “Make a FigJam flowchart of our checkout process.”
Write ·
generate_diagramCreates a blank Design, FigJam or Slides file in your drafts.
Creates an empty Design, FigJam or Slides file in your drafts.
Try: “Start a blank Slides file for the Q1 review deck.”
Write ·
create_new_fileLinks one Figma component to a code component.
Maps a Figma component to a code component, so designs point at the real code.
Try: “Link the Button component in Figma to our Button component in code.”
Write ·
add_code_connect_mapConfirms the suggested links between design and code components.
Confirms the Code Connect mappings that were suggested, so they are saved.
Try: “Confirm the component links you suggested for the settings page.”
Write ·
send_code_connect_mappingsImports a local project as a Make file or a code layer in Figma.
Imports a local project archive (.zip, .tar.gz or .tgz) into Figma as a Make file or a code layer. Remote setups only.
Try: “Import my prototype project archive into Figma as a Make file.”
Write ·
send_code_to_figmaCreates a starter shader effect or fill you can edit.
Creates a starter shader effect or fill that you can then edit. Remote setups only.
Try: “Create a starter shader for a grainy fill.”
Write ·
create_shaderReplaces the main source file of one of your shaders.
Replaces the main.ts source of one of your shaders. Remote setups only.
Try: “Replace the source of my glow shader with the new version.”
Write ·
update_shaderCreates a starter generative plugin.
Creates a starter generative plugin you can build on. Remote setups only.
Try: “Create a starter generative plugin for patterned tiles.”
Write ·
create_generative_pluginReplaces the source files of one of your generative plugins.
Replaces the source files of one of your generative plugins. Remote setups only.
Try: “Update my pattern generator plugin with the revised code.”
Write ·
update_generative_pluginRuns a Weave tool. Uses Weave credits and asks you to confirm the cost first.
Runs a Figma Weave tool. It uses Weave credits and asks for confirmation of the cost before it runs.
Try: “Run the background remover Weave tool on this image.”
Write ·
weave_run_toolRuns a Weave AI model directly. Each run uses credits and needs your approval.
Runs a Figma Weave model directly. Every run uses Weave credits and needs your approval.
Try: “Run the upscale model on the product photo, after I approve the cost.”
Write ·
weave_run_modelUploads an image, video, audio or 3D file to use as Weave input.
Uploads an image, video, audio or 3D file so a Weave tool or model can use it as input.
Try: “Upload this product video so I can use it as input for a Weave tool.”
Write ·
weave_upload_assetCancels a Weave run that is still in progress.
Stops a Weave run that has not finished yet.
Try: “Cancel the Weave run that is still processing my render.”
Write ·
weave_cancel_tool_runUsed by the assistant behind the scenes
Lists the Weave tools available to run. Needs a paid Weave account.
Lists the Weave tools you can run. Needs a paid Weave account.
Try: “Which Weave tools can I run on my account?”
Read ·
weave_list_toolsFinds a Weave AI model by name.
Looks up a Weave model by its name so it can be run.
Try: “Find the Weave model called upscale.”
Read ·
weave_find_modelLists the inputs a Weave tool needs before it can run.
Returns the inputs a Weave tool expects, so a run can be set up correctly.
Try: “What inputs does the background remover Weave tool need?”
Read ·
weave_get_tool_inputsChecks the status and output of a Weave tool run.
Polls the status and result of a Weave tool run that was started.
Try: “Has the background removal run finished yet?”
Read ·
weave_get_tool_run_outputChecks the status and output of a Weave model run.
Polls the status and result of a Weave model run that was started.
Try: “Is the upscale model run done?”
Read ·
weave_get_model_run_output
From the official docs
Pros and cons
Good
- Official server from Figma, so it tracks new Figma features first.
- Turns a pasted frame link into code in your own framework and component library.
- Can create and edit frames, components, variables and FigJam diagrams, not just read them.
- Reads your design variables so generated code uses your tokens.
- Works with Make projects in clients that support MCP resources.
- Sign in with your Figma account, no access token to manage.
Watch out
- Only AI apps in Figma's catalog can connect to the remote server.
- Free plans and View or Collab seats get only 20 read calls a month.
- Writing to the canvas is free during the beta and will become usage-based.
- Large selections can fail or return partial results.
- Sign-in problems are common in Codex, Claude Desktop and Cline.
- The desktop server is read only and needs a Dev or Full seat.
Permissions
medium risk · 5 things to watch
Medium risk
The remote server can create and change content in any Figma file you can edit, and some actions spend Figma AI credits. If you only need to read designs, use the desktop server, which cannot write to the canvas.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
It can edit your Figma files
On the remote server, the write tools create and change content in Design, FigJam and Slides files you can edit. Write tools are not rate limited, so review what the agent plans to change. developers.figma.com
Some actions spend Figma AI credits
Image generation and later code-to-Figma prompts use Figma AI credits, and Weave tools use paid Weave credits. Figma's skills ask before using them. developers.figma.com
It only reaches files you can already open
Plan, seat and file permissions apply to the signed-in account. developers.figma.com
Only approved AI apps can connect
The remote server accepts sign-in only from clients in Figma's catalog and answers others with a 403. A security reviewer on Hacker News suspects this limits sign-in redirect abuse. developers.figma.com
Community Figma servers had serious security bugs
The community Framelink server had command injection advisories, fixed in 0.6.3. They do not affect Figma's official server, but check any third-party server you add. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | Use the desktop server (http://127.0.0.1:3845/mcp, enabled in the Figma desktop app's Dev Mode). It reads design context but cannot write to the canvas. It needs a Dev or Full seat on a paid plan. |
|---|---|
| Talks to | mcp.figma.com |
Alternatives
Use Figma's own server unless your AI app is not on its approved list. Framelink works in any client with a Figma API token, and Penpot suits teams that want an open-source design tool with no client allowlist.
| Server | Official | Runs | Sign-in | Can change things | Stars |
|---|---|---|---|---|---|
| For Figma | |||||
| Figma MCP ServerThis page | Official | HostedLocal | Account | Yes | 2.1K |
| Figma Console MCP | Community | Local | – | Yes | 2.6K |
| Other tools for the same job | |||||
| Framelink (figma-developer-mcp) | Community | Local | API key | No | – |
| Penpot MCP | Community | – | – | – | 534 |
What people say
People like the code it produces from clear design links and dislike the client allowlist, the call limits and the coming usage pricing.
What people like
- Output closely matches the design when you give exact frame links and clear component targets.
- Works well for applying design changes to an existing codebase, following its component structure and naming.
Common complaints
- Only approved AI apps can use the remote server, which shuts out open-source agents such as Pi and, for months, OpenCode.
- Free and View or Collab seats get a handful of calls per month, too few to experiment.
- Write access is free only during the beta and is set to become usage-based.
- Generated code is minimal by default: one large file and fixed-width layouts rather than responsive ones.
- Sign-in breaks often in some clients, with open reports in Codex, Claude Desktop and Cline.
In their words
“Frankly, “whitelisting” clients is against the spirit of MCP.”dyllonHacker NewsOct 2026
“Another thing they do that I find equally frustrating is their MCP can do things you cannot do via API so you are forced to use theirs and cannot implement your own”pjm331Hacker NewsOct 2026
“Then I read that the MCP is only free for a limited time and in the future they're going to start charging based on usage”miguel-munizHacker NewsOct 2026
“I do security review for my company. I suspect this is a means of containing OAuth redirect vulnerabilities.”SkyPuncher
Questions
What is the Figma MCP server URL?
The remote server is https://mcp.figma.com/mcp. Figma recommends it because it needs no desktop app and is the only one that can write to the canvas. The desktop server runs inside the Figma app at http://127.0.0.1:3845/mcp and is read only.
Is the Figma MCP server free?
It is free to set up, but plan and seat limits apply. Writing to the canvas is free during the beta, and Figma says it will become a usage-based paid feature. Image generation already uses Figma AI credits.
How many calls do I get on the free plan?
Figma's developer docs say Starter plans and View or Collab seats get 20 read calls a month. Figma's GitHub guide still says 6, so expect the lower number to be out of date. Full and Dev seats get 200 calls a day on Professional and Organization plans, and 600 a day on Enterprise.
Which Figma plan do I need?
The remote server works on Starter, Professional, Education, Organization, Government and Enterprise plans. For real use you need a Full or Dev seat on a paid plan. The desktop server needs a Dev or Full seat.
Can it edit my Figma designs?
Yes, through the remote server. It can create and change frames, components, variables and auto layout in files you can edit. Editing outside your drafts needs a Full seat.
Is it safe to use?
It only reaches Figma files your account can already open. The main risk is that it can change those files, so check what the agent plans to do. Use the desktop server if you only want to read.
Why do I get 403 Forbidden from mcp.figma.com?
Figma only lets AI apps from its catalog connect to the remote server. Apps outside it, such as Cline, Windsurf and JetBrains, are rejected. Figma suggests the desktop server or joining the waitlist.
Remote or desktop server: which should I use?
Use the remote server unless you need read-only access or your app is not in Figma's catalog. The desktop server only works while the Figma desktop app is open with the server enabled.
Claude Code says the Figma response is too large. What now?
Select a smaller part of the design in your link. You can also start Claude Code with MAX_MCP_OUTPUT_TOKENS=50000 to raise the limit.
How do I point it at a specific design?
Copy the link to a frame or layer in Figma and paste it into your prompt. The assistant reads the node from the link and does not open the page.
Examples
Implement a selected frame in your app's stack
Generate iOS SwiftUI code from this frame
SourceUse your design tokens instead of hard-coded values
Get the variable names and values used in this frame.
SourcePut generated code into an existing file
Add this to src/components/marketing/PricingCard.tsx
SourceReuse your own components when building a layout
Use our Stack layout component
Source
Information
updated Nov 2, 2026
- Publisher
- Figma (official)
- Endpoint
https://mcp.figma.com/mcp- Transport
- Streamable HTTP
- Auth
- OAuth
- Version
- 1.0.3
- Last commit
- Oct 28, 2026
- Open issues
- 0
- Listed in
- Official MCP registry
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 15Hide
- Figma MCP server guide · github.com
- Remote server installation · developers.figma.com
- Figma MCP server docs · developers.figma.com
- Figma MCP server docs · developers.figma.com
- Figma MCP server docs · developers.figma.com
- Tools and prompts · developers.figma.com
- GHSA-gxw4-4fc5-9gr5 · github.com
- Figma MCP server docs · developers.figma.com
- Guide to the Dev Mode MCP Server · help.figma.com
- Figma MCP catalog · figma.com
- Figma restricts MCP access to whitelisted clients, excluding Pi · news.ycombinator.com
- Figma MCP builds exactly what you ask, nothing more · blog.codeminer42.com
- Codex issue 58160 · github.com
- Framelink Figma MCP · github.com
- Figma Console MCP · github.com