Token导航 LogoToken导航TokenDH.com
Figma MCP Bridge logo
设计创作stdio官方级别未说明来源级核验

Figma MCP Bridge

MCP Server

Figma MCP Bridge是一个实时读取和操作Figma设计文件和FigJam文件的服务器,通过WebSocket桥接实现与Figma插件的双向通信。

工具数

87

提示词数

0

GitHub Stars

59

资源数

0
Figma集成JavaScriptClaude实时通信Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

magic-spells

提供方

magic-spells

最后核验

2026/5/17 20:34

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @magic-spells/figma-mcp-bridge

详细介绍

Figma MCP电桥

一个模型上下文协议(MCP)服务器,使Claude能够读取和操作 Figma设计文件和FigJam文件 通过WebSocket桥实时连接到Figma插件。

特性

  • 88次操作 -63个Figma设计工具+21个FigJam工具(便签、流程图形状、连接器、表格、代码块、链接预览)+4个原型工具(反应、流程起点)
  • 在两个编辑器中工作 -自动检测您是在Figma设计文件还是FigJam中,并相应地门控编辑器特定的命令(FigJam仅限粘性/连接器/表格工具;Figma design仅限原型工具)
  • 实时双向通信 -更改立即出现在Figma/FigJam中
  • 令牌优化查询 -AI交互的高效变量搜索和节点遍历
  • 完整的Figma API访问 -样式、变量、自动布局、布尔运算,以及FigJam图表和文档

建筑

Claude Code ←──stdio──→ MCP Server ←──WebSocket──→ Figma Plugin ←──→ Figma API
                        (Node.js)    localhost:3055    (runs in Figma)

快速开始

先决条件

  • Node.js 18+
  • Figma桌面应用程序
  • 克劳德代码CLI或克劳德桌面

安装

选项A:从npm安装(推荐)

对于Claude Code CLI:

claude mcp add figma-mcp-bridge -- npx @magic-spells/figma-mcp-bridge

对于Claude Desktop:

编辑您的配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "figma-mcp-bridge": {
      "command": "npx",
      "args": ["-y", "@magic-spells/figma-mcp-bridge"]
    }
  }
}

然后重新启动Claude Desktop。

安装Figma插件:

  • 下载 plugin 此仓库中的文件夹
  • 在Figma中: 插件→ 发展→ 从清单导入插件
  • 选择 plugin/manifest.json

连接:

  • 打开Figma文件
  • 运行插件: 插件→ 发展→ 克劳德·菲格马大桥
  • 状态应显示“已连接”

选项B:从源代码安装

  1. 克隆存储库
   git clone https://github.com/magic-spells/figma-mcp-bridge.git
   cd figma-mcp-bridge
   npm install
  1. 添加到克劳德代码
   claude mcp add figma-mcp-bridge node /path/to/figma-mcp-bridge/src/index.js
  1. 安装Figma插件

- 在Figma中: 插件→ 发展→ 从清单导入插件 - 选择 plugin/manifest.json 来自克隆仓库

  1. 连接

- 打开Figma文件 - 运行插件: 插件→ 发展→ 克劳德·菲格马大桥 - 状态应显示“已连接”

配置

环境变量

变量默认值描述
FIGMA_BRIDGE_PORT3055WebSocket服务器端口(繁忙时自动递增)

自动批准Figma工具

添加 .claude/settings.local.json:

{
  "permissions": {
    "allow": ["mcp__figma-mcp-bridge__*"]
  }
}

______________________________________________________________________

命令参考

查询命令

figma_server_info

获取有关MCP服务器的信息:包版本、WebSocket端口、连接状态和连接的文档信息。有助于确认代码更改或升级后正在运行哪个版本的服务器。

参数类型说明
*(无)*

退货: { version, port, connected, documentInfo }

figma_get_context

获取当前Figma文档上下文,包括文件信息、当前页面和所选内容。

参数类型说明
*(无)*

figma_list_pages

列出当前Figma文档中的所有页面。

参数类型说明
*(无)*

figma_get_nodes

通过特定节点的ID获取其详细信息。

参数类型必填说明
nodeIdsstring\[\]Yes节点ID数组(例如。, ["1:23", "4:56"])
depthstring详细程度: minimal, compact,或 full (默认)

figma_get_local_styles

列出文档中定义的所有本地样式。

参数类型必填说明
typestring筛选器: PAINT, TEXT, EFFECT, GRID,或 ALL (默认)

figma_get_local_variables

获取所有局部变量和变量集合。

参数类型必填说明
typestring筛选器: COLOR, FLOAT, STRING, BOOLEAN,或 ALL (默认)
备注:可以返回25k+代币。更喜欢 figma_search_variables 为了提高效率。

figma_get_children

获取节点的直接子节点。一次浏览一个层次结构的效率很高。

参数类型必填默认说明
parentIdstringYes获取子节点的节点ID
compactbooleantrue返回最少数据

