cursor-talk-to-figma-mcp

GitHub
6.7k 720 较难 1 次阅读 今天MIT图像Agent开发框架语言模型
AI 解读 由 AI 自动生成,仅供参考

cursor-talk-to-figma-mcp 是一款基于模型上下文协议(MCP)的开源桥梁,旨在打通 AI 编程助手(如 Cursor、Claude Code)与设计工具 Figma 之间的壁垒。它让 AI 代理能够直接“读懂”并“操作”Figma 设计稿,实现从读取设计细节到程序化修改的全流程自动化。

长期以来,设计师与开发者在协作中常面临设计稿与代码脱节、手动同步耗时费力等痛点。此项目通过建立实时通信通道,允许用户在 Cursor 中直接用自然语言指令控制 Figma,例如批量替换文本内容、一键传播组件实例的覆盖属性等。这不仅消除了重复性的手动操作,还大幅提升了设计迭代和前端开发的协同效率。

该工具主要面向希望提升工作流的开发者、技术型设计师以及探索 AI 辅助设计的研究人员。其核心技术亮点在于独特的架构设计:由 TypeScript 编写的 MCP 服务器、Figma 插件以及 WebSocket 服务三者协同,确保了 AI 指令能安全、低延迟地转化为具体的设计操作。无论是进行大规模内容更新还是复杂的组件管理,cursor-talk-to-figma-mcp 都为构建“设计即代码”的智能化工作流提供了强有力的支持。

使用场景

某电商团队的设计师刚完成大促活动页的 Figma 设计稿,开发人员需要立即将其中数百个商品卡片内的占位文本替换为真实营销文案,并统一调整特定组件的样式变体。

没有 cursor-talk-to-figma-mcp 时

  • 开发人员必须手动在 Figma 中逐个选中图层,复制 ID 后再切换回代码编辑器查找对应文案,流程极其割裂。
  • 面对上百个重复的商品卡片,只能机械地重复“选中 - 修改”操作,耗时数小时且极易因疲劳导致漏改或错改。
  • 若需将某个主组件的样式覆盖(Override)同步到所有实例,必须手动遍历每个实例进行属性对齐,效率低下。
  • 设计与代码之间缺乏直接沟通渠道,任何批量修改需求都依赖人工传递,难以实现程序化的精准控制。
  • 遇到复杂的嵌套组件结构时,非设计背景的开发者往往不敢随意操作,担心破坏原有布局逻辑。

使用 cursor-talk-to-figma-mcp 后

  • 开发者直接在 Cursor 中输入自然语言指令,AI 即可通过 MCP 协议读取当前选中的设计节点信息,无需手动切换上下文。
  • 只需提供一份 JSON 格式的文案列表,AI 便能自动遍历所有目标图层,秒级完成数百处文本的批量精准替换。
  • 通过单条命令即可将源实例的样式覆盖属性传播至多个目标实例,瞬间完成原本繁琐的组件变体同步工作。
  • AI 代理能直接调用 set_selectionsget_node_info 等工具,以代码逻辑精确操控设计稿,实现真正的自动化流转。
  • 即使面对深层嵌套的复杂组件,AI 也能准确识别节点层级并安全执行修改,让开发者像操作代码一样自信地操作设计稿。

cursor-talk-to-figma-mcp 打破了设计与开发之间的工具壁垒,让 AI 代理成为连接两者的桥梁,将原本耗时数小时的手工劳作转化为分钟级的自动化流程。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows (需 WSL)
GPU

未说明

内存

未说明

依赖
notes1. 必须安装 Bun 运行时环境。2. 宿主编辑器需为 Cursor 或支持 MCP 的 AI 代理。3. 需在 Figma 中安装配套插件并通过 WebSocket 连接。4. Windows 用户建议使用 WSL 并修改 socket.ts 配置以允许网络连接。
python不需要 Python (基于 Bun/TypeScript)
Bun
Cursor IDE
Figma Plugin API
WebSocket
cursor-talk-to-figma-mcp hero image

快速开始

与 Figma 的 MCP 对话

该项目实现了 AI 助手(Cursor、Claude Code)与 Figma 之间的模型上下文协议 (MCP) 集成,使 AI 助手能够与 Figma 通信,以读取设计并以编程方式对其进行修改。

