LLM-optimized Figma MCP server.
MCPpedia last refreshed this data
io.github.felixAnhalt/figma-to-code-mcp is an MCP server that LLM-optimized Figma MCP server. Its tool list has not been published yet over stdio, requires no API key, and scores 87/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"Figma To Code MCP": {
"args": [
"-y",
"@tmegit/figma-to-code-mcp",
"--figma-api-key=YOUR-KEY",
"--stdio"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
LLM-optimized Figma MCP server.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y '@tmegit/figma-to-code-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked @tmegit/figma-to-code-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in design
Design tokens from any live site: colours, type, spacing, components, drift against a baseline.
Draw and visually collaborate with your agents on tldraw's canvas.
MeiGen-AI-Design-MCP — Turn Claude Code / OpenClaw into your local Lovart. Local ComfyUI, 1,400+ prompt library, multi-direction parallel generation.
Inspect and edit Three.js scenes, materials, shaders, lights in real time from any AI agent
MCP Security Weekly
Get CVE alerts and security updates for io.github.felixAnhalt/figma-to-code-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Figma To Code MCP specializes in extracting only the information LLMs need to build UIs while removing Figma-specific metadata that isn't relevant for code generation. The result:
style.background, layout.direction, style.fontSize)Give Cursor and other AI-powered coding tools access to your Figma files with this Model Context Protocol server.
| Tool | Description |
|---|---|
get_figma_design | Fetches CSS-aligned, LLM-optimized design data. Exports SVG assets and a PNG render. |
get_image_fills | Retrieves image fill URLs from a Figma file |
render_node_images | Renders Figma nodes as PNG images |
get_figma_design exports SVG assets automatically. Its response contains svgAssetsFolder and relative svgPathInAssetFolder filenames; combine them to locate each file. Use svgOutputDir to export directly to a chosen assets directory. It also renders the requested node as a 1x PNG: its response contains renderedDesignNodeAssetsFolder and the file name renderedDesignNodePathInAssetFolder, which you can use to compare the built result with the design. There is no separate registered read_vector_svg tool.
By default get_figma_design returns the components the design uses in componentSets, each with propKeys and propValues (the values each prop takes across the set's members). Every set is written to its own file in componentSetsFolder, as YAML or JSON to match the output format, and componentSets lists each set's file, propKeys and propValues. A set larger than 228 KB becomes a folder named after the set: its file is <set>/index.yaml (index.json in JSON output), which lists the variants, and each variant is its own <nodeId>.yaml beside it, with : replaced by - (for example 7-770.yaml). These examples assume the default YAML output; with JSON output every file ends in .json. A COMPONENT_SET root gets the same treatment: when its variants exceed 228 KB, its children move out, root.file points at <name>/index.yaml, and each variant is a <variant name>.yaml beside it, since root variants carry no node id. Every file value is relative to componentSetsFolder, so a variant's file is <set>/<nodeId>.yaml, not relative to its set folder. A large SECTION root keeps each frame as a stub in root.children, and each frame's design is in its file in framesFolder (see Resolving frame files). For building components from a component library, pass `includeComponent