figma_search_nodes

在范围内按名称搜索节点。 首选用于查找特定的框架、部分或元素。

参数类型必填默认说明
parentIdstring要搜索的范围(页/帧/节ID)
nameContainsstring不区分大小写的子字符串匹配
namePatternstring带通配符的全局模式(例如。, *button*)
typesstring\[\]按节点类型筛选: FRAME, TEXT, SECTION, COMPONENT, INSTANCE, GROUP等等。
maxDepth编号-1搜索深度(-1=无限制,1=直接子项)
compactbooleantrue返回最少数据
limit编号50最大结果
返回~50个令牌/节点,而完整节点数据返回~500个。

figma_search_components

按名称搜索本地组件。在查找“按钮”、“标题”等特定组件时使用。

参数类型必填默认说明
nameContainsstring不区分大小写的子字符串匹配
namePatternstring带通配符的全局模式
includeVariantsbooleanfalse包括组件集中的单个变体
compactbooleantrue返回最少数据
limit编号50最大结果

figma_search_styles

按名称搜索本地样式。比 figma_get_local_styles 在寻找特定风格时。

参数类型必填默认说明
nameContainsstring不区分大小写的子字符串匹配
typestring"ALL"筛选器: PAINT, TEXT, EFFECT, GRID, ALL
compactbooleantrue返回最少数据
limit编号50最大结果

______________________________________________________________________

创建命令

figma_create_rectangle

创建一个新的矩形。

参数类型必填默认说明
x编号0X位置
y编号0Y位置
width编号100宽度(像素)
height编号100高度(像素)
namestring"Rectangle"节点名称
fills颜色填充颜色
parentIdstring父节点ID

figma_create_ellipse

创建椭圆、圆、弧或环。

参数类型必填默认说明
x编号0X位置
y编号0Y位置
width编号100宽度(圆的直径)
height编号100身高
namestring"Ellipse"节点名称
fills颜色填充颜色
parentIdstring父节点ID
arcData.startingAnglenumberNo起始角度(弧度)
arcData.endingAnglenumber结束角度(弧度)
arcData.innerRadiusnumberNo环的内径比(0-1)

figma_create_line

创建一条线。

参数类型必填默认说明
x编号0X位置
y编号0Y位置
length编号100线路长度
rotation编号0旋转度
strokeWeight编号1冲程重量
strokes颜色笔划颜色
strokeCapstring"NONE"上限: NONE, ROUND, SQUARE, ARROW_LINES, ARROW_EQUILATERAL
namestring"Line"节点名称
parentIdstring父节点ID

figma_create_frame

创建框架容器(支持自动布局)。

参数类型必填默认说明
x编号0X位置
y编号0Y位置
width编号100宽度
height编号100身高
namestring"Frame"节点名称
fills颜色填充颜色
parentIdstring父节点ID

figma_create_text

创建文本节点。

参数类型必填默认说明
x编号0X位置
y编号0Y位置
textstring"Text"文本内容
fontSize编号16字体大小
fontFamilystring"Inter"字体系列
fontStylestring"Regular"字体样式
fills颜色文本颜色
namestring"Text"节点名称
parentIdstring父节点ID

figma_clone_nodes

克隆(重复)节点。

参数类型必填默认说明
nodeIdsstring\[\]要克隆的节点ID
parentIdstring克隆的父项
offset.x编号20X与原始值的偏移
offset.y编号20Y偏离原始值

figma_create_component

创建可重用组件。

参数类型必填默认说明
fromNodeIdstring将现有节点转换为组件
x编号0X位置
y编号0Y位置
width编号100宽度
height编号100身高
namestring"Component"组件名称
fills颜色填充颜色
parentIdstring父节点ID
descriptionstring组件描述

figma_create_instance

创建组件的实例。

参数类型必填说明
componentIdstring要实例化的组件ID
xnumberNoX位置
ynumberNoY位置
parentIdstring父节点ID
namestring实例名称

______________________________________________________________________

样式命令

figma_set_fills

在节点上设置填充颜色。

参数类型必填说明
nodeIdstring要修改的节点
fills颜色填充颜色

颜色格式:

  • 十六进制: { color: "#FF0000" }{ color: "#FF0000AA" } (带alpha)
  • RGB: { r: 1, g: 0, b: 0, a: 0.5 }
  • 完整阵列: [{ type: "SOLID", color: { r, g, b }, opacity: 1 }]

figma_set_strokes

在节点上设置笔划颜色。

参数类型必填说明
nodeIdstring要修改的节点
strokes颜色笔划颜色
strokeWeightnumberNo笔划权重(像素)

figma_set_text

在文本节点上设置文本内容。

参数类型必填说明
nodeIdstring要修改的文本节点
textstring新文本内容

figma_set_opacity

设置节点透明度。

参数类型必填说明
nodeIdstring要修改的节点
opacitynumberYes不透明度(0-1)

