Token导航 LogoToken导航

MCP Server · 设计创作

Figma MCP Bridge

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

stdio官方级别未说明来源级核验工具 87
Figma集成JavaScriptClaude实时通信Claude Desktop

快速开始

作者 / 组织
magic-spells
提供方
magic-spells
运行时
Node.js

工具数量

87

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

59

仓库热度

收录来源

3 个

MCP World

选型结论

Figma MCP Bridge 属于设计创作类 MCP Server,公开资料标注 87 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

设计创作

传输方式

stdio

认证方式

无需认证

部署方式

仅本地运行

安装与配置

安装命令

npx @magic-spells/figma-mcp-bridge

客户端配置示例

{
  "mcpServers": {
    "figma-mcp-bridge": {
      "command": "npx",
      "args": [
        "@magic-spells/figma-mcp-bridge"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 87 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

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
compactboolean否true返回最少数据
figma_search_nodes

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

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

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

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

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

参数类型必填默认说明
nameContainsstring否不区分大小写的子字符串匹配
typestring否"ALL"筛选器: PAINT, TEXT, EFFECT, GRID, ALL
compactboolean否true返回最少数据
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否字体样式(例如,“粗体”、“常规”)
textCasestring否ORIGINAL, UPPER, LOWER, TITLE
textDecorationstring否NONE, UNDERLINE, STRIKETHROUGH
lineHeight对象否{ unit: "AUTO" } 或 { unit: "PIXELS", value: 24 }
letterSpacing对象否{ unit: "PIXELS", value: 1 } 或 { unit: "PERCENT", value: 5 }
textAlignHorizontalstring否LEFT, CENTER, RIGHT, JUSTIFIED
textAlignVerticalstring否TOP, 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是要配置的帧
layoutModestring否NONE, HORIZONTAL, VERTICAL
primaryAxisSizingModestring否FIXED, AUTO
counterAxisSizingModestring否FIXED, AUTO
primaryAxisAlignItemsstring否MIN, CENTER, MAX, SPACE_BETWEEN
counterAxisAlignItemsstring否MIN, CENTER, MAX, BASELINE
paddingTopnumber否顶部填充
paddingRightnumber否右侧填充
paddingBottomnumber否底部填充
paddingLeftnumber否左填充
itemSpacingnumberNo项目之间的空格
counterAxisSpacingnumberNo换行时行之间的空格
layoutWrapstring否NO_WRAP, WRAP
figma_set_layout_align

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

参数类型必填说明
nodeIdstring是要修改的子节点
layoutAlignstring否MIN, CENTER, MAX, STRETCH, INHERIT
layoutGrow数字否增长系数(0-1)
layoutPositioningstring否AUTO, 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是要配置的节点
horizontalstring否MIN, CENTER, MAX, STRETCH, SCALE
verticalstring否MIN, 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是变量名(使用 / 对于组,例如“颜色/原色”)
typestring是COLOR, 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_page 和 figma_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的插件文档列表 authorName 和 authorVisible 随着R/W的开启 StickyNode,但FigJam运行时拒绝使用“属性没有设置器”的写入。Figma会根据活动用户的身份自动填充两者,因此标签无需程序控制即可正常工作。
figma_set_sticky

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

参数类型必填说明
nodeIdstring是STICKY 节点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

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

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

在节点之间创建箭头/连接器。默认 endCap 是 ARROW_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 仅支持连接器 CENTER 或 NONE 磁铁。 ELBOWED 和 CURVED 接受全部六个。验证在服务器端运行。
figma_set_connector

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

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

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

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

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

参数类型必填说明
nodeIdstring是SECTION 节点ID
namestring否新建节标签
sectionContentsHiddenboolean否显示或隐藏部分内容
devStatusstringnull否READY_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

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

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

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

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

删除行/列。

参数类型必填说明
nodeIdstring是TABLE 节点ID
rowIndex / columnIndexnumberYes要删除的索引
figma_resize_table_row / figma_resize_table_column

设置行高/列宽。

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

重新排序行/列。

参数类型必填说明
nodeIdstring是TABLE 节点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

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

参数类型必填说明
nodeIdstring是CODE_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 } 条目。在未选择任何内容的情况下进入演示视图时,第一个条目是默认值。

参数类型必填默认说明
nodeIdstring是FRAME, 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

工具与能力

工具数量

87

资源数量

0

提示词数量

0

能力标签

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

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

出图与改图

按描述生成或修改图像,快速迭代风格。

读取设计稿

读取画布和图层信息,按规范生成页面。

素材整理

批量生成缩略图、统一命名和标签。

选择建议

值得选的地方

  • 工具数量 87 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在设计创作场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Figma MCP Bridge

MCP World · 本页

87stdio有3 个2026-05-17
Blender MCP

MCP.so

17stdio有3 个2026-05-17
Figma Context MCP 3aaa8d28

MCP World

0未说明未标注2 个2026-05-17
Nova Canvas MCP Server

MCP World

2stdio有1 个2026-05-17
Cursor Talk To Figma MCP Da1c7911

MCP World

40未说明未标注1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Figma MCP Bridge 怎么安装?

公开资料给出的安装命令是 npx @magic-spells/figma-mcp-bridge,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Figma MCP Bridge 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Figma MCP Bridge 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Figma MCP Bridge 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Figma MCP Bridge 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP