Loading...
Loading...
Use when design, prototyping or referencing Figma files. Provides capabilities for inspecting design elements, extracting assets, generating code from designs, and managing Code Connect mappings via the figma-desktop MCP server.
npx skill4agent add zenobi-us/dotfiles figma[!CRITICAL] ⚠️ IMPORTANT - Parameter Passing:Use function-call syntax (NOT flag syntax). Parameters go inside the function call, not as flags:bashmise x node@20 -- mcporter call 'figma-desktop.get_design_context(nodeId: "123:456", clientLanguages: "typescript", clientFrameworks: "react")'Key Rules:
- Parameters are camelCase inside the function call
- String values use double quotes:
"value"- Boolean values use bare notation:
ortruefalse- Environment variables are interpolated outside quotes:
"'$VAR'"- NO
syntax, NO JSON string escaping needed--flag
mise x node@20 -- mcporter call 'figma-desktop.get_metadata'mise x node@20 -- ./scripts/get_design_context.sh "123:456"mise x node@20 -- ./scripts/get_design_context.shmise x node@20 -- ./scripts/get_design_context.sh "123:456" --languages "typescript" --frameworks "react"https://figma.com/design/:fileKey/:fileName?node-id=1-21:2-:https://figma.com/design/:fileKey/branch/:branchKey/:fileNamebranchKeymise x node@20 -- mcporter call 'figma-desktop.get_design_context(nodeId: "123:456")'mise x node@20 -- mcporter call 'figma-desktop.get_design_context(nodeId: "123:456", clientLanguages: "typescript,css", clientFrameworks: "react")'mise x node@20 -- mcporter call 'figma-desktop.get_design_context()'mise x node@20 -- mcporter call 'figma-desktop.get_design_context(nodeId: "123:456", forceCode: true)'mise x node@20 -- mcporter call 'figma-desktop.get_design_context(nodeId: "123:456", artifactType: "REUSABLE_COMPONENT", taskType: "CREATE_ARTIFACT")'artifactTypeWEB_PAGE_OR_APP_SCREENCOMPONENT_WITHIN_A_WEB_PAGE_OR_APP_SCREENREUSABLE_COMPONENTDESIGN_SYSTEMtaskTypeCREATE_ARTIFACTCHANGE_ARTIFACTDELETE_ARTIFACTmise x node@20 -- mcporter call 'figma-desktop.get_screenshot(nodeId: "123:456")'mise x node@20 -- mcporter call 'figma-desktop.get_screenshot()'mise x node@20 -- mcporter call 'figma-desktop.get_metadata(nodeId: "123:456")'get_design_contextget_metadatamise x node@20 -- mcporter call 'figma-desktop.get_variable_defs(nodeId: "123:456")'{'icon/default/secondary': '#949494'}mise x node@20 -- mcporter call 'figma-desktop.get_figjam(nodeId: "123:456")'mise x node@20 -- mcporter call 'figma-desktop.get_figjam(nodeId: "123:456", includeImagesOfNodes: true)'mise x node@20 -- mcporter call 'figma-desktop.get_code_connect_map(nodeId: "123:456")'{
"1:2": {
"codeConnectSrc": "https://github.com/foo/components/Button.tsx",
"codeConnectName": "Button"
}
}mise x node@20 -- mcporter call 'figma-desktop.add_code_connect_map(nodeId: "123:456", source: "src/components/Button.tsx", componentName: "Button", label: "React")'sourcecomponentNamelabellabelReactWeb ComponentsVueSvelteStorybookJavascriptSwift UIKitObjective-C UIKitSwiftUIComposeJavaKotlinAndroid XML LayoutFlutterMarkdownmise x node@20 -- mcporter call 'figma-desktop.create_design_system_rules(clientLanguages: "typescript", clientFrameworks: "react")'| Script | Purpose |
|---|---|
| One-shot design context - Get design info and generated code (with optional framework context) |
| Capture screenshot - Save node screenshot to file |
| Get design tokens - Extract variables (colors, fonts, sizes, spacings) |
| Add Code Connect - Map Figma component to code component |
./scripts/get_design_context.sh --help
./scripts/get_screenshot.sh --help
./scripts/get_variables.sh --help
./scripts/add_code_connect.sh --help# Get the node ID from Figma URL (node-id=1-2 → nodeId="1:2")
NODE_ID="1:2"
# Get design context with your tech stack
mise x node@20 -- mcporter call 'figma-desktop.get_design_context(nodeId: "'$NODE_ID'", clientLanguages: "typescript,css", clientFrameworks: "react")'
# Get variables/tokens for the component
mise x node@20 -- mcporter call 'figma-desktop.get_variable_defs(nodeId: "'$NODE_ID'")'# Check existing mappings
mise x node@20 -- mcporter call 'figma-desktop.get_code_connect_map(nodeId: "123:456")'
# Add mapping
mise x node@20 -- mcporter call 'figma-desktop.add_code_connect_map(nodeId: "123:456", source: "src/components/Button/Button.tsx", componentName: "Button", label: "React")'# Get all variables for a design system frame
mise x node@20 -- mcporter call 'figma-desktop.get_variable_defs(nodeId: "0:1")'
# Generate design system rules
mise x node@20 -- mcporter call 'figma-desktop.create_design_system_rules(clientLanguages: "typescript,css", clientFrameworks: "react")'# Get screenshot of a component
mise x node@20 -- mcporter call 'figma-desktop.get_screenshot(nodeId: "123:456")' > component.png| Problem | Solution |
|---|---|
| Connection refused | Ensure Figma Desktop is running and figma-desktop MCP server is configured |
| Node not found | Verify nodeId format is |
| No output for large design | Use |
| Wrong code language | Specify |
| "Invalid arguments" or command fails | Use function-call syntax, NOT flag syntax. Parameters go inside |
| FigJam tool not working | |
| Code Connect not appearing | Ensure the node is a component instance, not a regular frame |
mise x node@20 -- mcporter list figma-desktop --json | jq -r ".tools[].name"get_design_context
get_variable_defs
get_screenshot
get_code_connect_map
add_code_connect_map
get_metadata
create_design_system_rules
get_figjammise x node@20 -- mcporter list figma-desktop --json | jq '.tools[] | select(.name == "get_design_context")'inputSchema.propertiesinputSchema.requiredmise x node@20 -- mcporter list figma-desktop --json | \
jq '.tools[] | select(.name == "add_code_connect_map") | .inputSchema.required[]'mise x node@20 -- mcporter list figma-desktop --json | \
jq '.tools[] | select(.name == "get_design_context") | .inputSchema.properties | to_entries[] | "\(.key): \(.value.description)"'node-id=1-2nodeId: "1:2"-:branchKeynodeIdclientLanguagesclientFrameworksforceCode: truejqmcporter list figma-desktop --json | jq| Tool | Purpose | Required Params |
|---|---|---|
| Generate UI code from design | None (uses selection) |
| Capture visual screenshot | None (uses selection) |
| Get XML structure overview | None (uses selection) |
| Get design tokens/variables | None (uses selection) |
| Get existing code mappings | None (uses selection) |
| Map design to code component | |
| Generate design system rules | None |
| Get FigJam content | None (uses selection) |