figma_set_corner_radius

设置拐角半径。

参数类型必填说明
nodeIdstring要修改的节点
radiusnumberNo所有角的半径一致
topLeftnumberNo左上角半径
topRightnumberNo右上角半径
bottomLeftnumberNo左下角半径
bottomRightnumberNo右下角半径

figma_set_effects

设置效果(阴影、模糊)。

参数类型必填说明
nodeIdstring要修改的节点
effectsarrayYes效果对象数组

阴影效果:

{
  "type": "DROP_SHADOW",
  "color": { "color": "#000000" },
  "offset": { "x": 0, "y": 4 },
  "radius": 8,
  "spread": 0,
  "visible": true
}

模糊效果:

{
  "type": "LAYER_BLUR",
  "radius": 10,
  "visible": true
}

figma_apply_style

将局部样式应用于节点。

参数类型必填说明
nodeIdstring要应用样式的节点
styleIdstring样式ID
propertystring属性: fills, strokes, text, effects, grid

figma_set_variable

设置变量值或绑定到节点属性。

参数类型必填说明
variableIdstring变量ID
modeIdstring模式ID(用于设置值)
value任何要设置的值
nodeIdstring节点ID(用于绑定)
fieldstring要绑定的字段(opacity, cornerRadius, fills等等)
paintIndexnumberNo绘制填充/笔划的数组索引(默认值0)

figma_set_text_style

在现有文本节点上设置文本字体属性。

参数类型必填说明
nodeIdstring文本节点ID
fontSizenumberNo字体大小(像素)
fontFamilystring字体系列(例如“Inter”)
fontStylestring字体样式(例如,“粗体”、“常规”)
textCasestringORIGINAL, UPPER, LOWER, TITLE
textDecorationstringNONE, UNDERLINE, STRIKETHROUGH
lineHeight对象{ unit: "AUTO" }{ unit: "PIXELS", value: 24 }
letterSpacing对象{ unit: "PIXELS", value: 1 }{ unit: "PERCENT", value: 5 }
textAlignHorizontalstringLEFT, CENTER, RIGHT, JUSTIFIED
textAlignVerticalstringTOP, CENTER, BOTTOM

figma_create_paint_style

创建本地绘画(颜色)样式。

参数类型必填说明
namestring样式名称(使用 / 对于文件夹,例如“品牌/主要”)
fills颜色填充颜色
descriptionstring样式描述

figma_create_text_style

创建本地文本样式。

参数类型必填默认说明
namestring样式名称(使用 / 对于文件夹)
fontFamilystring"Inter"字体系列
fontStylestring"Regular"字体样式
fontSize编号16字体大小(像素)
lineHeight对象线条高度
letterSpacing对象字母间距
textCasestring文本大小写转换
textDecorationstring文字装饰
descriptionstring样式描述

______________________________________________________________________

布局命令

figma_set_auto_layout

在框架上配置自动布局。

参数类型必填说明
nodeIdstring要配置的帧
layoutModestringNONE, HORIZONTAL, VERTICAL
primaryAxisSizingModestringFIXED, AUTO
counterAxisSizingModestringFIXED, AUTO
primaryAxisAlignItemsstringMIN, CENTER, MAX, SPACE_BETWEEN
counterAxisAlignItemsstringMIN, CENTER, MAX, BASELINE
paddingTopnumber顶部填充
paddingRightnumber右侧填充
paddingBottomnumber底部填充
paddingLeftnumber左填充
itemSpacingnumberNo项目之间的空格
counterAxisSpacingnumberNo换行时行之间的空格
layoutWrapstringNO_WRAP, WRAP

figma_set_layout_align

在自动布局中设置子对齐方式。

参数类型必填说明
nodeIdstring要修改的子节点
layoutAlignstringMIN, CENTER, MAX, STRETCH, INHERIT
layoutGrow数字增长系数(0-1)
layoutPositioningstringAUTO, ABSOLUTE

______________________________________________________________________

变换命令

figma_move_nodes

将节点移动到新位置。

参数类型必填说明
nodeIdsstring\[\]要移动的节点
xnumberNoX位置或偏移
ynumberNoY位置或偏移
relativeboolean如果为真,x/y是偏移量(默认为假)

figma_resize_nodes

调整节点大小。

参数类型必填说明
nodeIdsstring\[\]要调整大小的节点
widthnumber新宽度
heightnumber新高度

figma_delete_nodes

删除节点。

参数类型必填说明
nodeIdsstring\[\]要删除的节点

figma_group_nodes

将多个节点分组。

参数类型必填默认说明
nodeIdsstring\[\]要分组的节点
namestring"Group"组名称

figma_ungroup_nodes

取消组节点的分组。

参数类型必填说明
nodeIdsstring\[\]将节点分组以取消分组

figma_rename_node

重命名节点。

