figma-mcp-lightweight
v1.0.0
Published
Lightweight MCP server with full Figma Plugin API access
Maintainers
Readme
Figma MCP - Lightweight Full Access
A minimal MCP server providing full Figma Plugin API access through a single execute_code tool.
Fork Notice: This is a lightweight fork of claude-talk-to-figma-mcp by Xúlio Zé, which is based on cursor-talk-to-figma-mcp by Sonny Lazuardi.
Why This Fork?
The original MCP has 40+ specialized tools. This version has 2 tools:
| Tool | Purpose |
|------|---------|
| join_channel | Connect to Figma plugin |
| execute_code | Run any Figma Plugin API code |
Benefits
- Context-efficient: Minimal tool definitions = more context for your actual work
- Full access: Execute any valid Figma Plugin API code
- No limitations: Not restricted to predefined operations
- Simpler maintenance: Less code to maintain
Setup
1. Install & Build
git clone https://github.com/halilc4/figma-mcp-lightweight.git
cd figma-mcp-lightweight
bun install
bun run build # macOS/Linux
bun run build:win # Windows2. Configure Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"FigmaMCP": {
"command": "bun",
"args": ["run", "/path/to/figma-mcp-lightweight/dist/talk_to_figma_mcp/server.js"]
}
}
}3. Setup Figma Plugin
Import src/claude_mcp_plugin/manifest.json in Figma:
Menu > Plugins > Development > Import plugin from manifest
4. Connect
- Start WebSocket server:
bun socket - Open plugin in Figma, copy channel ID
- In Claude: "Connect to Figma channel {channel-ID}"
Usage
Once connected, Claude can execute any Figma Plugin API code:
// Create a frame
const frame = figma.createFrame();
frame.resize(400, 300);
frame.name = "My Frame";
// Access selection
const selected = figma.currentPage.selection;
// Modify nodes
node.fills = [{ type: 'SOLID', color: { r: 1, g: 0, b: 0 } }];See Figma Plugin API docs for full reference.
Architecture
Claude Desktop <-> MCP Server <-> WebSocket Server <-> Figma PluginLicense
MIT License - see LICENSE
Credits
- Sonny Lazuardi - Original implementation
- Xúlio Zé - Claude adaptation
- Igor Halilovic - Lightweight fork
