figma-automation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFigma Automation via Rube MCP
通过Rube MCP实现Figma自动化
Automate Figma operations through Composio's Figma toolkit via Rube MCP.
通过Composio的Figma工具包,借助Rube MCP自动化Figma操作。
Prerequisites
前提条件
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Figma connection via with toolkit
RUBE_MANAGE_CONNECTIONSfigma - Always call first to get current tool schemas
RUBE_SEARCH_TOOLS
- 必须已连接Rube MCP(需具备RUBE_SEARCH_TOOLS功能)
- 通过并使用
RUBE_MANAGE_CONNECTIONS工具包,已建立有效的Figma连接figma - 请始终先调用以获取最新的工具schema
RUBE_SEARCH_TOOLS
Setup
设置步骤
Get Rube MCP: Add as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
https://rube.app/mcp- Verify Rube MCP is available by confirming responds
RUBE_SEARCH_TOOLS - Call with toolkit
RUBE_MANAGE_CONNECTIONSfigma - If connection is not ACTIVE, follow the returned auth link to complete Figma auth
- Confirm connection status shows ACTIVE before running any workflows
获取Rube MCP:在客户端配置中添加作为MCP服务器。无需API密钥 — 只需添加端点即可使用。
https://rube.app/mcp- 确认能正常响应,以此验证Rube MCP是否可用
RUBE_SEARCH_TOOLS - 调用并指定工具包为
RUBE_MANAGE_CONNECTIONSfigma - 如果连接状态未显示为ACTIVE,请按照返回的授权链接完成Figma授权
- 在运行任何工作流之前,确认连接状态为ACTIVE
Core Workflows
核心工作流
1. Get File Data and Components
1. 获取文件数据与组件
When to use: User wants to inspect Figma design files or extract component information
Tool sequence:
- - Extract IDs from Figma URLs [Prerequisite]
FIGMA_DISCOVER_FIGMA_RESOURCES - - Get file data (simplified by default) [Required]
FIGMA_GET_FILE_JSON - - Get specific node data [Optional]
FIGMA_GET_FILE_NODES - - List published components [Optional]
FIGMA_GET_FILE_COMPONENTS - - List component sets [Optional]
FIGMA_GET_FILE_COMPONENT_SETS
Key parameters:
- : File key from URL (e.g., 'abc123XYZ' from figma.com/design/abc123XYZ/...)
file_key - : Comma-separated node IDs (NOT an array)
ids - : Tree traversal depth (2 for pages and top-level children)
depth - : True for AI-friendly format (70%+ size reduction)
simplify
Pitfalls:
- Only supports Design files; FigJam boards and Slides return 400 errors
- must be a comma-separated string, not an array
ids - Node IDs may be dash-formatted (1-541) in URLs but need colon format (1:541) for API
- Broad ids/depth can trigger oversized payloads (413); narrow scope or reduce depth
- Response data may be in instead of
data_previewdata
适用场景:用户需要检查Figma设计文件或提取组件信息
工具执行顺序:
- - 从Figma URL中提取ID [前提步骤]
FIGMA_DISCOVER_FIGMA_RESOURCES - - 获取文件数据(默认简化格式)[必填步骤]
FIGMA_GET_FILE_JSON - - 获取特定节点数据 [可选步骤]
FIGMA_GET_FILE_NODES - - 列出已发布的组件 [可选步骤]
FIGMA_GET_FILE_COMPONENTS - - 列出组件集 [可选步骤]
FIGMA_GET_FILE_COMPONENT_SETS
关键参数:
- :URL中的文件密钥(例如:从figma.com/design/abc123XYZ/...中提取的'abc123XYZ')
file_key - :逗号分隔的节点ID(不是数组)
ids - :树遍历深度(设为2可获取页面及顶层子节点)
depth - :设为True可生成AI友好格式(数据量减少70%以上)
simplify
注意事项:
- 仅支持设计文件;FigJam白板和Slides幻灯片会返回400错误
- 必须是逗号分隔的字符串,而非数组
ids - URL中的节点ID可能是短横线格式(1-541),但API需要使用冒号格式(1:541)
- 过宽的ids范围或过深的depth会触发过大负载(413错误);请缩小范围或降低深度
- 响应数据可能位于而非
data_preview字段中data
2. Export and Render Images
2. 导出与渲染图片
When to use: User wants to export design assets as images
Tool sequence:
- - Find node IDs to export [Prerequisite]
FIGMA_GET_FILE_JSON - - Render nodes as images [Required]
FIGMA_RENDER_IMAGES_OF_FILE_NODES - - Download rendered images [Optional]
FIGMA_DOWNLOAD_FIGMA_IMAGES - - Get image fill URLs [Optional]
FIGMA_GET_IMAGE_FILLS
Key parameters:
- : File key
file_key - : Comma-separated node IDs to render
ids - : 'png', 'svg', 'jpg', or 'pdf'
format - : Scale factor (0.01-4.0) for PNG/JPG
scale - : Array of {node_id, file_name, format} for downloads
images
Pitfalls:
- Images return as node_id-to-URL map; some IDs may be null (failed renders)
- URLs are temporary (valid ~30 days)
- Images capped at 32 megapixels; larger requests auto-scaled down
适用场景:用户需要将设计资产导出为图片格式
工具执行顺序:
- - 查找需要导出的节点ID [前提步骤]
FIGMA_GET_FILE_JSON - - 将节点渲染为图片 [必填步骤]
FIGMA_RENDER_IMAGES_OF_FILE_NODES - - 下载已渲染的图片 [可选步骤]
FIGMA_DOWNLOAD_FIGMA_IMAGES - - 获取图片填充URL [可选步骤]
FIGMA_GET_IMAGE_FILLS
关键参数:
- :文件密钥
file_key - :逗号分隔的待渲染节点ID
ids - :'png', 'svg', 'jpg', 或 'pdf'
format - :PNG/JPG的缩放因子(0.01-4.0)
scale - :用于下载的对象数组,格式为{node_id, file_name, format}
images
注意事项:
- 图片会以“节点ID-URL”映射的形式返回;部分ID可能返回null(渲染失败)
- URL为临时链接(有效期约30天)
- 图片最大限制为3200万像素;更大的请求会自动缩小尺寸
3. Extract Design Tokens
3. 提取设计令牌
When to use: User wants to extract design tokens for development
Tool sequence:
- - Extract colors, typography, spacing [Required]
FIGMA_EXTRACT_DESIGN_TOKENS - - Convert to Tailwind config [Optional]
FIGMA_DESIGN_TOKENS_TO_TAILWIND
Key parameters:
- : File key
file_key - : Include local styles (default true)
include_local_styles - : Include Figma variables
include_variables - : Full tokens object from extraction (for Tailwind conversion)
tokens
Pitfalls:
- Tailwind conversion requires the full tokens object including total_tokens and sources
- Do not strip fields from the extraction response before passing to conversion
适用场景:用户需要提取设计令牌用于开发
工具执行顺序:
- - 提取颜色、排版、间距信息 [必填步骤]
FIGMA_EXTRACT_DESIGN_TOKENS - - 转换为Tailwind配置 [可选步骤]
FIGMA_DESIGN_TOKENS_TO_TAILWIND
关键参数:
- :文件密钥
file_key - :是否包含本地样式(默认true)
include_local_styles - :是否包含Figma变量
include_variables - :提取得到的完整令牌对象(用于Tailwind转换)
tokens
注意事项:
- 转换为Tailwind配置需要完整的令牌对象,包括total_tokens和sources字段
- 在传递给转换工具之前,请勿删除提取响应中的任何字段
4. Manage Comments and Versions
4. 管理评论与版本
When to use: User wants to view or add comments, or inspect version history
Tool sequence:
- - List all file comments [Optional]
FIGMA_GET_COMMENTS_IN_A_FILE - - Add a comment [Optional]
FIGMA_ADD_A_COMMENT_TO_A_FILE - - Get comment reactions [Optional]
FIGMA_GET_REACTIONS_FOR_A_COMMENT - - Get version history [Optional]
FIGMA_GET_VERSIONS_OF_A_FILE
Key parameters:
- : File key
file_key - : Return comments in Markdown format
as_md - : Comment text
message - : Comment ID for reactions
comment_id
Pitfalls:
- Comments can be positioned on specific nodes using client_meta
- Reply comments cannot be nested (only one level of replies)
适用场景:用户需要查看或添加评论,或检查版本历史
工具执行顺序:
- - 列出文件中的所有评论 [可选步骤]
FIGMA_GET_COMMENTS_IN_A_FILE - - 添加评论 [可选步骤]
FIGMA_ADD_A_COMMENT_TO_A_FILE - - 获取评论的反应 [可选步骤]
FIGMA_GET_REACTIONS_FOR_A_COMMENT - - 获取版本历史 [可选步骤]
FIGMA_GET_VERSIONS_OF_A_FILE
关键参数:
- :文件密钥
file_key - :是否以Markdown格式返回评论
as_md - :评论文本
message - :评论ID(用于获取反应)
comment_id
注意事项:
- 可以使用client_meta将评论定位到特定节点
- 回复评论不支持嵌套(仅支持一级回复)
5. Browse Projects and Teams
5. 浏览项目与团队
When to use: User wants to list team projects or files
Tool sequence:
- - List team projects [Optional]
FIGMA_GET_PROJECTS_IN_A_TEAM - - List project files [Optional]
FIGMA_GET_FILES_IN_A_PROJECT - - List team published styles [Optional]
FIGMA_GET_TEAM_STYLES
Key parameters:
- : Team ID from URL (figma.com/files/team/TEAM_ID/...)
team_id - : Project ID
project_id
Pitfalls:
- Team ID cannot be obtained programmatically; extract from Figma URL
- Only published styles/components are returned by team endpoints
适用场景:用户需要列出团队项目或文件
工具执行顺序:
- - 列出团队项目 [可选步骤]
FIGMA_GET_PROJECTS_IN_A_TEAM - - 列出项目中的文件 [可选步骤]
FIGMA_GET_FILES_IN_A_PROJECT - - 列出团队已发布的样式 [可选步骤]
FIGMA_GET_TEAM_STYLES
关键参数:
- :从URL中获取的团队ID(figma.com/files/team/TEAM_ID/...)
team_id - :项目ID
project_id
注意事项:
- 无法通过编程方式获取团队ID;需从Figma URL中提取
- 团队端点仅返回已发布的样式/组件
Common Patterns
常见模式
URL Parsing
URL解析
Extract IDs from Figma URLs:
1. Call FIGMA_DISCOVER_FIGMA_RESOURCES with figma_url
2. Extract file_key, node_id, team_id from response
3. Convert dash-format node IDs (1-541) to colon format (1:541)从Figma URL中提取ID:
1. 调用FIGMA_DISCOVER_FIGMA_RESOURCES并传入figma_url
2. 从响应中提取file_key, node_id, team_id
3. 将短横线格式的节点ID(1-541)转换为冒号格式(1:541)Node Traversal
节点遍历
1. Call FIGMA_GET_FILE_JSON with depth=2 for overview
2. Identify target nodes from the response
3. Call again with specific ids and higher depth for details1. 调用FIGMA_GET_FILE_JSON并设置depth=2以获取概览
2. 从响应中识别目标节点
3. 再次调用并传入特定ids和更高的depth以获取详细信息Known Pitfalls
已知注意事项
File Type Support:
- GET_FILE_JSON only supports Design files (figma.com/design/ or figma.com/file/)
- FigJam boards (figma.com/board/) and Slides (figma.com/slides/) are NOT supported
Node ID Formats:
- URLs use dash format:
node-id=1-541 - API uses colon format:
1:541
文件类型支持:
- GET_FILE_JSON仅支持设计文件(figma.com/design/ 或 figma.com/file/)
- 不支持FigJam白板(figma.com/board/)和Slides幻灯片(figma.com/slides/)
节点ID格式:
- URL中使用短横线格式:
node-id=1-541 - API中使用冒号格式:
1:541
Quick Reference
快速参考
| Task | Tool Slug | Key Params |
|---|---|---|
| Parse URL | FIGMA_DISCOVER_FIGMA_RESOURCES | figma_url |
| Get file JSON | FIGMA_GET_FILE_JSON | file_key, ids, depth |
| Get nodes | FIGMA_GET_FILE_NODES | file_key, ids |
| Render images | FIGMA_RENDER_IMAGES_OF_FILE_NODES | file_key, ids, format |
| Download images | FIGMA_DOWNLOAD_FIGMA_IMAGES | file_key, images |
| Get component | FIGMA_GET_COMPONENT | file_key, node_id |
| File components | FIGMA_GET_FILE_COMPONENTS | file_key |
| Component sets | FIGMA_GET_FILE_COMPONENT_SETS | file_key |
| Design tokens | FIGMA_EXTRACT_DESIGN_TOKENS | file_key |
| Tokens to Tailwind | FIGMA_DESIGN_TOKENS_TO_TAILWIND | tokens |
| File comments | FIGMA_GET_COMMENTS_IN_A_FILE | file_key |
| Add comment | FIGMA_ADD_A_COMMENT_TO_A_FILE | file_key, message |
| File versions | FIGMA_GET_VERSIONS_OF_A_FILE | file_key |
| Team projects | FIGMA_GET_PROJECTS_IN_A_TEAM | team_id |
| Project files | FIGMA_GET_FILES_IN_A_PROJECT | project_id |
| Team styles | FIGMA_GET_TEAM_STYLES | team_id |
| File styles | FIGMA_GET_FILE_STYLES | file_key |
| Image fills | FIGMA_GET_IMAGE_FILLS | file_key |
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 解析URL | FIGMA_DISCOVER_FIGMA_RESOURCES | figma_url |
| 获取文件JSON | FIGMA_GET_FILE_JSON | file_key, ids, depth |
| 获取节点 | FIGMA_GET_FILE_NODES | file_key, ids |
| 渲染图片 | FIGMA_RENDER_IMAGES_OF_FILE_NODES | file_key, ids, format |
| 下载图片 | FIGMA_DOWNLOAD_FIGMA_IMAGES | file_key, images |
| 获取组件 | FIGMA_GET_COMPONENT | file_key, node_id |
| 文件组件 | FIGMA_GET_FILE_COMPONENTS | file_key |
| 组件集 | FIGMA_GET_FILE_COMPONENT_SETS | file_key |
| 设计令牌 | FIGMA_EXTRACT_DESIGN_TOKENS | file_key |
| 令牌转Tailwind | FIGMA_DESIGN_TOKENS_TO_TAILWIND | tokens |
| 文件评论 | FIGMA_GET_COMMENTS_IN_A_FILE | file_key |
| 添加评论 | FIGMA_ADD_A_COMMENT_TO_A_FILE | file_key, message |
| 文件版本 | FIGMA_GET_VERSIONS_OF_A_FILE | file_key |
| 团队项目 | FIGMA_GET_PROJECTS_IN_A_TEAM | team_id |
| 项目文件 | FIGMA_GET_FILES_IN_A_PROJECT | project_id |
| 团队样式 | FIGMA_GET_TEAM_STYLES | team_id |
| 文件样式 | FIGMA_GET_FILE_STYLES | file_key |
| 图片填充 | FIGMA_GET_IMAGE_FILLS | file_key |