参数类型必填说明
nodeIdstring单节点ID
nodeIdsstring\[\]批处理节点ID
namestring新名称

figma_reorder_node

更改z顺序(图层顺序)。

参数类型必填说明
nodeIdstring要重新排序的节点
position字符串/数字"front", "back",或索引号

figma_set_constraints

设置调整大小约束(仅限非自动布局框架)。

参数类型必填说明
nodeIdstring要配置的节点
horizontalstringMIN, CENTER, MAX, STRETCH, SCALE
verticalstringMIN, CENTER, MAX, STRETCH, SCALE

______________________________________________________________________

导航命令

figma_set_selection

设置当前选择。

参数类型必填说明
nodeIdsstring\[\]要选择的节点(空则清除)

figma_set_current_page

切换到其他页面。

参数类型必填说明
pageIdstring要切换到的页面ID

______________________________________________________________________

导出命令

figma_export_node

将节点导出为图像。

参数类型必填默认说明
nodeIdstring要导出的节点
formatstring"PNG"格式: PNG, SVG, JPG, PDF
scale编号1出口规模(1=100%)

返回base64编码的数据。

______________________________________________________________________

组件命令

figma_detach_instance

从组件中分离实例(转换为框架)。

参数类型必填说明
nodeIdstring要分离的实例

figma_swap_instance

交换组件实例以使用其他组件。

参数类型必填说明
instanceIdstring要交换的实例节点ID
newComponentIdstring要交换的组件ID

figma_combine_as_variants

将多个组件组合到具有变体的组件集中。

参数类型必填说明
componentIdsstring\[\]Yes组件ID数组(至少2个)。组件必须使用变体命名(例如,“大小=大”)

______________________________________________________________________

变量管理命令

figma_create_variable_collection

创建一个新的变量集合来组织变量。

参数类型必填说明
namestring集合名称
modesstring\[\]模式名称(默认为 ["Mode 1"])

figma_create_variable

在集合中创建一个新变量。

参数类型必填说明
collectionIdstring变量集合ID
namestring变量名(使用 / 对于组,例如“颜色/原色”)
typestringCOLOR, FLOAT, STRING,或 BOOLEAN
valueany默认模式的初始值
aliasOfstring变量ID到别名(而不是直接值)
descriptionstring变量描述
scopesstring\[\]可以使用此变量的位置

figma_rename_variable

重命名现有变量。

参数类型必填说明
variableIdstring要重命名的变量ID
namestring新名称(使用 / 团体)

figma_delete_variables

删除一个或多个变量。

参数类型必填说明
variableIdsstring\[\]Yes要删除的变量ID数组

figma_rename_variable_collection

重命名变量集合。

参数类型必填说明
collectionIdstring要重命名的集合ID
namestring新名称

figma_delete_variable_collection

删除变量集合及其所有变量。

参数类型必填说明
collectionIdstring要删除的集合ID

figma_add_mode

向变量集合添加新模式。

参数类型必填说明
collectionIdstring要添加模式的集合ID
namestring新模式的名称

figma_rename_mode

重命名变量集合中的模式。

参数类型必填说明
collectionIdstring包含模式的集合ID
modeIdstring要重命名的模式ID
namestring模式的新名称

figma_delete_mode

从变量集合中删除模式。

参数类型必填说明
collectionIdstring包含模式的集合ID
modeIdstring要删除的模式ID

figma_unbind_variable

从节点属性中删除变量绑定。

参数类型必填默认说明
nodeIdstring要解除绑定的节点ID
fieldstring要解除绑定的字段(fills, strokes, opacity等等)
paintIndex编号0绘制填充/笔划的数组索引

______________________________________________________________________

页面管理命令

FigJam限制: figma_create_pagefigma_duplicate_page仅适用于Figma设计FigJam插件运行时不公开 figma.createPage()PageNode.clone().FigJam文件可以有多个页面,但它们必须通过FigJam UI创建——插件不能以编程方式创建它们。在FigJam中调用这些工具会返回 FIGMA_DESIGN_ONLY。其他页面操作(重命名、删除、列出、切换当前页面)在两个编辑器中都有效。

figma_create_page

在文档中创建新页面。 仅适用于Figma设计。

参数类型必填说明
namestring新页面的名称
indexnumber在页面列表中的位置(0=第一个)。默认为结束。

figma_rename_page

重命名现有页面。

参数类型必填说明
pageIdstring要重命名的页面ID
namestring页面的新名称

figma_delete_page

从文档中删除一页。

参数类型必填说明
pageIdstring要删除的页面ID
备注:无法删除最后一个剩余页面。

figma_duplicate_page

克隆整个页面,包括其所有内容。 仅适用于Figma设计。

参数类型必填说明
pageIdstring要复制的页面ID
namestring新页面的名称(默认为“原始名称+副本”)

______________________________________________________________________

FigJam命令

