Claude与Figma MCP对话
一个模型上下文协议(MCP)插件,允许Claude Desktop和其他AI工具(GitHub Copilot、Cursor等)直接与Figma交互,实现强大的AI辅助设计功能。
重要:本项目基于 光标与figma mcp对话 桑尼·拉祖迪。它已被调整为与Claude Desktop配合使用,并扩展了其他工具。原始信用属于Sonny Lazuardi❤️
⚡ 安装
1.先决条件
2.设置
git clone https://github.com/arinspunk/claude-talk-to-figma-mcp.git
cd claude-talk-to-figma-mcp
bun install- macOS/Linux:
bun run build - 视窗:
bun run build:win
3.AI客户端配置
选项1:DXT软件包(仅限克劳德桌面版)
- 下载:获取最新信息
claude-talk-to-figma-mcp.dxt从 发布 - 安装:双击
.dxtfile → Claude Desktop会自动安装
选项2:JSON(克劳德桌面或光标)
- 克劳德桌面:运行
bun run configure-claude(重新启动克劳德桌面) - 光标:
1. 转到光标设置→ 工具和集成 1. 点击“新建MCP服务器”打开 mcp.json config(截图) 1. 添加此配置:
{
"mcpServers": {
"ClaudeTalkToFigma": {
"command": "bunx",
"args": ["claude-talk-to-figma-mcp@latest"]
}
}
}4. 保存文件(截图)
4.设置Figma插件(所有方法都需要)
导入 src/claude_mcp_plugin/manifest.json 在Figma→ Menu → 插件→ 发展
4.首次连接
- 启动服务器:
bun socket(核实http://localhost:3055/status) - 连接插件:在Figma中打开Claude MCP插件→ 复制频道ID
- 测试:询问您的AI客户端:“与Figma对话,频道{频道ID}”
✅ 成功:你的AI应该确认连接,然后你就可以开始设计了!
______________________________________________________________________
🚀 核心概念
运作原理
Claude Desktop ↔ MCP Server ↔ WebSocket Server ↔ Figma Plugin简单:Claude发送设计命令→ Figma实时执行它们\ 双向:从Figma获取信息,创建/修改元素,管理组件
关键能力
- 文档交互:分析设计、获取选择、导出资产
- 元素创建:具有完全样式控制的形状、文本、框架
- 智能修改:颜色、效果、自动布局、响应式设计
- 文本精通:高级排版、字体加载、文本扫描
- 组件集成:本地和团队库组件
______________________________________________________________________
🛠️ 使用模式
AI设计入门
- 让Claude成为用户体验专家: 使用此提示 🎨
- 连接到您的项目:“与Figma对话,频道{频道ID}”
- 开始设计:“创建具有现代风格的移动应用程序登录屏幕”
有效的激励示例
✅ Good: "Create a dashboard with a sidebar navigation, header with user profile, and main content area with card-based metrics"
✅ Good: "Redesign this button component with hover states and better contrast ratios"
❌ Avoid: "Make it look nice" (too vague)______________________________________________________________________
📚 命令参考
📄 文档工具
| 命令 | 目的 | 示例使用 |
|---|---|---|
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元素 |
______________________________________________________________________
构建DXT包(开发人员)
要创建自己的DXT包,请执行以下操作:
npm run build:dxt # Builds TypeScript and packages DXT这创造了 claude-talk-to-figma-mcp.dxt 准备分发。
______________________________________________________________________
🧪 测试和质量保证
自动化测试
bun run test # Run all tests
bun run test:watch # Watch mode
bun run test:coverage # Coverage report集成测试
bun run test:integration # Guided end-to-end testing手动验证检查表
- \[\]WebSocket服务器在端口3055上启动
- \[\]Figma插件连接并生成通道ID
- \[\]AI工具识别“ClaudeTalkToFigma”MCP(克劳德桌面、光标等)
- \[\]执行基本命令(创建矩形、更改颜色)
- \[\]错误处理工作(无效命令、超时)
- \[\]AI工具和Figma之间的通道通信工作
______________________________________________________________________
🐛 故障排除和支持
连接问题
- “无法连接到WebSocket”:确保
bun socket正在运行 - “未找到插件”:在Figma开发设置中验证插件导入
- “MCP不可用”:
- 克劳德桌面:运行 bun run configure-claude 并重新启动克劳德 - 光标IDE:检查MCP配置 mcp.json 文件 - 其他AI工具:验证MCP集成设置
执行问题
- “命令失败”:检查Figma开发控制台是否有错误
- “找不到字体”:使用
load_font_async验证字体可用性 - “权限被拒绝”:确保您对Figma文档具有编辑权限
- “超时错误”:复杂的操作可能需要重试
性能问题
- 反应缓慢:大型文档可能需要更多的处理时间
- 内存使用:关闭未使用的Figma选项卡,必要时重新启动
- WebSocket断开连接:服务器自动重新连接,如果持续,则重新启动
常见解决方案
- 重启顺序:停止服务器→ 关闭AI工具→ 重新启动两者
- 清洁重新安装:删除
node_modules→bun install→bun run build - 检查日志:服务器终端显示详细的错误消息
- 更新字体:有些团队字体需要在Figma中手动加载
- 配置检查:在AI工具的设置中验证MCP设置
- 端口冲突:确保端口3055未被其他应用程序使用
______________________________________________________________________
🏗️ 高级主题
建筑深潜
+----------------+ +-------+ +---------------+ +---------------+
| | | | | | | |
| Claude Desktop || MCP || WebSocket Srv || Figma Plugin |
| (AI Agent) | | | | (Port 3055) | | (UI Plugin) |
| | | | | | | |
+----------------+ +-------+ +---------------+ +---------------+设计原则:
- MCP服务器:业务逻辑、验证、默认值
- WebSocket服务器:消息路由和协议转换
- Figma插件:Figma上下文中的纯命令执行器
益处:
- 明确区分关注点
- 易于测试和维护
- 用于附加工具的可扩展架构
项目结构
src/
talk_to_figma_mcp/ # MCP Server implementation
server.ts # Main entry point
tools/ # Tool categories by function
document-tools.ts # Document interaction
creation-tools.ts # Shape and element creation
modification-tools.ts # Property modification
text-tools.ts # Text manipulation
utils/ # Shared utilities
types/ # TypeScript definitions
claude_mcp_plugin/ # Figma plugin
code.js # Plugin implementation
manifest.json # Plugin configuration贡献指南
- 叉和分支:
git checkout -b feature/amazing-feature - 代码规范:遵循现有的TypeScript模式
- 测试:添加新功能的测试
- 文档:更新相关章节
- 拉取请求:对变更的清晰描述
最近的贡献者
______________________________________________________________________
📋 版本历史记录
当前版本:0.6.1
- 🔧 工具修复:The
set_stroke_color工具现在可以正确接受strokeWeight的0用于创建不可见的笔划。
上一页:0.6.0
- 📦 自动化配送:用于自动生成DXT包和发布上传的GitHub Actions工作流
- ⚡ 增强的用户体验:终端用户的安装时间从15-30分钟缩短到2-5分钟
- 🔧 开发者工具:DXT打包的新构建脚本(
npm run build:dxt,npm run pack)
看 更改日志.md 查看完整的版本历史记录。
______________________________________________________________________
📄 许可证和信用证
许可证:MIT许可证-请参阅 许可证 文件
作者:
- Xúlio Zé - *克劳德改编* -
- 桑尼·拉祖迪 - *原始实施* -
致谢:
- 克劳德和模型上下文协议的拟人团队
- 优秀插件API的Figma社区
- Bun团队实现快速JavaScript运行时
