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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceEnables bidirectional synchronization between IDEs and Figma for Design System management, allowing developers to generate React components and synchronize design tokens, icons, and components across platforms.Last updated1
- AlicenseBqualityCmaintenanceAutomates the conversion of Figma designs into TypeScript React components and integrates with GitHub to create pull requests for the generated code. It includes visual regression testing with Playwright and accessibility validation to ensure implementations match the original designs.Last updated528MIT

Svg/icons MCPofficial
Alicense-qualityBmaintenanceEnables AI coding tools to search, inspect, recommend, and export SVG icons from svgicons.com for use in design systems, frontend projects, and AI-assisted workflows.Last updatedMIT- Alicense-qualityDmaintenanceEnables developers to extract and organize Figma design files, including complete node data (tree structure and images) for AI understanding and code generation.Last updatedMIT
Related MCP Connectors
Multilingual semantic SVG icon search with previews for AI coding agents. 20,000+ icons.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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