figma-svg-to-icon-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@figma-svg-to-icon-mcpExtract all icons from this Figma node and save new ones to my icons folder."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
figma-svg-to-icon-mcp
An MCP (Model Context Protocol) server that extracts SVG icons from Figma and generates React TSX icon components — automatically, from your AI assistant.
Works with GitHub Copilot, Claude, and any MCP-compatible AI assistant.
Setup
Prerequisites
Node.js 18+
VS Code with GitHub Copilot (agent mode) or Claude Desktop
A Figma personal access token
1. Get a Figma Token
Go to figma.com → Settings → Security → Personal access tokens → Generate new token.
Scopes needed: file_content:read
2. Configure your MCP client
VS Code (.vscode/mcp.json or user settings):
{
"servers": {
"figma-svg-to-icon-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "figma-svg-to-icon-mcp"],
"env": {
"FIGMA_TOKEN": "figd_your_token_here"
}
}
}
}Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"figma-svg-to-icon-mcp": {
"command": "npx",
"args": ["-y", "figma-svg-to-icon-mcp"],
"env": {
"FIGMA_TOKEN": "figd_your_token_here"
}
}
}
}Note: Each user needs their own
FIGMA_TOKEN. Tokens are tied to Figma account permissions.
Related MCP server: Figma to React MCP
What it does
Point it at any Figma node URL and it will:
Fetch the full node tree via Figma REST API (handles deeply nested instances)
Detect icon nodes by name pattern + size
Export clean SVG via Figma's image export API
Check your existing
components/iconsfolder for duplicates (name + path similarity)Generate
.tsxicon components in a consistent format
Generated component format:
interface IconProps {
className?: string;
}
export default function ArrowRightIcon({ className }: IconProps) {
return (
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 20 20" fill="none" className={className}>
<path d="..." stroke="currentColor" strokeWidth="1.66667" strokeLinecap="round" strokeLinejoin="round" />
</svg>
);
}Usage
Once configured, just tell your AI assistant:
Extract all icons from this Figma node and save new ones to my icons folder.
figma_url: https://www.figma.com/design/FILEID/Name?node-id=1234-5678
icons_dir: /absolute/path/to/your/project/src/components/iconsOptions
Parameter | Description | Default |
| Figma node URL with | required |
| Absolute path to icons folder | required |
| Preview without writing files |
|
| Write similar icons with |
|
Dry run (preview only)
Extract icons — dry run only, don't write files.
figma_url: https://www.figma.com/design/xxx?node-id=1234-5678
icons_dir: /Users/you/project/src/components/icons
dry_run: trueConvert a single SVG
Convert this SVG to an icon component and save it.
icon_name: arrow-right
icons_dir: /Users/you/project/src/components/icons
svg_code: <svg viewBox="0 0 24 24">...</svg>How icon detection works
Icons are identified by:
Type:
INSTANCE,COMPONENT,VECTOR, orBOOLEAN_OPERATIONName: kebab-case pattern —
wallet-03,arrow-right,x-close✅Excluded:
Frame 123,Group,Solid,Bold,Featured icon❌
Size: Square dimensions in common icon sizes: 12, 14, 16, 18, 20, 24, 28, 32, 36, 40, 48, 64px
Duplicate detection
Before writing a file, the server checks your existing icons folder using:
Name similarity — fuzzy match on component name (70%+ threshold)
SVG path similarity — Jaccard similarity on path data (85%+ threshold)
If either matches, the icon is skipped (or written with -copy suffix if copy_existing: true).
Tools
Tool | Description |
| Main tool — extracts icons from a Figma URL |
| Convert a raw SVG string to a TSX component |
Contributing
Issues and PRs welcome at https://github.com/Pruthvik1/figma-svg-to-icon-mcp.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pruthvik1/figma-svg-to-icon-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server