这些工具仅针对FigJam节点类型(便签、流程图形状、连接器、表格、代码块、链接预览)。他们回来了 WRONG_EDITOR 如果针对Figma设计文件调用。 章节(figma_create_section / figma_set_section)是例外,他们在两个编辑器中都工作。

figma_create_sticky

制作一张便签。默认大小是固定的(240×240);宽度/高度不可配置。文本通过嵌入式子层设置(字体自动加载)。

参数类型必填默认说明
x编号0X位置
y编号0Y位置
textstring便签正文
fillscolor贴纸的背景颜色
isWideWidthboolean使用宽矩形粘性变体
parentIdstring父节点ID(默认为当前页面)
作者信息在运行时是只读的。 Figma的插件文档列表 authorNameauthorVisible 随着R/W的开启 StickyNode,但FigJam运行时拒绝使用“属性没有设置器”的写入。Figma会根据活动用户的身份自动填充两者,因此标签无需程序控制即可正常工作。

figma_set_sticky

在方形和宽矩形变体之间切换粘性。使用 figma_set_text 更改正文。

参数类型必填说明
nodeIdstringSTICKY 节点ID
isWideWidthboolean宽与方形粘性

figma_create_shape_with_text

创建带有嵌入文本的流程图形状。使用 ROUNDED_RECTANGLE 对于过程, DIAMOND 对于决策, ENG_DATABASE 用于数据存储。 cornerRadius 由以下方式固定 shapeType 并且不能设置。

参数类型必填默认说明
x编号0X位置
y编号0Y位置
width编号208宽度(像素)
height编号208高度(像素)
shapeTypestring请参阅下面的列表
textstring嵌入文本内容
fills颜色形状填充颜色
strokes颜色形状笔划颜色
strokeWeightnumber笔划权重(像素)
parentIdstring父节点ID

形状类型(30个值): SQUARE, ELLIPSE, ROUNDED_RECTANGLE, DIAMOND, TRIANGLE_UP, TRIANGLE_DOWN, PARALLELOGRAM_RIGHT, PARALLELOGRAM_LEFT, ENG_DATABASE, ENG_QUEUE, ENG_FILE, ENG_FOLDER, TRAPEZOID, PREDEFINED_PROCESS, SHIELD, DOCUMENT_SINGLE, DOCUMENT_MULTIPLE, MANUAL_INPUT, HEXAGON, CHEVRON, PENTAGON, OCTAGON, STAR, PLUS, ARROW_LEFT, ARROW_RIGHT, SUMMING_JUNCTION, OR, SPEECH_BUBBLE, INTERNAL_STORAGE.

figma_set_shape_type

使用文本节点更改现有形状的形状变体。

参数类型必填说明
nodeIdstringSHAPE_WITH_TEXT 节点ID
shapeTypestring新形状类型(见上面的列表)

figma_create_connector

在节点之间创建箭头/连接器。默认 endCapARROW_EQUILATERAL 因此,连接器在没有配置的情况下看起来像箭头。端点可以通过磁铁、节点上的固定位置或画布上的自由浮动来连接。

参数类型必填默认说明
start端点起始端点(请参阅下面的端点形状)
end端点结束端点
lineTypestring"ELBOWED"ELBOWED, STRAIGHT,或 CURVED
startCapstring"NONE"开始装修
endCapstring"ARROW_EQUILATERAL"装修结束
textstring居中标签文本
strokes颜色线条颜色
strokeWeightnumberNo线条粗细
parentIdstring父节点ID

端点形状 (其中之一):

  • { nodeId, magnet } --用磁铁连接到节点(AUTO, TOP, LEFT, BOTTOM, RIGHT, CENTER, NONE)
  • { nodeId, position: { x, y } } --在相对于节点的固定位置附着到节点
  • { position: { x, y } } --在画布上以绝对坐标自由浮动

行程上限: NONE, ARROW_EQUILATERAL, ARROW_LINES, TRIANGLE_FILLED, CIRCLE_FILLED, DIAMOND_FILLED.

磁铁规则: STRAIGHT 仅支持连接器 CENTERNONE 磁铁。 ELBOWEDCURVED 接受全部六个。验证在服务器端运行。

figma_set_connector

修改现有连接器的端点、线型、端盖或标签。

参数类型必填说明
nodeIdstringCONNECTOR 节点ID
start端点替换起始端点
end端点替换端点
lineTypestring新线路由类型
startCapstring新开始装饰
endCapstring新的末端装饰
textstring替换标签文本

figma_create_section

创建一个带标签的部分。 适用于Figma设计文件和FigJam。 支持开发模式切换状态。

参数类型必填默认说明
x编号0X位置
y编号0Y位置
width编号600宽度(像素)
height编号400高度(像素)
namestring节标签
fills颜色部分背景填充
sectionContentsHiddenboolean可视化折叠该部分的内容
devStatusstringREADY_FOR_DEVCOMPLETED (仅在页面或其他部分下直接有效)
devStatusDescriptionstring可选描述与开发状态一起显示
parentIdstring父节点ID

