Figma MCP Server

io.github.planetabhi由 GitHub 账号 planetabhi 发布v3.1.3更新于 Nov 3, 2026

A local MCP server with full Figma REST API coverage.

发布方自己的服务:Figma MCP Server

概览

AI 生成的概览

本地 MCP 服务器,将 Figma REST API 封装为工具,让助手读取文件、节点、组件、评论和团队数据。

可以做什么
  • 读取 Figma 文件、节点树、文件元数据、版本历史和图片填充
  • 浏览团队、文件夹、已发布组件、组件集和样式
  • 读取评论与表情回应,并删除自己发布的评论和回应
  • 查看变量、库分析、活动日志与开发者日志、AI 用量、嵌入和付款信息
  • 创建或删除 webhook、开发资源,以及(企业版)团队和文件夹
适用场景
适合让助手检查 Figma 设计稿、设计令牌、组件库或团队结构并给出报告,或在聊天客户端中管理评论、webhook 和开发资源。多数读取工具适用于任意套餐,创建类和分析类工具需要更高的 Figma 套餐。
运行要求
以 stdio 在本地运行,需要 Bun 1.2 或更高版本并用 bunx 启动(不支持 Node)。需要 Figma 个人访问令牌,通过环境变量 FIGMA_API_KEY 提供,并需要访问 Figma API 的网络连接。部分工具需要企业版或组织版套餐以及管理员或套餐访问令牌。
安装前请注意
Figma 个人访问令牌权限较广,应放在客户端 env 配置或交互式输入中,不要写入共享文件。多个工具会写入或删除数据:删除评论、回应和 webhook 不可撤销,webhook 会调用你指定的外部地址。企业版工具可创建团队和文件夹,并读取组织日志和 AI 用量数据。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Figma MCP Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Figma MCP Server

A local MCP server with full Figma REST API coverage. Works with Claude Desktop, Cursor, VS Code, the Gemini CLI, and any MCP client. Available on npm and the official MCP Registry.

[NPM Downloads]

How it works

Each Figma REST endpoint is exposed as one self-describing MCP tool, auto-discovered at startup from tools/figma/, so adding an endpoint is just adding a file. Required parameters are validated before each call. It runs over stdio.

Prerequisites

Requires Bun ≥ 1.2. It's Bun-native, so launch it with bunx, not npx (Node isn't supported).

Figma API key

Create a personal access token in Figma under Settings > Security > Personal access tokens > Generate new token. Provide it as FIGMA_API_KEY, ideally in your client config's env block (see below).

Configure your client

Every client uses the same server. Point command at bunx, or its absolute path (which bunx) if the client cannot find it on PATH.

json
{  "mcpServers": {    "figma": {      "command": "bunx",      "args": ["figma-mcp-server"],      "env": {        "FIGMA_API_KEY": "your_figma_api_key_here"      }    }  }}

Config file locations:

  • Claude Desktop: Settings > Developer > Edit Config (claude_desktop_config.json)
  • Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json per project
  • Gemini CLI: ~/.gemini/settings.json

Restart the client after editing its config.

VS Code

Use .vscode/mcp.json (workspace) or your user mcp.json, with a servers key. Instead of hardcoding the token, define an input so VS Code prompts for it securely:

json
{  "inputs": [    {      "type": "promptString",      "id": "figma-api-key",      "description": "Figma API Key",      "password": true    }  ],  "servers": {    "figma": {      "command": "bunx",      "args": ["figma-mcp-server"],      "env": {        "FIGMA_API_KEY": "${input:figma-api-key}"      }    }  }}
  • With ${input:figma-api-key}, VS Code prompts you for the key the first time the server starts, then stores it in your OS secret storage.
  • To re-enter or clear it: Command Palette → MCP: List Servers → pick the server → reset/edit its inputs.

Tool coverage

Full coverage of the Figma REST API (non-deprecated endpoints), 55 tools across:

  • Files and nodes (files, node trees, image rendering, image fills, metadata, version history, duplicate)
  • Variables / design tokens (read, published, bulk modify)
  • Components, component sets, and styles (file, published, and team scopes)
  • Comments and reactions
  • Teams (get, create, invite members)
  • Folders (top-level folders, subfolders, files, metadata, create)
  • Users
  • Dev resources
  • Webhooks (v2)
  • Library analytics (component, style, and variable actions and usages)
  • Organization: activity logs, developer logs, AI usage (Enterprise)
  • Embeds and payments