https://github.com/user-attachments/assets/129a14d2-ed73-470f-9a4c-2240b2a4885c

项目结构

  • src/talk_to_figma_mcp/ - 用于 Figma 集成的 TypeScript MCP 服务器
  • src/cursor_mcp_plugin/ - 用于与 Cursor 通信的 Figma 插件
  • src/socket.ts - 协助 MCP 服务器与 Figma 插件之间通信的 WebSocket 服务器

使用方法

  1. 如果尚未安装 Bun,请先安装:
curl -fsSL https://bun.sh/install | bash
  1. 运行设置脚本,这也会在 Cursor 的当前项目中安装 MCP:
bun setup
  1. 启动 WebSocket 服务器:
bun socket
  1. 新增:从 Figma 社区页面 安装 Figma 插件,或按照本地安装步骤进行安装。

快速视频教程

视频链接

设计自动化示例

批量替换文本内容

感谢 @dusskapark 贡献的批量文本替换功能。以下是演示视频

实例覆盖传播 另一项来自 @dusskapark 的贡献: 通过一条命令将组件实例的覆盖从源实例传播到多个目标实例。此功能在处理需要类似自定义的组件实例时,可大幅减少重复性设计工作。请查看我们的演示视频

手动设置与安装

MCP 服务器:与 Cursor 的集成

将服务器添加到 Cursor 的 MCP 配置文件 ~/.cursor/mcp.json 中:

{
  "mcpServers": {
    "TalkToFigma": {
      "command": "bunx",
      "args": ["cursor-talk-to-figma-mcp@latest"]
    }
  }
}

WebSocket 服务器

启动 WebSocket 服务器:

bun socket

Figma 插件

  1. 在 Figma 中,前往“插件”>“开发”>“新建插件”。
  2. 选择“链接现有插件”。
  3. 选择 src/cursor_mcp_plugin/manifest.json 文件。
  4. 插件现在应出现在您的 Figma 开发插件列表中。

Windows + WSL 指南

  1. 通过 PowerShell 安装 Bun:
powershell -c "irm bun.sh/install.ps1|iex"
  1. src/socket.ts 中取消注释主机名 0.0.0.0
// 取消注释以允许 Windows WSL 中的连接
hostname: "0.0.0.0",
  1. 启动 WebSocket:
bun socket

使用说明

  1. 启动 WebSocket 服务器。
  2. 将 MCP 服务器安装到 Cursor 中。
  3. 打开 Figma 并运行 Cursor MCP 插件。
  4. 通过使用 join_channel 命令加入频道,将插件连接到 WebSocket 服务器。
  5. 使用 Cursor 通过 MCP 工具与 Figma 通信。

本地开发设置

若要进行开发,请更新 MCP 配置,使其指向您的本地目录:

{
  "mcpServers": {
    "TalkToFigma": {
      "command": "bun",
      "args": ["/path-to-repo/src/talk_to_figma_mcp/server.ts"]
    }
  }
}

MCP 工具

MCP 服务器提供以下工具来与 Figma 交互:

文档与选择

  • get_document_info - 获取当前 Figma 文档的信息
  • get_selection - 获取当前选区的信息
  • read_my_design - 无需参数即可获取当前选区的详细节点信息
  • get_node_info - 获取特定节点的详细信息
  • get_nodes_info - 通过提供节点 ID 数组获取多个节点的详细信息
  • set_focus - 通过选中并滚动视口将焦点设置到特定节点
  • set_selections - 将选区设置为多个节点,并滚动视口以显示它们

注释

  • get_annotations - 获取当前文档或特定节点中的所有注释
  • set_annotation - 创建或更新支持 Markdown 的注释
  • set_multiple_annotations - 高效地批量创建或更新多个注释
  • scan_nodes_by_types - 扫描具有特定类型的节点(可用于查找注释目标)

原型与连接

  • get_reactions - 获取带有视觉高亮动画的节点的所有原型反应
  • set_default_connector - 将复制的 FigJam 连接线设置为创建连接的默认样式(必须在创建连接之前设置)
  • create_connections - 根据原型流程或自定义映射,在节点之间创建 FigJam 连接线

创建元素

  • create_rectangle - 创建具有位置、尺寸及可选名称的新矩形
  • create_frame - 创建具有位置、尺寸及可选名称的新框架
  • create_text - 创建具有可自定义字体属性的新文本节点