figma_set_section

更新节的名称、开发状态或内容可见性。通过 devStatus: null 以清除它。

参数类型必填说明
nodeIdstringSECTION 节点ID
namestring新建节标签
sectionContentsHiddenboolean显示或隐藏部分内容
devStatusstringnullREADY_FOR_DEV, COMPLETED,或 null
devStatusDescriptionstring描述与开发状态一起显示

figma_create_table

为文档或结构化数据创建表。可选择种子初始细胞含量。

参数类型必填默认说明
x编号0X位置
y编号0Y位置
numRows编号2行数
numColumns编号2列数
cellsarray初始单元格: [{ row, column, text?, fills? }]
fills颜色表格背景填充
parentIdstring父节点ID

figma_set_table_cell

设置单个表格单元格的文本和/或填充颜色。

参数类型必填说明
nodeIdstringTABLE 节点ID
rownumberYes行索引(从0开始)
columnnumberYes列索引(从0开始)
textstring新单元格文本
fills颜色新单元格背景填充

figma_insert_table_row / figma_insert_table_column

在给定索引处插入行/列(索引移位处和之后的现有行/列)。

参数类型必填说明
nodeIdstringTABLE 节点ID
rowIndex / columnIndexnumber插入位置(0=顶部/最左侧)

figma_remove_table_row / figma_remove_table_column

删除行/列。

参数类型必填说明
nodeIdstringTABLE 节点ID
rowIndex / columnIndexnumberYes要删除的索引

figma_resize_table_row / figma_resize_table_column

设置行高/列宽。

参数类型必填说明
nodeIdstringTABLE 节点ID
rowIndex / columnIndexnumber目标索引
height (行)/ width (列)数字以像素为单位的新维度

figma_move_table_row / figma_move_table_column

重新排序行/列。

参数类型必填说明
nodeIdstringTABLE 节点ID
fromIndexnumber源索引
toIndexnumberYes目的地索引

figma_create_code_block

为文档创建一个语法突出显示的代码块。

参数类型必填默认说明
x编号0X位置
y编号0Y位置
codestring代码文本内容
codeLanguagestring"PLAINTEXT"语法高亮显示语言
parentIdstring父节点ID

语言(17个值): TYPESCRIPT, CPP, RUBY, CSS, JAVASCRIPT, HTML, JSON, GRAPHQL, PYTHON, GO, SQL, SWIFT, KOTLIN, RUST, BASH, PLAINTEXT, DART.

figma_set_code_block

更新现有代码块的代码文本或语言。

参数类型必填说明
nodeIdstringCODE_BLOCK 节点ID
codestring新代码文本
codeLanguagestring新语法突出显示语言

figma_create_link_preview

从URL创建富链接预览。返回 EMBED (iframe;适用于YouTube/Spotify等OEmbed提供商)或 LINK_UNFURL (来自OpenGraph/Twitter card元数据的富卡)——响应包括 nodeType 所以来电者知道是哪一个。

参数类型必填默认说明
x编号0X位置
y编号0Y位置
urlstring要预览的URL
parentIdstring父节点ID

构建端到端的流程图

// 1. Section to wrap the diagram
figma_create_section({ x: 0, y: 0, width: 1000, height: 600, name: "User signup flow" })
// → returns { node: { id: 'XX:1', ... } }

// 2. Process steps as shapes-with-text
figma_create_shape_with_text({
  x: 40, y: 80, width: 200, height: 80,
  shapeType: 'ROUNDED_RECTANGLE',
  text: 'Start',
  parentId: 'XX:1'
})
figma_create_shape_with_text({
  x: 320, y: 80, width: 200, height: 120,
  shapeType: 'DIAMOND',
  text: 'Email valid?',
  parentId: 'XX:1'
})
// ...etc.

// 3. Connectors between them
figma_create_connector({
  start: { nodeId: 'XX:2', magnet: 'AUTO' },
  end:   { nodeId: 'XX:3', magnet: 'AUTO' },
  lineType: 'ELBOWED',
  parentId: 'XX:1'
})
// endCap defaults to ARROW_EQUILATERAL — you get an arrow without specifying

// 4. Add a sticky for context
figma_create_sticky({
  x: 600, y: 80,
  text: 'TODO: rate-limit this endpoint',
  parentId: 'XX:1'
})

FigJam节点类型无法通过此MCP创建

STAMP, HIGHLIGHT, WASHI_TAPE, WIDGET,以及 MEDIA 无法从非小部件插件创建(Figma的API不公开工厂方法,或者需要预先上传的图像哈希)。它们仍然可以通过现有的工具进行克隆、移动、删除和序列化,只是不能从头开始创建。

______________________________________________________________________

原型命令

