- Explore MCP Servers
- github-copilot-talk-to-figma-mcp
Github Copilot Talk To Figma Mcp
What is Github Copilot Talk To Figma Mcp
GitHub Copilot Talk to Figma MCP is a plugin that integrates GitHub Copilot with Figma, enabling communication between the two platforms for reading and modifying design files programmatically.
Use cases
Use cases include automating design updates based on code changes, generating design assets from code, and enhancing collaboration between designers and developers.
How to use
To use the GitHub Copilot Talk to Figma MCP, install Bun, run the setup command to install the MCP in your GitHub Copilot project, start the WebSocket server, and then run the MCP server. Finally, install the Figma plugin to link it with GitHub Copilot.
Key features
Key features include seamless integration between GitHub Copilot and Figma, the ability to read and modify designs programmatically, and a WebSocket server that facilitates real-time communication.
Where to use
This MCP can be used in design and development environments where Figma and GitHub Copilot are utilized, particularly in UI/UX design workflows and collaborative projects.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Github Copilot Talk To Figma Mcp
GitHub Copilot Talk to Figma MCP is a plugin that integrates GitHub Copilot with Figma, enabling communication between the two platforms for reading and modifying design files programmatically.
Use cases
Use cases include automating design updates based on code changes, generating design assets from code, and enhancing collaboration between designers and developers.
How to use
To use the GitHub Copilot Talk to Figma MCP, install Bun, run the setup command to install the MCP in your GitHub Copilot project, start the WebSocket server, and then run the MCP server. Finally, install the Figma plugin to link it with GitHub Copilot.
Key features
Key features include seamless integration between GitHub Copilot and Figma, the ability to read and modify designs programmatically, and a WebSocket server that facilitates real-time communication.
Where to use
This MCP can be used in design and development environments where Figma and GitHub Copilot are utilized, particularly in UI/UX design workflows and collaborative projects.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
GitHub Copilot Talk to Figma MCP
This project implements a Model Context Protocol (MCP) integration between GitHub Copilot AI using Visual Studio Code and Figma, allowing GitHub Copilot to communicate with Figma for reading designs and modifying them programmatically.
Project Structure
src/talk_to_figma_mcp/- TypeScript MCP server for Figma integrationsrc/github-copilot-mcp-plugin/- Figma plugin for communicating with GitHub Copilot using Visual Studio codesrc/socket.ts- WebSocket server that facilitates communication between the MCP server and Figma plugin
Get Started
- Install Bun if you haven’t already:
curl -fsSL https://bun.sh/install | bash
- Run setup, this will also install MCP in your GitHub Copilot’s active project
bun setup
- Start the Websocket server
bun socket
- MCP server
bunx github-copilot-talk-to-figma-mcp-plugin
- Install Figma Plugin
Quick Video Tutorial
A video tutorial demonstrating the setup and usage of this plugin will be available soon.
Manual Setup and Installation
MCP Server: Integration with Visual Studio Code
Add the server to your GitHub Copilot MCP configuration in ~/.github-copilot/mcp.json:
{
"mcpServers": {
"TalkToFigma": {
"command": "bunx",
"args": [
"github-copilot-talk-to-figma-mcp-plugin@latest"
]
}
}
}
WebSocket Server
Start the WebSocket server:
bun socket
Figma Plugin
- In Figma, go to Plugins > Development > New Plugin
- Choose “Link existing plugin”
- Select the
src/github-copilot-mcp-plugin/manifest.jsonfile - The plugin should now be available in your Figma development plugins
Windows + WSL Guide
- Install bun via powershell
powershell -c "irm bun.sh/install.ps1|iex"
- Uncomment the hostname
0.0.0.0insrc/socket.ts
// uncomment this to allow connections in windows wsl
hostname: "0.0.0.0",
- Start the websocket
bun socket
Usage
- Start the WebSocket server
- Install the MCP server in GitHub Copilot
- Open Figma and run the GitHub Copilot MCP Plugin
- Connect the plugin to the WebSocket server by joining a channel using
join_channel - Use GitHub Copilot to communicate with Figma using the MCP tools
MCP Tools
The MCP server provides the following tools for interacting with Figma:
Document & Selection
get_document_info- Get information about the current Figma documentget_selection- Get information about the current selectionread_my_design- Get detailed node information about the current selection without parametersget_node_info- Get detailed information about a specific nodeget_nodes_info- Get detailed information about multiple nodes by providing an array of node IDs
Annotations
get_annotations- Get all annotations in the current document or specific nodeset_annotation- Create or update an annotation with markdown supportset_multiple_annotations- Batch create/update multiple annotations efficientlyscan_nodes_by_types- Scan for nodes with specific types (useful for finding annotation targets)
Creating Elements
create_rectangle- Create a new rectangle with position, size, and optional namecreate_frame- Create a new frame with position, size, and optional namecreate_text- Create a new text node with customizable font properties
Modifying text content
scan_text_nodes- Scan text nodes with intelligent chunking for large designsset_text_content- Set the text content of a single text nodeset_multiple_text_contents- Batch update multiple text nodes efficiently
Styling
set_fill_color- Set the fill color of a node (RGBA)set_stroke_color- Set the stroke color and weight of a nodeset_corner_radius- Set the corner radius of a node with optional per-corner control
Layout & Organization
move_node- Move a node to a new positionresize_node- Resize a node with new dimensionsdelete_node- Delete a nodedelete_multiple_nodes- Delete multiple nodes at once efficientlyclone_node- Create a copy of an existing node with optional position offset
Components & Styles
get_styles- Get information about local stylesget_local_components- Get information about local componentscreate_component_instance- Create an instance of a component
Export & Advanced
export_node_as_image- Export a node as an image (PNG, JPG, SVG, or PDF) - limited support on image currently returning base64 as text
Connection Management
join_channel- Join a specific channel to communicate with Figma
Troubleshooting
WebSocket Connection Issues
- Ensure the WebSocket server is running (
bun socket). - Check that the hostname is correctly configured in
src/socket.ts.
Figma Plugin Not Appearing
- Verify that the plugin is linked correctly in Figma’s development settings.
- Ensure the
manifest.jsonfile is in the correct location.
MCP Command Errors
- Check the WebSocket logs for error messages.
- Ensure the MCP server is installed and running (
bunx github-copilot-talk-to-figma-mcp-plugin).
How It Works
- The MCP server acts as a bridge between GitHub Copilot and Figma.
- The WebSocket server facilitates real-time communication between the MCP server and the Figma plugin.
- GitHub Copilot sends commands to the MCP server, which are executed in Figma via the plugin.
Example Use Cases
Create a Login Page
FastFigma: Create a login page with email, password fields, and a submit button
Bulk Text Replacement
FastFigma: Replace all instances of "Lorem Ipsum" with "Sample Text" in the current document
Prerequisites
- A Figma account
- GitHub Copilot subscription
- Node.js and Bun installed
Development
Building the Figma Plugin
-
Navigate to the Figma plugin directory:
cd src/github-copilot-mcp-plugin -
Edit code.js and ui.html
Tips for Faster Responses with GitHub Copilot in Figma
To maximize execution speed and efficiency when using GitHub Copilot with Figma, follow these steps:
FastFigma Prompt Template
Use the following prompt template to streamline your design requests:
System instruction: When creating Figma designs, you must follow these rules strictly: 1. Plan the entire design structure upfront without explaining your thinking 2. Execute all commands in rapid sequence without narration between steps 3. Skip all progress updates during execution 4. Only provide a brief summary after all commands are complete 5. When I use the prefix "FastFigma:", apply these rules rigidly Your goal is to maximize execution speed by eliminating all thinking/narration delays between commands.
Format for Design Requests
When making design requests, use the following format:
FastFigma: [your specific design request]
Example
FastFigma: Create a login page with email, password fields, and a submit button
By using this approach, you can ensure that GitHub Copilot processes your requests faster and more efficiently, minimizing delays and unnecessary explanations.
Best Practices
When working with the Figma MCP:
- Always join a channel before sending commands
- Get document overview using
get_document_infofirst - Check current selection with
get_selectionbefore modifications - Use appropriate creation tools based on needs:
create_framefor containerscreate_rectanglefor basic shapescreate_textfor text elements
- Verify changes using
get_node_info - Use component instances when possible for consistency
- Handle errors appropriately as all commands can throw exceptions
- For large designs:
- Use chunking parameters in
scan_text_nodes - Monitor progress through WebSocket updates
- Implement appropriate error handling
- Use chunking parameters in
- For text operations:
- Use batch operations when possible
- Consider structural relationships
- Verify changes with targeted exports
- For converting legacy annotations:
- Scan text nodes to identify numbered markers and descriptions
- Use
scan_nodes_by_typesto find UI elements that annotations refer to - Match markers with their target elements using path, name, or proximity
- Categorize annotations appropriately with
get_annotations - Create native annotations with
set_multiple_annotationsin batches - Verify all annotations are properly linked to their targets
- Delete legacy annotation nodes after successful conversion
Attribution
This project is a fork of Cursor Talk to Figma MCP by @sonnylazuardi, adapted for use with GitHub Copilot. The original project is licensed under MIT.
License
MIT
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