Check your MCP client's tool list for the full, always-current list of tool names and parameters.

Plan requirements

Most tools work with any plan's personal access token. These need higher tiers:

  • Variables (list_file_variables, get_published_variables, modify_variables): Enterprise organization.
  • Library analytics (get_library_*): Organization or Enterprise plan.
  • Activity logs, developer logs, AI usage: Enterprise organization with an admin or plan access token.
  • File duplication, team and folder creation, and team invites (duplicate_file, create_team, create_folder, invite_team_members): Enterprise plan via a private OAuth app.

MIT License · By @planetabhi ⋛⋋( ⊙◊⊙)⋌⋚

来源:README.md,提交 63b9a5b

工具

55

create_dev_resources

Create development resources for a Figma file.

输入参数url必填name必填node_id必填file_key必填

create_folder

Create a top-level folder in a team. The team must belong to the Enterprise plan associated with the private OAuth app. Enterprise plans only.

输入参数name必填team_id必填sharing_audience_control必填

create_team

Create a team in the Enterprise plan associated with a private OAuth app. The authenticated user becomes the team owner. Enterprise plans only.

输入参数name必填descriptionworkspace_idorg_discoverabilitysharing_audience_control必填

create_webhook

Create a webhook that calls the given endpoint when the event triggers. A PING event is sent on creation unless status is PAUSED.

输入参数statuscontext必填endpoint必填passcode必填context_id必填event_type必填description

delete_comment

Delete a comment from a Figma file. Only the author of the comment can delete it.

输入参数file_key必填comment_id必填

delete_comment_reaction

Delete a reaction from a comment. Only the author of the reaction can delete it.

输入参数emoji必填file_key必填comment_id必填

delete_dev_resource

Delete a dev resource from a file.

输入参数file_key必填dev_resource_id必填

delete_webhook

Delete a webhook by ID. This cannot be reversed.

输入参数webhook_id必填

duplicate_file

Duplicate a main file or branch into the specified folder as a new standalone file. The copy uses the source's latest saved checkpoint and may omit recent unsaved changes. Enterprise plans only.

输入参数file_key必填folder_id必填

get_activity_logs

Get activity log events for the organization. Requires an organization admin plan access token (Enterprise).

输入参数limitordereventsend_timestart_time

get_ai_usage_daily

Get per-user, per-day AI credit usage for the plan. Requires a plan access token with org:ai_metering_usage_read (Enterprise).

输入参数limitcursorend_date必填start_date必填user_email

get_comment_reactions

Get a paginated list of reactions left on a comment.

输入参数cursorfile_key必填comment_id必填

get_component_set

Retrieve metadata for a published component set by its key.

输入参数key必填

get_current_user

Get the current user information from Figma.

无需输入参数。

get_developer_logs

Get developer log entries for REST API and MCP server requests in the organization. Requires a plan access token with org:developer_log_read (Enterprise). Note: this is a POST request with a JSON filter body.

输入参数limittokencursordate_rangeip_addresstoken_nametoken_typeuser_emailevent_source

get_figma_file

Retrieve the document tree and metadata of a Figma file as JSON.

输入参数idsdepthversionfile_key必填geometrybranch_dataplugin_data

get_file_meta

Get metadata for a Figma file (name, folder, last touched, creator, editor type, role, link access, version).

输入参数file_key必填

get_file_nodes

Retrieve specific nodes (and their subtrees) from a Figma file as JSON.

输入参数ids必填depthversionfile_key必填geometryplugin_data

get_file_version_history

Retrieve the paginated version history of a Figma file.

输入参数afterbeforefile_key必填page_size

get_folder_files

Get the files directly within a specified folder.

输入参数folder_id必填branch_data

get_folder_meta

Get metadata for a folder (name, thumbnail, file count, created/updated timestamps) without enumerating its files.

输入参数folder_id必填

get_folder_subfolders

Get the direct subfolders within a specified folder.

输入参数folder_id必填

get_image_fills

Get download URLs for all image fills (user-supplied images) in a Figma file.

输入参数file_key必填

get_library_component_actions

Get library analytics component action data (detachments, insertions) broken down by the requested dimension.

输入参数cursorend_datefile_key必填group_by必填start_date

get_library_component_usages

Get library analytics component usage data broken down by the requested dimension.

输入参数cursorfile_key必填group_by必填

get_library_style_actions

Get library analytics style action data (detachments, insertions) broken down by the requested dimension.

输入参数cursorend_datefile_key必填group_by必填start_date

get_library_style_usages

Get library analytics style usage data broken down by the requested dimension.

输入参数cursorfile_key必填group_by必填

get_library_variable_actions

Get library analytics variable action data (detachments, insertions) broken down by the requested dimension.

输入参数cursorend_datefile_key必填group_by必填start_date

get_library_variable_usages

Get library analytics variable usage data broken down by the requested dimension.

输入参数cursorfile_key必填group_by必填

get_oembed

Get oEmbed data for a Figma file or published Make site URL, following the oEmbed specification.

输入参数url必填maxwidthmaxheight

get_payments

Get a user's payment information for a plugin, widget, or Community file you own. Use either plugin_payment_token, or user_id plus exactly one of community_file_id/plugin_id/widget_id.

输入参数user_idplugin_idwidget_idcommunity_file_idplugin_payment_token

get_published_component_by_key

Retrieve metadata for a published component by its key.

输入参数key必填

get_published_style

Retrieve metadata for a published style by its key.

输入参数key必填

get_published_variables

Get the variables and variable collections published from a file. Requires an Enterprise organization / plan access token.

输入参数file_key必填

get_team

Get metadata for a team the caller can access. Available to private OAuth apps on Professional, Organization, and Enterprise plans, and to plan access tokens on Organization and Enterprise plans.

输入参数team_id必填

get_team_component_sets

Get a paginated list of published component sets within a team library.

输入参数afterbeforeteam_id必填page_size

get_team_components

Get a paginated list of published components within a team library.

输入参数afterbeforeteam_id必填page_size

get_team_folders

Get the top-level folders (previously called projects) within a specified team.

输入参数team_id必填

get_team_styles

Get a paginated list of published styles within a team library.

输入参数afterbeforeteam_id必填page_size

get_webhook

Get a webhook by its ID.

输入参数webhook_id必填

get_webhook_requests

Get webhook requests sent within the last week for a given webhook. Useful for debugging.

输入参数webhook_id必填

get_webhooks

Get webhooks by context or plan. Provide either context + context_id, or plan_api_id (paginated).

输入参数cursorcontextcontext_idplan_api_id

invite_team_members

Invite users to a team with the requested role. Each email is processed independently; per-address failures are returned in `errors` with HTTP 200, so always check `errors`. Existing members keep their current role when it is higher. Enterprise plans only.

输入参数role必填emails必填team_id必填

list_comments

List comments on a Figma file.

输入参数file_key必填

list_component_sets

List all component sets published in a specific Figma file.

输入参数file_key必填

list_components

List components in a specific Figma file.

输入参数file_key必填

list_dev_resources

List development resources for a specific Figma file.

输入参数file_key必填

list_file_variables

List variables for a specific Figma file.

输入参数file_key必填

list_styles_in_file

List styles in a specific Figma file.

输入参数file_key必填

modify_variables

Bulk create, update, and delete variables, variable collections, modes, and mode values in a file. Provide at least one of the arrays; each item needs an "action" of CREATE, UPDATE, or DELETE. Requires an Enterprise organization with Editor seats.

输入参数file_key必填variablesvariableModesvariableModeValuesvariableCollections

post_comment

Post a comment to a Figma file.

输入参数message必填file_key必填client_meta

post_comment_reaction

Add a reaction to a comment on a Figma file.

输入参数emoji必填file_key必填comment_id必填

render_images

Render one or more nodes of a Figma file as images (PNG/JPG/SVG/PDF) and return a map of node IDs to download URLs. URLs expire after 30 days.

输入参数ids必填scaleformatversionfile_key必填contents_onlysvg_include_idsvg_outline_textsvg_include_node_idsvg_simplify_strokeuse_absolute_bounds

update_dev_resources

Bulk update dev resources across files. Each item must include its id; name and url are optional.

输入参数dev_resources必填

update_webhook

Update an existing webhook by ID.

输入参数statusendpoint必填passcode必填event_type必填webhook_id必填description

版本历史

2
  1. v3.1.3最新Nov 1, 2026
  2. v3.1.1Sep 16, 2026

评分

已满足适用检查项的 80%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Figma 集成