这些工具在上建立了原型交互 Figma 设计 节点。他们在 reactions 数组(通过读/写 setReactionsAsync)以及页面级别 flowStartingPoints 列表。它们不适用于FigJam文件。

figma_get_reactions

读取节点上当前设置的所有反应。

参数类型必填说明
nodeIdstring从中读取反应的节点ID

返回完整 reactions 数组,包括每个反应的触发和动作细节。

figma_add_reaction

向节点添加原型交互。现有的反应被保留下来——每次调用都会附加一个新的反应。

参数类型必填说明
nodeIdstringYes要添加反应的节点ID
triggerobject什么启动了交互(请参阅下面的触发器类型)
actionobjectYes触发器触发时会发生什么(请参阅下面的操作类型)

触发器类型:

type额外字段描述
ON_CLICK--点击/单击
ON_HOVER--悬停
ON_PRESS--按住
ON_DRAG--拖动
ON_MEDIA_END--媒体播放结束
AFTER_TIMEOUTtimeout (ms)延迟后自动前进
MOUSE_UPdelay (ms)松开鼠标按钮
MOUSE_DOWNdelay (ms)按下鼠标按钮
MOUSE_ENTERdelay (ms)光标进入元素
MOUSE_LEAVEdelay (ms)光标离开元素
ON_KEY_DOWNkeyCodes (编号\[\]), device按键已按下
ON_MEDIA_HITmediaHitTime (秒)媒体到达时间戳

device 值为 ON_KEY_DOWN: KEYBOARD (默认), XBOX_ONE, PS4, SWITCH_PRO, UNKNOWN_CONTROLLER.

动作类型:

type关键字段描述
NODEdestinationId, navigation, transition导航到/打开/滚动到框架
BACK--返回上一帧
CLOSE--关闭当前覆盖
URLurl, openInNewTab (bool)打开URL--set openInNewTab: true 在新选项卡中打开

对于 NODE 行动 navigation 字段控制行为:

navigation说明
NAVIGATE导航到目标帧(默认)
OVERLAY以覆盖方式打开目的地
SWAP将当前帧与目标帧交换
SCROLL_TO在当前帧内滚动到目的地
CHANGE_TO将组件更改为其他变体

过渡对象 (可选,用于 NODE 操作):

字段注释
typeDISSOLVE, SMART_ANIMATE, SCROLL_ANIMATE简单转换--否 direction
typeMOVE_IN, MOVE_OUT, PUSH, SLIDE_IN, SLIDE_OUT方向性——要求 direction
directionLEFT, RIGHT, TOP, BOTTOM定向类型需要
matchLayersboolean(默认值 false)智能匹配共享层——仅定向类型
duration数字(秒)默认值 0.3
easing.typeLINEAR, EASE_IN, EASE_OUT, EASE_IN_AND_OUT, EASE_IN_BACK, EASE_OUT_BACK, EASE_IN_AND_OUT_BACK, CUSTOM_CUBIC_BEZIER, GENTLE, QUICK, BOUNCY, SLOW, CUSTOM_SPRINGGENTLE/QUICK/BOUNCY/SLOW 是弹簧预设

示例--单击以使用幻灯片过渡进行导航:

figma_add_reaction({
  nodeId: '10:5',
  trigger: { type: 'ON_CLICK' },
  action: {
    type: 'NODE',
    destinationId: '10:20',
    navigation: 'NAVIGATE',
    transition: {
      type: 'SLIDE_IN',
      direction: 'LEFT',
      duration: 0.3,
      easing: { type: 'EASE_OUT' }
    }
  }
})

示例——3秒后自动前进:

figma_add_reaction({
  nodeId: '10:5',
  trigger: { type: 'AFTER_TIMEOUT', timeout: 3000 },
  action: {
    type: 'NODE',
    destinationId: '10:30',
    navigation: 'NAVIGATE',
    transition: { type: 'DISSOLVE', duration: 0.5, easing: { type: 'EASE_IN_AND_OUT' } }
  }
})

figma_remove_reaction

通过从零开始的索引从节点中删除反应。使用 figma_get_reactions 首先要确定索引。

参数类型必填说明
nodeIdstringYes要从中删除反应的节点ID
indexnumberYes要删除的反应的零基指数

figma_set_flow_starting_point

设置或清除原型流起点。流起点是页面级的——Figma将它们存储在父节点上 PageNode 作为列表 { nodeId, name } 条目。在未选择任何内容的情况下进入演示视图时,第一个条目是默认值。

参数类型必填默认说明
nodeIdstringFRAME, COMPONENT,或 COMPONENT_SET 节点ID
flowNamestring"Flow 1"流的显示名称。如果帧已经是起点,则其名称将更新。
clearboolean如果 true,从页面中删除此帧的流起点
顶层框架(页面的直接子级)是典型的起点。Figma打字标记 PageNode.flowStartingPoints 作为 ReadonlyArray,但运行时接受直接赋值——这是该工具内部使用的有记录的(如果古怪的话)模式。