修改文本内容

  • scan_text_nodes - 对大型设计中的文本节点进行智能分块扫描
  • set_text_content - 设置单个文本节点的文本内容
  • set_multiple_text_contents - 高效地批量更新多个文本节点

自动布局与间距

  • set_layout_mode - 设置框架的布局模式和换行行为(无、水平、垂直)
  • set_padding - 设置自动布局框架的内边距值(上、右、下、左)
  • set_axis_align - 设置自动布局框架的主要轴和次轴对齐方式
  • set_layout_sizing - 设置自动布局框架的水平和垂直尺寸模式(固定、包裹、填充)
  • set_item_spacing - 设置自动布局框架中子元素之间的距离

样式

  • set_fill_color - 设置节点的填充颜色(RGBA)
  • set_stroke_color - 设置节点的笔触颜色和宽度
  • set_corner_radius - 设置节点的圆角半径,可单独控制每个角

布局与组织

  • move_node - 将节点移动到新位置
  • resize_node - 用新尺寸调整节点大小
  • delete_node - 删除节点
  • delete_multiple_nodes - 高效地一次删除多个节点
  • clone_node - 创建现有节点的副本,可选择偏移位置

组件与样式

  • get_styles - 获取本地样式的信息
  • get_local_components - 获取本地组件的信息
  • create_component_instance - 创建组件实例
  • get_instance_overrides - 从选定的组件实例中提取覆盖属性
  • set_instance_overrides - 将提取的覆盖应用到目标实例

导出与高级功能

  • export_node_as_image - 将节点导出为图像(PNG、JPG、SVG 或 PDF)——目前图像导出支持有限,返回的是 Base64 编码的文本。

连接管理

  • join_channel - 加入特定通道以与 Figma 通信

MCP 提示

MCP 服务器包含多个辅助提示,用于指导您完成复杂的设计任务:

  • design_strategy - 使用 Figma 设计的最佳实践
  • read_design_strategy - 阅读 Figma 设计的最佳实践
  • text_replacement_strategy - 在 Figma 设计中系统性替换文本的方法
  • annotation_conversion_strategy - 将手动标注转换为 Figma 原生标注的策略
  • swap_overrides_instances - 在 Figma 中将覆盖属性在组件实例之间转移的策略
  • reaction_to_connector_strategy - 利用 get_reactions 的输出将 Figma 原型中的交互转换为连接线,并指导按顺序使用 create_connections 的策略

开发

构建 Figma 插件

  1. 导航到 Figma 插件目录:

    cd src/cursor_mcp_plugin
    
  2. 编辑 code.js 和 ui.html

最佳实践

在使用 Figma MCP 时:

  1. 发送命令前务必加入频道。

  2. 首先使用 get_document_info 获取文档概览。

  3. 在进行修改前,使用 get_selection 检查当前选中内容。

  4. 根据需求使用合适的创建工具:

    • 使用 create_frame 创建容器;
    • 使用 create_rectangle 创建基本形状;
    • 使用 create_text 创建文本元素。
  5. 使用 get_node_info 验证更改。

  6. 尽可能使用组件实例以保持一致性。

  7. 所有命令都可能抛出异常,因此需妥善处理错误。

  8. 对于大型设计:

    • scan_text_nodes 中使用分块参数;
    • 通过 WebSocket 更新监控进度;
    • 实现适当的错误处理。
  9. 进行文本操作时:

    • 尽量使用批量操作;
    • 考虑结构关系;
    • 通过定向导出来验证更改。
  10. 转换旧版标注时:

    • 扫描文本节点以识别编号标记和描述;
    • 使用 scan_nodes_by_types 查找标注所指的 UI 元素;
    • 根据路径、名称或位置接近度将标记与目标元素匹配;
    • 使用 get_annotations 对标注进行合理分类;
    • 使用 set_multiple_annotations 分批创建原生标注;
    • 验证所有标注是否正确链接到目标元素;
    • 成功转换后删除旧版标注节点。
  11. 将原型流程可视化为 FigJam 连接线:

    • 使用 get_reactions 提取原型流程;
    • 使用 set_default_connector 设置默认连接线样式;
    • 使用 create_connections 生成连接线,以清晰地映射视觉流程。

许可证

MIT

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

156.8k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|5天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|5天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架