Loading...
Loading...
Compare original and translation side by side
[!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
[!CRITICAL] ⚠️ 重要 - 参数传递:使用函数调用语法(请勿使用标志语法)。参数需放在函数调用内部,不要作为标志传递:bashmise x node@20 -- mcporter call 'figma-desktop.get_design_context(nodeId: "123:456", clientLanguages: "typescript", clientFrameworks: "react")'核心规则:
- 函数调用内的参数使用驼峰命名法(camelCase)
- 字符串值使用双引号:
"value"- 布尔值使用原生写法:
或truefalse- 环境变量在引号外插值:
"'$VAR'"- 请勿使用
语法,无需进行JSON字符串转义--flag
mise x node@20 -- mcporter call 'figma-desktop.get_metadata'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"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/:fileNamebranchKeyhttps://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_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_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_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_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_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.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.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")'mise 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| 脚本 | 用途 |
|---|---|
| 单次获取设计上下文 - 获取设计信息并生成代码(可指定可选的框架上下文) |
| 捕获截图 - 将节点截图保存到文件 |
| 获取设计令牌 - 提取变量(颜色、字体、尺寸、间距) |
| 添加Code Connect - 将Figma组件映射到代码组件 |
./scripts/get_design_context.sh --help
./scripts/get_screenshot.sh --help
./scripts/get_variables.sh --help
./scripts/add_code_connect.sh --helpundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined| 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 |
| 问题 | 解决方案 |
|---|---|
| 连接被拒绝 | 确认Figma Desktop正在运行,且已配置figma-desktop MCP服务器 |
| 未找到节点 | 验证nodeId格式为 |
| 大型设计无输出 | 使用 |
| 代码语言错误 | 指定 |
| "参数无效"或命令执行失败 | 使用函数调用语法,不要使用标志语法,参数需放在 |
| FigJam工具无效 | |
| Code Connect映射不显示 | 确认节点是组件实例,而非普通框架 |
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 -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)"'mise 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 | jqnode-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) |
| 工具 | 用途 | 必填参数 |
|---|---|---|
| 从设计生成UI代码 | 无(使用当前选中节点) |
| 捕获可视化截图 | 无(使用当前选中节点) |
| 获取XML结构概览 | 无(使用当前选中节点) |
| 获取设计令牌/变量 | 无(使用当前选中节点) |
| 获取现有代码映射 | 无(使用当前选中节点) |
| 将设计映射到代码组件 | |
| 生成设计系统规则 | 无 |
| 获取FigJam内容 | 无(使用当前选中节点) |