______________________________________________________________________

结构命令

figma_reparent_nodes

将节点移动到其他父容器。

参数类型必填说明
nodeIdsstring\[\]Yes要移动的节点ID数组
newParentIdstring新的父节点ID(必须是框架、组或页面)
indexnumberNo在新父级中的位置(0=底部/后部)。默认为顶部/前部。

figma_move_to_page

将节点从其当前页面移动到其他页面。

参数类型必填说明
nodeIdsstring\[\]Yes要移动的节点ID数组
targetPageIdstring目标页面ID
xnumberNo目标页面上的X位置
ynumberNo目标页面上的Y位置

figma_set_rotation

设置一个或多个节点的旋转。

参数类型必填说明
nodeIdsstring\[\]Yes要旋转的节点ID数组
rotationnumberYes旋转角度(-180到180)

______________________________________________________________________

令牌优化

变量查询

使用 figma_search_variables 而不是 figma_get_local_variables:

// Inefficient (~25k+ tokens)
figma_get_local_variables({ type: 'ALL' })

// Efficient (~500 tokens)
figma_search_variables({
  namePattern: 'tailwind/orange/*',
  type: 'COLOR',
  compact: true,
  limit: 50
})

figma_search_variables 参数:

参数类型默认值说明
namePatternstring通配符模式(* =任何字符)
type字符串"ALL"可变型过滤器
collectionNamestring集合名称筛选器
compact布尔值true最小数据(仅id、名称、值)
limit编号50最大结果

节点遍历

使用 depth 参数在 figma_get_nodes:

深度属性用例
minimal~5树遍历,查找节点
compact~10布局检查
full~40详细节点编辑

查找节点

使用搜索工具,而不是遍历整个树:

// Find nodes by name within a page/frame
figma_search_nodes({
  parentId: '1:2',           // Required scope
  nameContains: 'button',    // Case-insensitive
  types: ['FRAME', 'COMPONENT'],
  compact: true
})

// Browse hierarchy one level at a time
figma_get_children({ parentId: '1:2' })

// Find components by name
figma_search_components({ nameContains: 'Header' })

// Find styles by name
figma_search_styles({ nameContains: 'primary', type: 'PAINT' })
工具用例令牌效率
figma_search_nodes按名称查找帧/元素~50个标记/节点
figma_get_children逐层浏览层次结构~50个令牌/节点
figma_search_components查找特定组件~50个标记/结果
figma_search_styles查找特定样式~30个标记/结果

______________________________________________________________________

已知限制

  • 无ES6扩频算子 在插件代码中
  • 布尔运算 需要具有相同父节点的节点
  • 约束 不要在自动布局子对象上工作(使用 layoutAlign)
  • 线条 高度=0,使用 length 参数
  • 矢量 仅支持M、L、Q、C、Z命令(无圆弧)
  • detachInstance() 还分离祖先实例
  • 30秒超时 在所有命令上

______________________________________________________________________

故障排除

插件未连接

  1. 确保MCP服务器正在运行。
  2. 问克劳德桥在哪个港口 -MCP服务器通过 instructions 会话初始化中的字段,Claude将在以下情况下主动显示它 figma_get_context 报告 connected: false。您也可以致电 figma_server_info 直接看到港口。
  3. 在Figma插件UI的端口输入中匹配该端口。
  4. 在Figma中重新运行插件(Cmd+Option+P).

端口已在使用中

服务器会自动按顺序尝试端口3055-3070。如果有多个会话正在运行,实际绑定端口可能与默认端口不同。要强制使用特定端口,请执行以下操作:

FIGMA_BRIDGE_PORT=3057 node src/index.js

多个Claude代码实例

每个Claude Code实例都会生成自己的MCP服务器,并绑定到3055-3070范围内的下一个可用端口。网桥会自动处理此问题:

  1. 根据需要启动尽可能多的Claude Code会话——每个会话都选择一个开放端口。
  2. 在每个会话中询问克劳德它在哪个端口 (或致电 figma_server_info).MCP服务器的指令告诉Claude在未连接时显示此信息。
  3. 在每个Figma文件的插件实例中: 键入匹配的端口号,然后单击“连接”。

您可以确认给定会话使用的是哪个版本+端口 figma_server_info --它回来了 { version, port, connected, documentInfo }.

命令超时

  • 命令有30秒的超时时间
  • 大型出口可能会超时;尝试更小的规模
  • 检查插件是否仍连接(绿色状态)

字体错误

文本操作需要加载字体。插件会自动处理此问题,但如果未安装字体,它将失败。使用系统上可用的字体。

______________________________________________________________________

许可证

麻省理工学院

______________________________________________________________________

Made by Cory Schulz

目录标签

目录标签

Figma集成JavaScriptClaude实时通信本地部署设计工具WebSocket桥接

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

87

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP