# mcp-servers
Figma MCP
RUNNINGFigma MCP is the server that lets an agent read a design file the way a developer reads one: structure, components, variables and exact node addresses, not a screenshot and a guess. The homepage of this site went from a Figma file to deployed code through it, which is the kind of run a verdict here requires.
- Verdict: RUNNING. Real pages shipped from design files through an agent, more than once.
- The agent gets structured context: layout, tokens, component names, node ids. Pixels are for the human.
- Node ids turn prompts precise: build this exact frame, compare against this exact node.
- It is a remote MCP server under OAuth, so it sees what the authorising account sees. Know that before connecting.
- Best when design and code are separate artifacts that must agree, skip it for design-free projects.
New here? Browse the full tool list, or start with what MCP servers are.
If you are deciding whether to wire your design files into an agent, here is the operator view. GetAgentTools lists only what I actually use, with a verdict and no sponsored placements. Verdict first, then the detail.
Verdict: RUNNING. In one line: design files agents can read, not guess.
What the Figma MCP server is
MCP is the protocol that exposes a system to agents as a set of typed tools, and Figma speaks it two ways: a local server inside the desktop app, working against what you have open, and a hosted remote server. I run the remote one, so everything below, the OAuth notes especially, assumes that path. Connect once and the design tool becomes something your agent can query: give me the context of this frame, the variables in this file, a screenshot of this node.
The difference from pasting screenshots into a chat is structure. A screenshot of a button is some amber pixels. The design context of that button is a component with a name, a variant, a text style and a variable behind the colour. Code built from the first drifts. Code built from the second inherits the design system, because the tokens arrive with their names on.
Because it is a hosted server, the general rules for remote MCP servers apply unchanged: the credential lives with the provider, the server answers with the access of the account that authorised it, and an outage on their side is an outage in your workflow.
Why Figma MCP is RUNNING in my stack
Entire landing pages went from mockup to deployed code through it. Node ids make prompts precise, tokens survive into the code, and the visual check stays human.
The run that earned the verdict: this site's homepage started as a mockup, became a Figma file with variables and a dozen component families, and left as production code, with an agent doing the translation at both steps. The design work and the code work were separate passes with a review between them, and the file's node ids are what held the process together: every prompt pack references the exact frames it builds from, so "the hero section" is an address, not an opinion.
That precision is the practical difference. Design-to-code conversations without addresses degenerate into which button do you mean. With node ids in the prompt, the agent pulls the context of one exact frame, builds against it, and the screenshot of that same node is the comparison target in review. Ambiguity is what quietly ruins agent output, and this removes a whole class of it.
What the agent actually gets from Figma MCP
The server exposes more surface than I touch, Code Connect and asset pipelines included. The tools I actually use group into three reads and a write:
- Design context: the structured description of a node and its children, with layout, styles and component references. This is the build input.
- Variables and tokens: the named values behind colours, spacing and type. This is how the design system survives translation instead of being re-guessed per page.
- Screenshots of exact nodes: rendered pixels for a given id, which the agent can fetch but a person should judge.
- Write tools: creating files and editing nodes. Real, powerful, and the part I use most carefully, because a design file is a shared workspace and an agent edit lands in everyone's view of it.
Know also what the file does not contain, because the agent will invent whatever is missing. A static node says nothing about behaviour between breakpoints, nothing about hover, focus, disabled, error or loading states unless someone drew them, and nothing about focus order. That is exactly where design-to-code quality leaks: the tokens translate cleanly and the responsive behaviour gets guessed. Draw the states you care about, or expect to review them into existence.
The host matters as much as the server. Mine is Claude Code, where the design reads sit in the same session as the codebase, so context from the file and context from the repo meet in one place. That is the point of MCP as an architecture, one protocol instead of a custom bridge per app.
Two sources of truth, on purpose
The trap in design-to-code automation is pretending there is one artifact. There are two: the design file owns visual intent, the repository owns behaviour, and they will disagree. The failure mode is not the disagreement, it is silence about it, when someone patches the code and the file quietly stops describing what ships.
The rule that survived contact here: drift gets written down, not patched over. When the code moves past the file, a note says so, in the project's own log, and the file catches up in a designed pass rather than by someone redrawing rectangles to match production. The MCP server makes the honest version of this cheap, because checking what the file says is one call instead of an afternoon.
Who Figma MCP is best for
Design-to-code with a real design file. The fit is teams where design is a real artifact with an owner, and code has to match it: marketing sites, design systems, component libraries. It also fits solo operators who design first, because the file becomes a spec the agent can execute instead of documentation that goes stale.
When to skip Figma MCP
The project has no design artifact. If the project has no design file, there is nothing to bridge, and inventing one to use the tool is ceremony. Internal tools, CLIs and APIs are usually better served by the agent writing plain, boring UI directly.
I would also hold off if nobody on the team owns the file. Design-to-code amplifies whatever the file contains, and a messy file with detached components and hardcoded values amplifies into messy code. The server hands the agent your design system exactly as disciplined as it really is.
Cost and access
There is no separate price tag on the MCP server itself; access follows your Figma plan and seat, and the details shift, so check Figma's current documentation rather than this paragraph. Two separate things decide what you have connected. Seat and plan decide which capabilities are switched on. File access decides what the server can actually see, because it answers with whatever the authorising account can open, no more and no less. A full seat with broad file access is a wide door; connect a scoped account if your situation allows it, and treat the OAuth grant like the credential it is.
How to start a design-to-code loop with Figma MCP
- Connect the server in your agent host over OAuth, and note which account you authorised with, because that decides what the agent can see.
- Pick one frame that already exists and ask for its design context. Read what comes back before building anything, so you know what the agent knows.
- Put node ids in your prompts from day one. "Build the pricing section, node such-and-such" ages better than any verbal description of it.
- Keep the passes separate: design pass, then code pass, with a human look between them. One giant do-everything prompt is where quality goes to die.
- Judge results against screenshots of the exact nodes, with human eyes. Pixel diffs automate the comparison; they do not automate the judgment, and the judgment is the part that decides whether it shipped right.
- Log design-code drift the moment you notice it. The note costs a minute and keeps both artifacts honest.
Figma MCP FAQ
What is the Figma MCP server?
Figma's MCP service gives an agent structured access to design files: layout, components, variables and screenshots, addressed by node ids. It ships in two forms, a local server in the desktop app and a hosted remote one; this review runs the remote one. Either way, instead of describing a design to the agent, you hand it the file and it reads the design itself.
What can an AI agent do with Figma MCP?
Read design context for a frame and turn it into code, pull design tokens and variables, take screenshots of exact nodes for comparison, and, with the write tools, create and edit design files. In my use the read path carries most of the value: design in, code out.
Does Figma MCP replace screenshots?
No, it complements them. Structured context is what the agent builds from, because names, tokens and constraints survive where pixels blur. Screenshots are what the result is judged against, by a person. Green tests do not mean it looks right, so the visual check stays human.
Can an agent edit Figma files through MCP?
Yes, the server ships write tools that create files and modify nodes, components and variables. Treat writes like any other agent write: they change a shared artifact your team works in, so my rule is read freely, write only inside an agreed scope with the change logged.
Is the Figma MCP server free?
Access rides on your Figma plan and seat type rather than a separate price, and the terms move, so check Figma's current documentation for what your plan includes. The cost that actually matters in practice is seat level: the server answers with the access of the account that authorised it.
How does the Figma MCP server authenticate?
OAuth against your Figma account, as a remote server. The agent holds a token, not your password, and the server sees exactly what that account sees. Same trust rules as any hosted MCP server: know whose credential is in play and what files it can reach before you connect it.