figma-restoration-tools

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.

Category
Visit Server

README

Figma Restoration MCP Vue Tools

npm version License: MIT Node.js Version

šŸ› ļø 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 designs
  • snapdom_screenshot - Take high-quality component screenshots
  • optimize_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 executable
  • NODE_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

  1. Setup: Configure MCP server in Cursor
  2. Screenshot: Use snapdom_screenshot to capture component
  3. Compare: Use figma_compare to analyze differences
  4. Optimize: Use optimize_svg for asset optimization
  5. 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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/new-feature)
  3. Commit your changes (git commit -m 'Add new feature')
  4. Push to the branch (git push origin feature/new-feature)
  5. Open a Pull Request

šŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

šŸ”— Links

šŸ™ Acknowledgments


šŸŽØ Built for developers who demand pixel-perfect component restoration šŸŽØ

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured