xiaohongshu
xiaohongshu
mcp-figma
Figma design file access via MCP providing 18 tools for file retrieval, image export, component/style extraction, team management, and collaborative commenting. Accessed via Code Mode for token-efficient workflows.
Full skill instructions
Programmatic access to Figma design files through 18 specialized tools covering file retrieval, image export, component/style extraction, and collaboration. Accessed via Code Mode for token-efficient on-demand access.
Core Principle: Design-to-code bridge - Figma MCP enables AI assistants to read and understand design files.
| Option | Name | Type | Best For |
|---|---|---|---|
| A | Official Figma MCP | HTTP (mcp.figma.com) | Simplicity - no install, OAuth login |
| B | Framelink (3rd-party) | stdio (local) | Code Mode integration, API key auth |
Recommendation: Start with Option A (Official) - zero installation, OAuth login, works immediately. See Install Guide for setup details.
Use when:
Keyword Triggers:
Do not use for:
TASK CONTEXT
│
├─► Need to get Figma file or nodes
│ └─► Tools: get_file, get_file_nodes
│
├─► Need to export images
│ └─► Tools: get_image, get_image_fills
│
├─► Need component information
│ └─► Tools: get_file_components, get_component, get_team_components
│
├─► Need style/token information
│ └─► Tools: get_file_styles, get_style, get_team_styles
│
├─► Need team/project navigation
│ └─► Tools: get_team_projects, get_project_files
│
└─► Need to manage comments
└─► Tools: get_comments, post_comment, delete_comment
def route_figma_resources(task):
"""
Resource Router for mcp-figma skill
Load references based on task context
"""
# ──────────────────────────────────────────────────────────────────
# QUICK START
# Purpose: First-time usage, verification, basic commands
# Key Insight: Fastest path to working state
# ──────────────────────────────────────────────────────────────────
if task.is_first_use or task.needs_verification:
return load("references/quick_start.md")
# ──────────────────────────────────────────────────────────────────
# COMPLETE REFERENCE
# Purpose: All 18 tools with descriptions and interfaces
# Key Insight: Use for discovery or when unsure which tool
# ──────────────────────────────────────────────────────────────────
if task.needs_tool_discovery or task.needs_full_reference:
return load("references/tool_reference.md")
# Default: SKILL.md covers basic usage
# ══════════════════════════════════════════════════════════════════════
# STATIC RESOURCES (always available, not conditionally loaded)
# ══════════════════════════════════════════════════════════════════════
# assets/tool_categories.md → Priority categorization of all 18 tools
Figma MCP is accessed via Code Mode's call_tool_chain() for token efficiency.
Naming Convention:
figma.figma_{tool_name}
Process Flow:
STEP 1: Discover Tools
├─ Use search_tools() for capability-based discovery
├─ Use tool_info() for specific tool details
└─ Output: Tool name and parameters
↓
STEP 2: Execute via Code Mode
├─ Use call_tool_chain() with TypeScript code
├─ Await figma.figma_{tool_name}({params})
└─ Output: Tool results
↓
STEP 3: Process Results
└─ Parse and present findings
// Discover Figma tools
search_tools({ task_description: "figma design components" });
// Get tool details
tool_info({ tool_name: "figma.figma.get_file" });
// Get a Figma file
call_tool_chain({
code: `
const file = await figma.figma_get_file({
fileKey: "abc123XYZ"
});
console.log('File:', file.name);
return file;
`
});
// Export as image
call_tool_chain({
code: `
const images = await figma.figma_get_image({
fileKey: "abc123XYZ",
ids: ["1:234"],
format: "png",
scale: 2
});
return images;
`
});
// Get components
call_tool_chain({
code: `
const components = await figma.figma_get_file_components({
fileKey: "abc123XYZ"
});
return components;
`
});
The file key is in your Figma URL:
https://www.figma.com/file/ABC123xyz/My-Design
└─────────┘
This is fileKey
ALWAYS use Code Mode for Figma invocation
call_tool_chain() with TypeScriptALWAYS use full tool naming convention
figma.figma_{tool_name}figma.figma_get_file({ fileKey: "abc" })ALWAYS verify file key format
ALWAYS handle pagination for team queries
page_size and cursor parameterscursor in response for more pagesALWAYS check API key before operations
figma_check_api_key() to verifyNEVER skip the figma_ prefix in tool names
await figma.get_file({})await figma.figma_get_file({})NEVER hardcode Figma tokens
.env fileNEVER assume node IDs are stable
NEVER ignore rate limits
ESCALATE IF authentication fails repeatedly
ESCALATE IF file not found
ESCALATE IF rate limited
File access complete when:
get_file returns file structureImage export complete when:
get_image returns image URLsComponent extraction complete when:
get_file_components returns component listStyle extraction complete when:
get_file_styles returns style list| Checkpoint | Validation |
|---|---|
tools_discovered | search_tools() returns Figma tools |
auth_verified | check_api_key() confirms token |
file_accessible | get_file() returns file data |
export_working | get_image() returns URLs |
Before using this skill, ensure:
.env fileDependency Chain:
┌─────────────────────────────────────────────────────────────────┐
│ mcp-code-mode skill (REQUIRED) │
│ └─► Provides: call_tool_chain(), search_tools(), etc. │
│ └─► Enables: Access to Figma provider │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ mcp-figma skill (THIS SKILL) │
│ └─► Provides: Knowledge of 18 Figma tools │
│ └─► Pattern: figma.figma_{tool_name} │
└─────────────────────────────────────────────────────────────────┘
⚠️ CRITICAL: This skill REQUIRES
mcp-code-mode. Figma tools are NOT accessible without Code Mode.
How Figma Relates to Code Mode:
┌─────────────────────────────────────────────────────────────────┐
│ opencode.json │
│ └─► Configures: code-mode MCP server │
│ └─► Points to: .utcp_config.json │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ .utcp_config.json │
│ └─► Configures: figma provider (among others) │
│ └─► Package: figma-developer-mcp │
│ └─► Auth: FIGMA_API_KEY │
└─────────────────────────────────────────────────────────────────┘
Figma Provider Configuration (in .utcp_config.json):
{
"name": "figma",
"call_template_type": "mcp",
"config": {
"mcpServers": {
"figma": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "figma-developer-mcp", "--stdio"],
"env": {
"FIGMA_API_KEY": "figd_your_token_here"
}
}
}
}
}
Note: Code Mode does NOT support
${VAR}env substitution. You must hardcode the API key directly in the config.
| Skill | Relationship | Notes |
|---|---|---|
| mcp-code-mode | REQUIRED | Figma accessed via Code Mode's call_tool_chain() |
| mcp-narsil | Optional | Can analyze code generated from Figma designs |
Figma → ClickUp:
// Get design info, create task
const file = await figma.figma_get_file({ fileKey: "abc" });
const task = await clickup.clickup_create_task({
name: `Implement: ${file.name}`,
description: `Design file: https://figma.com/file/abc`
});
Figma → Webflow:
// Export images, update CMS
const images = await figma.figma_get_image({ fileKey: "abc", ids: ["1:2"], format: "png" });
// Use image URLs in Webflow CMS
| Task | Tool | Example |
|---|---|---|
| Get file | get_file | figma.figma_get_file({ fileKey: "abc123" }) |
| Export image | get_image | figma.figma_get_image({ fileKey: "abc", ids: ["1:2"], format: "png" }) |
| Get components | get_file_components | figma.figma_get_file_components({ fileKey: "abc" }) |
| Get styles | get_file_styles | figma.figma_get_file_styles({ fileKey: "abc" }) |
| Get comments | get_comments | figma.figma_get_comments({ fileKey: "abc" }) |
| Post comment | post_comment | figma.figma_post_comment({ fileKey: "abc", message: "..." }) |
// Get file structure
call_tool_chain({
code: `
const file = await figma.figma_get_file({ fileKey: "abc123XYZ" });
console.log('Pages:', file.document.children.map(p => p.name));
return file;
`
});
// Export multiple nodes as PNG
call_tool_chain({
code: `
const images = await figma.figma_get_image({
fileKey: "abc123XYZ",
ids: ["1:234", "1:235", "1:236"],
format: "png",
scale: 2
});
return images;
`
});
// Get all components with metadata
call_tool_chain({
code: `
const components = await figma.figma_get_file_components({ fileKey: "abc123XYZ" });
return components.meta.components.map(c => ({
name: c.name,
key: c.key,
nodeId: c.node_id
}));
`
});
| Issue | Solution |
|---|---|
| "Invalid token" error | Regenerate token in Figma Settings → Personal Access Tokens |
| File not found | Verify fileKey from URL: figma.com/file/{fileKey}/... |
| Rate limited | Add delays between requests, reduce batch size |
| Node ID not found | Node IDs change on edit - re-fetch file to get current IDs |
| Empty components list | File may not have published components |
| Document | Purpose | Key Insight |
|---|---|---|
| tool_reference.md | All 18 tools documented | Complete parameter reference |
| quick_start.md | Getting started | 5-minute setup |
| Asset | Purpose |
|---|---|
| tool_categories.md | Priority categorization of all 18 tools |
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience