Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
TalkToFigma: MCP integration between AI Agent (Cursor, Claude Code, Codex) and Figma, allowing Agentic AI to communicate with Figma for reading designs and modifying them programmatically.
| Date | Stars |
|---|---|
| 2026-07-31 | 6942 |
| 2026-08-02 | 6942 |
| 2026-08-06 | 6953 |
Today
+11 stars today
This week
— stars this week
This month
— stars this month
Momentum
44.0
growth rate 0.00%/day
# Talk to Figma MCP
This project implements a Model Context Protocol (MCP) integration between AI agent (Cursor, Claude Code) and Figma, allowing AI agent to communicate with Figma for reading designs and modifying them programmatically.
https://github.com/user-attachments/assets/129a14d2-ed73-470f-9a4c-2240b2a4885c
## Project Structure
- `src/talk_to_figma_mcp/` - TypeScript MCP server for Figma integration
- `src/cursor_mcp_plugin/` - Figma plugin for communicating with Cursor
- `src/socket.ts` - WebSocket server that facilitates communication between the MCP server and Figma plugin
## How to use
1. Install Bun if you haven't already:
```bash
curl -fsSL https://bun.sh/install | bash
```
2. Run setup, this will also install MCP in your Cursor's active project
```bash
bun setup
```
3. Start the Websocket server
```bash
bun socket
```
4. **NEW** Install Figma plugin from [Figma community page](https://www.figma.com/community/plugin/1485687494525374295/cursor-talk-to-figma-mcp-plugin) or [install locally](#figma-plugin)
## Quick Video Tutorial
[Video Link](https://www.linkedin.com/posts/sonnylazuardi_just-wanted-to-share-my-latest-experiment-activity-7307821553654657024-yrh8)
## Design Automation Example
**Bulk text content replacement**
Thanks to [@dusskapark](https://github.com/dusskapark) for contributing the bulk text replacement feature. Here is the [demo video](https://www.youtube.com/watch?v=j05gGT3xfCs).
**Instance Override Propagation**
Another contribution from [@dusskapark](https://github.com/dusskapark)
Propagate component instance overrides from a source instance to multiple target instances with a single command. This feature dramatically reduces repetitive design work when working with component instances that need similar customizations. Check out our [demo video](https://youtu.be/uvuT8LByroI).
## Manual Setup and Installation
### MCP Server: Integration with Cursor
Add the server to your Cursor MCP configuration in `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"TalkToFigma": {
"command": "bunx",
"args": ["cursor-talk-to-figma-mcp@latest"]
}
}
}
```
### WebSocket Server
Start the WebSocket server:
```bash
bun socket
```
### Figma Plugin
1. In Figma, go to Plugins > Development > New Plugin
2. Choose "Link existing plugin"
3. Select the `src/cursor_mcp_plugin/manifest.json` file
4. The plugin should now be available in your Figma development plugins
## Windows + WSL Guide
1. Install bun via powershell
```bash
powershell -c "irm bun.sh/install.ps1|iex"
```
2. Uncomment the hostname `0.0.0.0` in `src/socket.ts`
```typescript
// uncomment this to allow connections in windows wsl
hostname: "0.0.0.0",
```
3. Start the websocket
```bash
bun socket
```
## Usage
1. Start the WebSocket server
2. Install the MCP server in Cursor
3. Open Figma and run the Cursor MCP Plugin
4. Connect the plugin to the WebSocket server by joining a channel using `join_channel`
5. Use Cursor to communicate with Figma using the MCP tools
## Local Development Setup
To develop, update your mcp config to direct to your local directory.
```json
{
"mcpServers": {
"TalkToFigma": {
"command": "bun",
"args": ["/path-to-repo/src/talk_to_figma_mcp/server.ts"]
}
}
}
```
## MCP Tools
The MCP server provides the following tools for interacting with Figma:
### Document & Selection
- `get_document_info` - Get information about the current Figma document
- `get_selection` - Get information about the current selection
- `read_my_design` - Get detailed node information about the current selection without parameters
- `get_node_info` - Get detailed information about a specific node
- `get_nodes_info` - Get detailed information about multiple nodes by providing an array of node IDs
- `set_focus` - Set focus on a specific node by selecting it and scrolling viewport to it
- `set_selections` - Set selection to multiple nodes and scroll viewport to show them
### Annotations
Excerpt of 9,821 characters
Read on GitHubSonny Lazuardi · @grab · Singapore
89
JooHyung Park · Grab · Singapore
42
7
Sergio Álvarez Leiva
3
Juan Silva · @ZokuWebDesign · Brazil
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:97d5a0ebc62c63cd, topic:ai-agents, topic:agentic, topic:agentic-ai
matched fp:97d5a0ebc62c63cd, topic:mcp, topic:model-context-protocol