figma-restoration-tools
A comprehensive MCP server for Vue component development and Figma design restoration, featuring snapDOM-powered screenshots, pixel-perfect visual comparison, and automated SVG optimization.
README
Figma Restoration MCP Vue Tools
š ļø Professional Figma Component Restoration Kit - A comprehensive MCP (Model Context Protocol) server for Vue component development and Figma design restoration. Features snapDOM-powered high-quality screenshots, intelligent visual comparison, and automated SVG optimization.
š Features
- šÆ High-Quality Screenshots: snapDOM technology with 3x scaling, font embedding, and intelligent shadow detection
- š Advanced Visual Comparison: Pixel-perfect analysis with smart difference detection and quality assessment
- šØ SVG Optimization: Built-in SVGO integration with customizable configuration
- š¤ MCP Integration: Seamless integration with AI coding assistants (Cursor, Claude, etc.)
š¦ Quick Start
š Remote Version (Recommended)
Use the published npm package for easy setup and automatic updates:
Step 1: Add the MCP server to your Cursor configuration (~/.cursor/mcp.json):
{
"mcpServers": {
"figma-restoration-tools": {
"command": "npx",
"args": [
"-y",
"figma-restoration-tools",
"start"
],
"env": {
"PUPPETEER_EXECUTABLE_PATH": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
"NODE_ENV": "production"
}
}
}
}
Step 2: Restart Cursor after adding the configuration.
Step 3: Use the MCP tools in Cursor:
figma_compare- Compare components with Figma designssnapdom_screenshot- Take high-quality component screenshotsoptimize_svg- Optimize SVG assets
š§ Local Development Version
For contributors or advanced users who need to modify the source code:
Step 1: Clone and setup the repository:
git clone https://github.com/tianmuji/figma-restoration-tools.git
cd figma-restoration-tools
npm install
Step 2: Add the local MCP server to your Cursor configuration:
{
"mcpServers": {
"figma-restoration-tools": {
"command": "node",
"args": [
"/absolute/path/to/figma-restoration-tools/src/server.js"
],
"cwd": "/absolute/path/to/figma-restoration-tools",
"env": {
"PUPPETEER_EXECUTABLE_PATH": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
"NODE_ENV": "development"
}
}
}
}
š ļø MCP Tools
figma_compare
Advanced component comparison tool that analyzes differences between expected and actual screenshots.
Parameters:
{
"tool": "figma_compare",
"arguments": {
"componentName": "MyComponent",
"projectPath": "/path/to/your/vue/project",
"threshold": 0.1,
"outputPath": "/custom/output/directory"
}
}
Features:
- Pixel-perfect difference detection
- Quality assessment scoring
- Detailed analysis reports (JSON & Markdown)
- Customizable comparison threshold
snapdom_screenshot
High-quality DOM screenshot tool using snapDOM technology for precise component capture.
Parameters:
{
"tool": "snapdom_screenshot",
"arguments": {
"componentName": "MyComponent",
"projectPath": "/path/to/your/vue/project",
"port": 3000,
"viewport": {
"width": 1440,
"height": 800
},
"snapDOMOptions": {
"scale": 3,
"compress": true,
"embedFonts": true,
"backgroundColor": "transparent",
"padding": 0
},
"outputPath": "/custom/output/path.png"
}
}
Features:
- 3x scaling for high-resolution output
- Intelligent shadow and effect capture
- Font embedding support
- Transparent background support
- Custom viewport and output settings
optimize_svg
SVG optimization tool powered by SVGO with customizable configuration.
Parameters:
{
"tool": "optimize_svg",
"arguments": {
"inputPath": "/path/to/input.svg",
"outputPath": "/path/to/optimized.svg",
"svgoConfig": {
"plugins": ["preset-default"],
"multipass": true,
"floatPrecision": 2
}
}
}
Features:
- Advanced SVG optimization
- Customizable SVGO configuration
- Batch processing support
- Size reduction reports
āļø Configuration
Environment Variables
PUPPETEER_EXECUTABLE_PATH: Path to Chrome/Chromium executableNODE_ENV: Environment mode (development/production)
Shadow Detection
For components with shadows, the tool automatically calculates optimal padding based on effect data:
{
"snapDOMOptions": {
"scale": 3,
"padding": 0,
"figmaEffects": [
{
"type": "DROP_SHADOW",
"offset": {"x": 0, "y": 5},
"radius": 30,
"spread": 0
}
]
}
}
Comparison Thresholds
| Threshold | Sensitivity | Use Case |
|---|---|---|
| 0.0-0.05 | Very Strict | Pixel-perfect matching |
| 0.05-0.1 | Strict | High-quality components |
| 0.1-0.2 | Moderate | General comparison |
| 0.2+ | Loose | Rough similarity check |
šÆ Typical Workflow
- Setup: Configure MCP server in Cursor
- Screenshot: Use
snapdom_screenshotto capture component - Compare: Use
figma_compareto analyze differences - Optimize: Use
optimize_svgfor asset optimization - Iterate: Refine component based on analysis results
š Requirements
- Node.js: ā„ 18.0.0
- Chrome/Chromium: For screenshot generation
- Vue.js project: For component restoration
- MCP-compatible client: Cursor IDE, Claude Desktop, etc.
š¤ Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -m 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Open a Pull Request
š License
This project is licensed under the MIT License. See the LICENSE file for details.
š Links
- GitHub: tianmuji/figma-restoration-tools
- npm: figma-restoration-tools
- Issues: Report bugs & feature requests
š Acknowledgments
- snapDOM: High-quality DOM screenshots
- Model Context Protocol: MCP framework
- Vue.js: Progressive JavaScript framework
- SVGO: SVG optimization library
šØ Built for developers who demand pixel-perfect component restoration šØ
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.