Figma Automation via Rube MCP
Automate Figma operations through Composio's Figma toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/figma
Prerequisites
- •Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- •Active Figma connection via
RUBE_MANAGE_CONNECTIONSwith toolkitfigma - •Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- •Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - •Call
RUBE_MANAGE_CONNECTIONSwith toolkitfigma - •If connection is not ACTIVE, follow the returned auth link to complete Figma auth
- •Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Get File Data and Components
When to use: User wants to inspect Figma design files or extract component information
Tool sequence:
- •
FIGMA_DISCOVER_FIGMA_RESOURCES- Extract IDs from Figma URLs [Prerequisite] - •
FIGMA_GET_FILE_JSON- Get file data (simplified by default) [Required] - •
FIGMA_GET_FILE_NODES- Get specific node data [Optional] - •
FIGMA_GET_FILE_COMPONENTS- List published components [Optional] - •
FIGMA_GET_FILE_COMPONENT_SETS- List component sets [Optional]
Key parameters:
- •
file_key: File key from URL (e.g., 'abc123XYZ' from figma.com/design/abc123XYZ/...) - •
ids: Comma-separated node IDs (NOT an array) - •
depth: Tree traversal depth (2 for pages and top-level children) - •
simplify: True for AI-friendly format (70%+ size reduction)
Pitfalls:
- •Only supports Design files; FigJam boards and Slides return 400 errors
- •
idsmust be a comma-separated string, not an array - •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
data_previewinstead ofdata
2. Export and Render Images
When to use: User wants to export design assets as images
Tool sequence:
- •
FIGMA_GET_FILE_JSON- Find node IDs to export [Prerequisite] - •
FIGMA_RENDER_IMAGES_OF_FILE_NODES- Render nodes as images [Required] - •
FIGMA_DOWNLOAD_FIGMA_IMAGES- Download rendered images [Optional] - •
FIGMA_GET_IMAGE_FILLS- Get image fill URLs [Optional]
Key parameters:
- •
file_key: File key - •
ids: Comma-separated node IDs to render - •
format: 'png', 'svg', 'jpg', or 'pdf' - •
scale: Scale factor (0.01-4.0) for PNG/JPG - •
images: Array of {node_id, file_name, format} for downloads
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
3. Extract Design Tokens
When to use: User wants to extract design tokens for development
Tool sequence:
- •
FIGMA_EXTRACT_DESIGN_TOKENS- Extract colors, typography, spacing [Required] - •
FIGMA_DESIGN_TOKENS_TO_TAILWIND- Convert to Tailwind config [Optional]
Key parameters:
- •
file_key: File key - •
include_local_styles: Include local styles (default true) - •
include_variables: Include Figma variables - •
tokens: Full tokens object from extraction (for Tailwind conversion)
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
4. Manage Comments and Versions
When to use: User wants to view or add comments, or inspect version history
Tool sequence:
- •
FIGMA_GET_COMMENTS_IN_A_FILE- List all file comments [Optional] - •
FIGMA_ADD_A_COMMENT_TO_A_FILE- Add a comment [Optional] - •
FIGMA_GET_REACTIONS_FOR_A_COMMENT- Get comment reactions [Optional] - •
FIGMA_GET_VERSIONS_OF_A_FILE- Get version history [Optional]
Key parameters:
- •
file_key: File key - •
as_md: Return comments in Markdown format - •
message: Comment text - •
comment_id: Comment ID for reactions
Pitfalls:
- •Comments can be positioned on specific nodes using client_meta
- •Reply comments cannot be nested (only one level of replies)
5. Browse Projects and Teams
When to use: User wants to list team projects or files
Tool sequence:
- •
FIGMA_GET_PROJECTS_IN_A_TEAM- List team projects [Optional] - •
FIGMA_GET_FILES_IN_A_PROJECT- List project files [Optional] - •
FIGMA_GET_TEAM_STYLES- List team published styles [Optional]
Key parameters:
- •
team_id: Team ID from URL (figma.com/files/team/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
Common Patterns
URL Parsing
Extract IDs from Figma URLs:
1. Call FIGMA_DISCOVER_FIGMA_RESOURCES with figma_url 2. Extract file_key