Enables access and manipulation of Figma design files, including extracting layout information, rendering design nodes as images, and retrieving page structure metadata.
Provides tools for processing Sketch design files, allowing extraction of layout information, rendering of design nodes, and retrieval of page structure and metadata.
Supports parsing and processing of SVG files, with capabilities for layout information extraction and image rendering.
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., "@Vextra MCP Serverparse the layout from /projects/design.sketch"
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.
Vextra MCP Server
A server based on Model Context Protocol (MCP) for processing and parsing Vextra/Figma/Sketch/SVG design files.
Overview
Vextra MCP Server is a powerful design file processing tool that provides AI assistants (like Cursor) with the ability to access and manipulate design files through the MCP protocol. It supports multiple design file formats including Vextra, Figma, Sketch, and SVG.
Related MCP server: Figma MCP Server
Key Features
π¨ Multi-format Support: Supports
.vext,.sketch,.fig,.svgfile formatsπ Layout Information Extraction: Retrieves detailed layout and structure information from design files
πΌοΈ Image Rendering: Renders design nodes as images
π Page Information Query: Retrieves page structure and metadata
π Real-time Communication: Supports SSE (Server-Sent Events) and HTTP communication
π Cursor Integration: Seamlessly integrates with Cursor AI assistant
Quick Start
Install Dependencies
npm installDevelopment Mode
npm run devBuild Production Version
npm run build
npm startConfiguration
1. Configure Cursor
Add the following MCP configuration in Cursor:
{
"Vextra MCP": {
"url": "http://localhost:8080/sse",
"messageUrl": "http://localhost:8080/messages",
"type": "sse",
"headers": {
"Accept": "text/event-stream",
"Cache-Control": "no-cache"
}
}
}2. Server Configuration
The server starts by default at http://localhost:8080 and supports the following endpoints:
GET /sse- SSE connection endpointPOST /messages- HTTP message endpoint
API Tools
1. Get Vextra Data
Retrieves layout information and structure data from design files.
Parameters:
filePath(required): Local file pathpageId(optional): Page IDnodeId(optional): Node IDdepth(optional): Traversal depth limit
Examples:
Get complete file information
/path/to/file.sketch
Get specific page
/path/to/file.sketch/pageId
Get specific node
/path/to/file.sketch/pageId/nodeId2. Get Vextra Images
Renders design nodes as images.
Parameters:
filePath(required): Local file pathpageId(required): Page IDnodeIds(required): Array of node IDsformat(optional): Image format (png, jpg, svg)scale(optional): Scale ratio
3. Get Vextra Pages Info
Retrieves page structure and metadata from files.
Parameters:
filePath(required): Local file path
Returns:
Page IDs and names
Node count statistics
Page structure overview
Usage Examples
Basic Usage
In Cursor, you can use it like this:
Parse design file
/path/to/file.sketch
Get specific page information
/path/to/file.sketch/pageId
Extract all images from a page
Extract all images from the first page of /path/to/file.sketchAdvanced Usage
Limit depth when analyzing large files
Get layout information from /path/to/large-file.sketch with depth limit of 2 layers
Batch processing
Get thumbnails for all pages in /path/to/design.figProject Structure
src/
βββ data/ # Data processing modules
β βββ export/ # Data export related
β βββ source/ # Data source processing
β βββ vextra.ts # Vextra service core
βββ mcp/ # MCP tool implementations
β βββ get_vextra_data.ts
β βββ get_vextra_images.ts
β βββ get_vextra_pagesinfo.ts
βββ middlewares/ # Middlewares
βββ server.ts # Server entry pointTech Stack
Node.js + TypeScript - Core runtime environment
Express.js - Web server framework
@modelcontextprotocol/sdk - MCP protocol support
@kcaitech/vextra-core - Vextra core library
skia-canvas - Image rendering engine
Rollup - Build tool
Development Guide
Environment Requirements
Node.js >= 16.0.0
npm >= 8.0.0
Development Scripts
npm run dev # Development mode
npm run build # Build production version
npm start # Start production serverLicense
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
Author
Related Links
If you have any questions or suggestions, please contact us through GitHub Issues.