Back to Tools
Productivity & Docs OAuth
figma logo

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 Policies

For Figma, you can implement some of these policies:

Access when tools are listed for a user
  • 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.
Pre-execution before each tool call
  • 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.
Post-execution after the tool returns
  • 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.

Ready to actually ship your agent?

Connect your agent to Figma with managed OAuth, agent-optimized tools and approval controls for consequential actions.