create_dev_resources
Create development resources for a Figma file.
urlrequirednamerequirednode_idrequiredfile_keyrequired
io.github.planetabhiPublished by GitHub account planetabhiv3.1.3Updated Nov 3, 2026
A local MCP server with full Figma REST API coverage.
The publisher's own server: Figma MCP Server
Local MCP server that exposes the Figma REST API as tools, letting an assistant read files, nodes, components, comments and team data.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
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.
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.
Requires Bun ≥ 1.2. It's Bun-native, so launch it with bunx, not npx (Node isn't supported).
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).
Every client uses the same server. Point command at bunx, or its absolute path (which bunx) if the client cannot find it on PATH.
Config file locations:
claude_desktop_config.json)~/.cursor/mcp.json, or .cursor/mcp.json per project~/.gemini/settings.jsonRestart the client after editing its config.
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:
${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.Full coverage of the Figma REST API (non-deprecated endpoints), 55 tools across:
Check your MCP client's tool list for the full, always-current list of tool names and parameters.
Most tools work with any plan's personal access token. These need higher tiers:
list_file_variables, get_published_variables, modify_variables): Enterprise organization.get_library_*): Organization or Enterprise plan.duplicate_file, create_team, create_folder, invite_team_members): Enterprise plan via a private OAuth app.MIT License · By @planetabhi ⋛⋋( ⊙◊⊙)⋌⋚
Source: README.md at commit 63b9a5b
Create development resources for a Figma file.
urlrequirednamerequirednode_idrequiredfile_keyrequiredCreate a top-level folder in a team. The team must belong to the Enterprise plan associated with the private OAuth app. Enterprise plans only.
namerequiredteam_idrequiredsharing_audience_controlrequiredCreate a team in the Enterprise plan associated with a private OAuth app. The authenticated user becomes the team owner. Enterprise plans only.
namerequireddescriptionworkspace_idorg_discoverabilitysharing_audience_controlrequiredCreate a webhook that calls the given endpoint when the event triggers. A PING event is sent on creation unless status is PAUSED.
statuscontextrequiredendpointrequiredpasscoderequiredcontext_idrequiredevent_typerequireddescriptionDelete a comment from a Figma file. Only the author of the comment can delete it.
file_keyrequiredcomment_idrequiredDelete a reaction from a comment. Only the author of the reaction can delete it.
emojirequiredfile_keyrequiredcomment_idrequiredDelete a dev resource from a file.
file_keyrequireddev_resource_idrequiredDelete a webhook by ID. This cannot be reversed.
webhook_idrequiredDuplicate 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_keyrequiredfolder_idrequiredGet activity log events for the organization. Requires an organization admin plan access token (Enterprise).
limitordereventsend_timestart_timeGet per-user, per-day AI credit usage for the plan. Requires a plan access token with org:ai_metering_usage_read (Enterprise).
limitcursorend_daterequiredstart_daterequireduser_emailGet a paginated list of reactions left on a comment.
cursorfile_keyrequiredcomment_idrequiredRetrieve metadata for a published component set by its key.
keyrequiredGet the current user information from Figma.
Takes no parameters.
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_sourceRetrieve the document tree and metadata of a Figma file as JSON.
idsdepthversionfile_keyrequiredgeometrybranch_dataplugin_dataGet metadata for a Figma file (name, folder, last touched, creator, editor type, role, link access, version).
file_keyrequiredRetrieve specific nodes (and their subtrees) from a Figma file as JSON.
idsrequireddepthversionfile_keyrequiredgeometryplugin_dataRetrieve the paginated version history of a Figma file.
afterbeforefile_keyrequiredpage_sizeGet the files directly within a specified folder.
folder_idrequiredbranch_dataGet metadata for a folder (name, thumbnail, file count, created/updated timestamps) without enumerating its files.
folder_idrequiredGet the direct subfolders within a specified folder.
folder_idrequiredGet download URLs for all image fills (user-supplied images) in a Figma file.
file_keyrequiredGet library analytics component action data (detachments, insertions) broken down by the requested dimension.
cursorend_datefile_keyrequiredgroup_byrequiredstart_dateGet library analytics component usage data broken down by the requested dimension.
cursorfile_keyrequiredgroup_byrequiredGet library analytics style action data (detachments, insertions) broken down by the requested dimension.
cursorend_datefile_keyrequiredgroup_byrequiredstart_dateGet library analytics style usage data broken down by the requested dimension.
cursorfile_keyrequiredgroup_byrequiredGet library analytics variable action data (detachments, insertions) broken down by the requested dimension.
cursorend_datefile_keyrequiredgroup_byrequiredstart_dateGet library analytics variable usage data broken down by the requested dimension.
cursorfile_keyrequiredgroup_byrequiredGet oEmbed data for a Figma file or published Make site URL, following the oEmbed specification.
urlrequiredmaxwidthmaxheightGet 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_tokenRetrieve metadata for a published component by its key.
keyrequiredRetrieve metadata for a published style by its key.
keyrequiredGet the variables and variable collections published from a file. Requires an Enterprise organization / plan access token.
file_keyrequiredGet 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_idrequiredGet a paginated list of published component sets within a team library.
afterbeforeteam_idrequiredpage_sizeGet a paginated list of published components within a team library.
afterbeforeteam_idrequiredpage_sizeGet the top-level folders (previously called projects) within a specified team.
team_idrequiredGet a paginated list of published styles within a team library.
afterbeforeteam_idrequiredpage_sizeGet a webhook by its ID.
webhook_idrequiredGet webhook requests sent within the last week for a given webhook. Useful for debugging.
webhook_idrequiredGet webhooks by context or plan. Provide either context + context_id, or plan_api_id (paginated).
cursorcontextcontext_idplan_api_idInvite 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.
rolerequiredemailsrequiredteam_idrequiredList comments on a Figma file.
file_keyrequiredList all component sets published in a specific Figma file.
file_keyrequiredList components in a specific Figma file.
file_keyrequiredList development resources for a specific Figma file.
file_keyrequiredList variables for a specific Figma file.
file_keyrequiredList styles in a specific Figma file.
file_keyrequiredBulk 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_keyrequiredvariablesvariableModesvariableModeValuesvariableCollectionsPost a comment to a Figma file.
messagerequiredfile_keyrequiredclient_metaAdd a reaction to a comment on a Figma file.
emojirequiredfile_keyrequiredcomment_idrequiredRender 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.
idsrequiredscaleformatversionfile_keyrequiredcontents_onlysvg_include_idsvg_outline_textsvg_include_node_idsvg_simplify_strokeuse_absolute_boundsBulk update dev resources across files. Each item must include its id; name and url are optional.
dev_resourcesrequiredUpdate an existing webhook by ID.
statusendpointrequiredpasscoderequiredevent_typerequiredwebhook_idrequireddescription80% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
Declare a license in the repository or the registry entry.

com.figma.mcpOfficial publisher
Figma's remote MCP server that gives AI coding agents design context from Figma files so they can generate and update code.

Published by GitHub account workingmodel
Local MCP server plus Figma plugin that lets an assistant create and edit fully editable vector nodes, shapes, text and components on the Figma canvas.

Published by GitHub account Mehmoodqureshi
Converts a Figma frame into HTML, React or Next.js code and pixel-diffs the rendered result against the design until it converges.

Published by GitHub account Mehmoodqureshi
Converts a Figma frame into deterministic HTML, React or Next.js code, then renders it in Chromium and pixel-diffs it against the design until it matches.

Published by GitHub account NBhey
A local MCP server that lets an assistant read Figma designs pulled once into a vault, offline and without a Figma token or rate limits.
{ "mcpServers": { "figma": { "command": "bunx", "args": ["figma-mcp-server"], "env": { "FIGMA_API_KEY": "your_figma_api_key_here" } } }}{ "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}" } } }}