Claude Talk to Figma MCP 是一款模型上下文协议(MCP)插件,它允许 Claude Desktop 及其他 AI 工具(如 GitHub Copilot、Cursor 等)直接与 Figma 进行交互,从而实现强大的 AI 辅助设计功能。
git clone https://github.com/arinspunk/claude-talk-to-figma-mcp.git
cd claude-talk-to-figma-mcp
bun install
bun run build。bun run build:win。claude-talk-to-figma-mcp.dxt 文件。.dxt 文件,Claude Desktop 将自动完成安装。bun run configure-claude,然后重启 Claude Desktop。mcp.json 配置文件(截图)。{
"mcpServers": {
"ClaudeTalkToFigma": {
"command": "bunx",
"args": ["claude-talk-to-figma-mcp@latest"]
}
}
}
在 Figma 中,通过菜单选择“Plugins”→“Development”,导入 src/claude_mcp_plugin/manifest.json 文件。
bun socket,并在 http://localhost:3055/status 验证服务器是否正常运行。✅ 成功标志:AI 确认连接成功后,你即可开始设计!
Claude Desktop ↔ MCP Server ↔ WebSocket Server ↔ Figma Plugin
若要创建自己的 DXT 包,可执行以下命令:
npm run build:dxt # 构建 TypeScript 并打包 DXT
此命令将生成 claude-talk-to-figma-mcp.dxt 文件,可用于分发。
✅ 推荐:"Create a dashboard with a sidebar navigation, header with user profile, and main content area with card-based metrics"
✅ 推荐:"Redesign this button component with hover states and better contrast ratios"
❌ 避免:"Make it look nice"(过于模糊)
| 命令 | 用途 | 示例用法 |
|---|---|---|
get_document_info |
文档分析 | 获取项目概述 |
get_selection |
获取当前选择内容 | 查看当前选中的元素 |
get_node_info |
获取元素详细信息 | 检查特定组件 |
get_nodes_info |
获取多个元素信息 | 批量检查元素 |
scan_text_nodes |
查找所有文本 | 进行文本审核和更新 |
get_styles |
获取文档样式 | 审核颜色和文本样式 |
join_channel |
连接到 Figma | 建立通信 |
export_node_as_image |
导出资源 | 生成设计资源 |
| 命令 | 用途 | 示例用法 |
|---|---|---|
create_rectangle |
创建基本形状 | 创建按钮、背景等 |
create_frame |
创建布局容器 | 创建页面部分、卡片等 |
create_text |
创建文本元素 | 创建标题、标签等 |
create_ellipse |
创建圆形/椭圆形 | 创建头像、图标等 |
create_polygon |
创建多边形 | 创建自定义几何元素 |
create_star |
创建星形 | 创建装饰元素 |
clone_node |
复制元素 | 复制现有设计 |
group_nodes |
组织元素 | 对组件进行分组 |
ungroup_nodes |
拆分组 | 拆分组件 |
insert_child |
嵌套元素 | 创建层次结构 |
flatten_node |
矢量操作 | 进行布尔运算 |
| 命令 | 用途 | 示例用法 |
|---|---|---|
set_fill_color |
设置元素颜色 | 应用品牌颜色 |
set_stroke_color |
设置边框颜色 | 调整轮廓样式 |
move_node |
定位元素 | 调整布局 |
resize_node |
调整元素大小 | 实现响应式缩放 |
delete_node |
删除元素 | 清理设计 |
set_corner_radius |
设置圆角 | 实现现代 UI 样式 |
set_auto_layout |
设置类似 Flexbox 的布局 | 调整组件间距 |
set_effects |
设置阴影/模糊效果 | 提升视觉效果 |
set_effect_style_id |
应用效果样式 | 保持一致的阴影样式 |
| 命令 | 用途 | 示例用法 |
|---|---|---|
set_text_content |
更新文本内容 | 修改文案 |
set_multiple_text_contents |
批量更新文本内容 | 批量编辑元素 |
set_font_name |
设置排版字体 | 应用品牌字体 |
set_font_size |
设置文本大小 | 创建层次结构 |
set_font_weight |
设置文本粗细 | 实现粗体/细体变化 |
set_letter_spacing |
设置字符间距 | 微调排版 |
set_line_height |
设置垂直间距 | 提高文本可读性 |
set_paragraph_spacing |
设置段落间距 | 构建内容结构 |
set_text_case |
转换大小写 | 实现大写/小写/标题大小写 |
set_text_decoration |
设置文本样式 | 添加下划线/删除线 |
get_styled_text_segments |
分析文本 | 检查富文本 |
load_font_async |
加载字体 | 访问自定义字体 |
| 命令 | 用途 | 示例用法 |
|---|---|---|
get_local_components |
获取项目组件 | 审核设计系统 |
get_remote_components |
获取团队库组件 | 访问共享组件 |
create_component_instance |
使用组件 | 创建一致的 UI 元素 |
+----------------+ +-------+ +---------------+ +---------------+
| | | | | | | |
| Claude Desktop |<--->| MCP |<--->| WebSocket Srv |<--->| Figma Plugin |
| (AI Agent) | | | | (Port 3055) | | (UI Plugin) |
| | | | | | | |
+----------------+ +-------+ +---------------+ +---------------+
设计原则:
优势:
src/
talk_to_figma_mcp/ # MCP Server 实现
server.ts # 主入口点
tools/ # 按功能划分的工具类别
document-tools.ts # 文档交互工具
creation-tools.ts # 形状和元素创建工具
modification-tools.ts # 属性修改工具
text-tools.ts # 文本处理工具
utils/ # 共享实用工具
types/ # TypeScript 定义
claude_mcp_plugin/ # Figma 插件
code.js # 插件实现
manifest.json # 插件配置
git checkout -b feature/amazing-feature。bun run test # 运行所有测试
bun run test:watch # 开启监听模式
bun run test:coverage # 生成覆盖率报告
bun run test:integration # 进行端到端的引导式测试
bun socket 正在运行。bun run configure-claude 并重启 Claude。mcp.json 文件中的 MCP 配置。load_font_async 验证字体可用性。node_modules 文件夹,执行 bun install 和 bun run build。npm run build:dxt,npm run pack)。完整版本历史请参阅 CHANGELOG.md。
许可证:本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
作者:
致谢: