Figma MCP Tools for AI Agents
Let an agent inspect Figma files, export frames, read comments, trace component usage, and manage design variables.
Available Tools
54 tools available in this integration
Figma.AddCommentOrReply Add a comment to a Figma file or reply to an existing comment.
Figma.AddCommentReaction React to a comment in a Figma file.
Figma.AggregateComponentActions Get how a Figma library's components were inserted and detached, week by week.
Figma.AggregateComponentUsages Get which files and teams currently use a Figma library's components.
Figma.AggregateStyleActions Get how a Figma library's styles were applied and detached, week by week.
Figma.AggregateStyleUsages Get which files and teams currently use a Figma library's styles.
Figma.AggregateVariableActions Get how a Figma library's variables were bound and detached, week by week.
Figma.AggregateVariableUsages Get which files and teams currently bind a Figma library's variables.
Figma.CreateComment Add a comment to a Figma file or reply to an existing comment.
Figma.CreateDevResources Attach links to nodes in a Figma file.
Figma.DeleteComment Delete a comment from a Figma file.
Figma.DeleteCommentReaction Remove your reaction from a comment in a Figma file.
Figma.DeleteDevResource Remove a link from a node in a Figma file.
Figma.ExportImage Export Figma frames/nodes as images.
Figma.GetComments Get comments on a Figma file.
Figma.GetComponent Get metadata for a specific component by its key.
Figma.GetComponentActions Get how a Figma library's components were inserted and detached, week by week.
Figma.GetComponentSet Get metadata for a specific component set by its key.
Figma.GetComponentSets Get published component sets (groups of component variants) from a file or team library.
Figma.GetComponentUsages Get which files and teams currently use a Figma library's components.
Figma.GetComponents Get published components from a file or team library.
Figma.GetDevResources Get the links attached to nodes in a Figma file.
Figma.GetFile Get a Figma file's structure including pages and metadata.
Figma.GetFileMetadata Identify a Figma file: its name, editor type, owner, and last edit.
Figma.GetFileNodes Get specific nodes from a Figma file by their IDs.
Figma.GetFileVersions Get a Figma file's version history, newest first.
Figma.GetLocalVariables Get the design tokens a Figma file defines or subscribes to.
Figma.GetPages Get a list of pages in a Figma file.
Figma.GetProjectFiles Get all files in a Figma project.
Figma.GetPublishedVariables Get the design tokens a Figma library publishes to the files that subscribe to it.
Figma.GetStyle Get metadata for a specific style by its key.
Figma.GetStyleActions Get how a Figma library's styles were applied and detached, week by week.
Figma.GetStyleUsages Get which files and teams currently use a Figma library's styles.
Figma.GetStyles Get published styles from a file or team library.
Figma.GetTeamProjects Get all projects in a Figma team.
Figma.GetVariableActions Get how a Figma library's variables were bound and detached, week by week.
Figma.GetVariableUsages Get which files and teams currently bind a Figma library's variables.
Figma.ListComments Get comments on a Figma file.
Figma.ListComponentSets Get published component sets (groups of component variants) from a file or team library.
Figma.ListComponents Get published components from a file or team library.
Figma.ListDevResources Get the links attached to nodes in a Figma file.
Figma.ListFiles Get all files in a Figma project.
Figma.ListLocalVariables Get the design tokens a Figma file defines or subscribes to.
Figma.ListNodes Get specific nodes from a Figma file by their IDs.
Figma.ListPages Get a list of pages in a Figma file.
Figma.ListProjects Get all projects in a Figma team.
Figma.ListPublishedVariables Get the design tokens a Figma library publishes to the files that subscribe to it.
Figma.ListStyles Get published styles from a file or team library.
Figma.ListVersions Get a Figma file's version history, newest first.
Figma.ModifyVariables Create, update, and delete Figma variables, collections, and modes in one call.
Figma.ReactToComment Add or remove your own emoji reaction on a comment in a Figma file.
Figma.UpdateDevResource Rename a link attached to a Figma node, or repoint it at a different URL.
Figma.UpdateVariables Create, update, and delete Figma variables, collections, and modes in one call.
Figma.WhoAmI Get the authenticated user's profile.
Working directly against the raw API? 43 more tools in the Figma API server →
Why agent-optimized tools matter
Built for intent, not API schemas
Ask the agent to "find the checkout screens, inspect their comments, and report the unresolved issues." Arcade picks the right Figma tools without guessing file IDs, page IDs, or node IDs.
Up to 100x fewer tokens
Figma reads return focused metadata, pages, nodes, comments, and library records, so the agent can inspect a design and its system usage without loading entire files into the model.
Complete the workflow end to end
Find the file, inspect its pages and nodes, review comments, attach a development link, and export the relevant frame through one toolkit designed around the complete design review task.
Make actions predictable and controlled
Arcade tools return structured results and useful errors across users and runs. Teams can apply scope restrictions, redaction, and approval policies so agents follow the same controls every time.
Securing Figma
The more capabilities agents get, the more useful they are. However, more capabilities bring more risks of undesired effects such as data loss and exfiltration.
This is why Arcade provides you with contextual rules that dictate how and when a tool is allowed to run. Arcade’s contextual access lets you govern tool visibility and behavior at every stage of execution and control who can see a tool, what inputs are allowed, and what comes back.
Learn about Contextual Access PoliciesFor Figma, you can implement some of these policies:
- Hide Figma.ModifyVariables from agents unless the roles your IDP marks as design-system owners are active, so automation cannot alter or delete shared design tokens.
- Restrict Figma.DeleteComment to agents operating under your review-moderator role, so an agent cannot erase feedback or audit history.
- Deny Figma.DeleteDevResource to everyone outside the roles your IDP marks as repository maintainers, so approved implementation links cannot be removed casually.
- Hide Figma.CreateComment from agents unless the roles your IDP marks as design reviewers are active, so automation cannot post unapproved feedback in shared files.
- Restrict Figma.ReactToComment to agents operating under your feedback-moderator role, so an agent cannot manipulate team reactions or signal approval on someone else's behalf.
- Deny Figma.UpdateVariables to everyone outside the roles your IDP marks as design-system administrators, so automation cannot change token collections or modes.
- Require human approval before Figma.AddCommentOrReply runs, so an agent cannot publish feedback or replies in a shared file without review.
- Block Figma.CreateDevResources when the destination URL is outside your vendor and domain allowlist, so an agent cannot attach phishing or unapproved tracking links to design nodes.
- Require human approval before Figma.UpdateDevResource changes a link used by a production component, so an agent cannot silently redirect developers to the wrong implementation.
- Require human approval before Figma.CreateComment runs on files outside your team's draft projects, so an agent cannot publish feedback to client or production work without review.
- Block Figma.ReactToComment when the target comment belongs to an external collaborator, so an agent cannot create an apparent endorsement on behalf of your team.
- Require human approval before Figma.UpdateVariables deletes a collection, mode, or variable, so a mistaken automation run cannot remove tokens that subscribed files depend on.
- Redact text-layer contents, embedded URLs, and private file metadata from Figma.GetFile results before they reach the model, so confidential copy and links are not exposed during broad file scans.
- Strip text contents and private URLs from Figma.GetFileNodes results for nodes marked confidential, so the agent can inspect structure without receiving restricted design content.
- Deny Figma.ExportImage results for frames in projects classified as confidential, so restricted screens cannot be rendered into images for the model.
- Redact comment bodies, author email addresses, and embedded private URLs from Figma.ListComments results before they reach the model, so feedback scans expose only the metadata needed for triage.
- Strip destination URLs containing access tokens, signed query parameters, or internal hostnames from Figma.ListDevResources results, so implementation-link scans do not disclose credentials or private infrastructure.
- Redact variable values and descriptions marked confidential from Figma.ListLocalVariables results before the model sees them, so design-token scans cannot expose private product or environment settings.
How to use Figma with your agent
Connect Figma to an MCP client and give your agent authenticated access to files, comments, components, styles, and variables. Follow the setup walkthrough for your client.
Your questions, answered
A Figma MCP server exposes Figma capabilities as structured tools that an AI agent can call through the Model Context Protocol. After a user authorizes their Figma account, the agent can inspect files, pages, nodes, comments, libraries, variables, versions, and other permitted resources.
Figma's own MCP server is a first-party endpoint for accessing Figma capabilities. Arcade adds per-user OAuth, agent-optimized tools, approval workflows, redaction, scope controls, and one MCP gateway for the supported clients and frameworks your team already uses.
Arcade agents can inspect files, pages, nodes, metadata, versions, projects, comments, components, component sets, styles, variables, and library usage. They can export frames as images, add or manage comments and reactions, attach or update development-resource links, and create, update, or delete variables, collections, and modes; they cannot edit arbitrary Figma design nodes through these tools.
Arcade requests the Figma OAuth permissions needed for the actions you enable. Read-only workflows need read access, while commenting, reactions, development-resource links, and variable changes require the corresponding write permissions; grant the narrowest access that supports your workflow.
Yes. Each user authorizes their own Figma account through OAuth. Figma actions run under that user's authorization, so the agent can access only the files, teams, projects, and permissions available to that user.
Yes. Contextual Access policies can require human approval before consequential Figma actions, such as changing variables, deleting comments or development-resource links, or adding comments and links. The call proceeds only after the policy's conditions have been satisfied.
Arcade proxies Figma API calls and does not persist your Figma content as part of normal tool execution. OAuth credentials are brokered and stored encrypted at rest, and the model never receives raw credentials.
Any framework or client that can connect to Arcade's MCP gateway or tool APIs works, including LangChain, OpenAI Agents, CrewAI, Claude Desktop, Claude Code, Cursor, Visual Studio Code, Microsoft Copilot Studio, and GitHub Copilot.
Arcade refreshes Figma access while the user's authorization remains valid. If access is revoked, rotated, or can no longer be refreshed, calls stop until the user reconnects their Figma account.
Calls through Arcade remain subject to Figma's API rate limits, quotas, and the user's team or account permissions. The available details do not specify a separate Arcade quota or a Figma limit for each action, so design workflows should handle rate-limit responses and retries.