FigmaApi
Description: Tools that enable LLMs to interact directly with the figma API.
Author: Arcade
Auth: User authorization
FigmaApi is a Starter MCP Server: each tool mirrors one HTTP endpoint and offers LLMs a way to interact with the low-level API.
Differently from Optimized MCP Servers, Starter tools are heavily influenced by the original API design, which is not usually optimized for LLM usage. For this reason, we recommend thoroughly evaluating the tools with your Agents or chatbots before using it in production. Read more about Optimized vs Starter tools.
The FigmaApi Server offers a comprehensive suite of tools for interacting with Figma files and . can efficiently manage design assets and collaborate on projects by performing actions such as:
Available Tools
Tool Name | Description |
---|---|
FigmaApi.FetchFigmaFile | Retrieve a Figma file as a JSON object using its file key. |
FigmaApi.GetFigmaFileNodes | Retrieve nodes and metadata from a Figma file. |
FigmaApi.RenderFigmaImages | Fetch rendered images from Figma files by node IDs. |
FigmaApi.FetchImageFillLinks | Retrieve download links for images in a Figma document. |
FigmaApi.GetFileMetadata | Retrieve metadata for a specified Figma file. |
FigmaApi.FigmaGetTeamProjects | Fetch all projects within a specified Figma team. |
FigmaApi.GetFigmaProjectFiles | Retrieve all files from a specific Figma project. |
FigmaApi.FetchFileVersionHistory | Fetch the version history of a Figma file. |
FigmaApi.GetFigmaFileComments | Retrieve comments from a Figma file. |
FigmaApi.AddCommentToFigmaFile | Posts a new comment on a Figma file. |
FigmaApi.DeleteFigmaComment | Delete your comment from a Figma file. |
FigmaApi.FetchCommentReactions | Retrieve reactions from a specific comment in Figma. |
FigmaApi.AddFigmaCommentReaction | Add a reaction to a comment on a Figma file. |
FigmaApi.DeleteMyCommentReaction | Deletes your specific comment reaction in Figma. |
FigmaApi.GetUserInformation | Retrieve information for the authenticated Figma user. |
FigmaApi.GetTeamComponents | Retrieve published components from a team's Figma library. |
FigmaApi.GetFigmaFileComponents | Retrieve published components from a Figma file library. |
FigmaApi.GetFigmaComponentMetadata | Retrieve metadata for a Figma component by key. |
FigmaApi.GetTeamComponentSets | Fetch published component sets from a Figma team library. |
FigmaApi.GetPublishedComponentSets | Retrieve published component sets from a Figma file. |
FigmaApi.GetFigmaComponentSet | Retrieve metadata for a Figma component set using its key. |
FigmaApi.GetTeamStyles | Retrieve a list of published styles from a team's library in Figma. |
FigmaApi.GetPublishedStylesFromFile | Retrieve published styles from a Figma file library. |
FigmaApi.GetStyleMetadata | Retrieve Figma style metadata by key. |
FigmaApi.GetFigmaWebhooks | Retrieve a list of webhooks from Figma. |
FigmaApi.CreateFigmaWebhook | Create a new webhook for Figma events. |
FigmaApi.GetFigmaWebhook | Retrieve a Figma webhook by its ID. |
FigmaApi.UpdateFigmaWebhook | Update a Figma webhook by its ID. |
FigmaApi.DeleteFigmaWebhook | Delete a specified webhook in Figma. |
FigmaApi.GetRecentWebhookRequests | Retrieve recent webhook requests from the last week. |
FigmaApi.RetrieveFigmaLocalVariables | Retrieve local and remote variables from a Figma file. |
FigmaApi.GetPublishedVariables | Retrieve published variables from a Figma file. |
FigmaApi.ManageFigmaVariables | Manage and organize Figma variable collections in bulk. |
FigmaApi.GetDevResources | Retrieve development resources from a Figma file. |
FigmaApi.CreateBulkDevResources | Bulk create developer resources in multiple Figma files. |
FigmaApi.BulkUpdateFigmaDevResources | Update multiple Figma dev resources in bulk. |
FigmaApi.DeleteDevResource | Delete a dev resource from a Figma file. |
FigmaApi.GetLibraryAnalyticsComponentActions | Get analytics for library component actions. |
FigmaApi.FetchComponentUsageData | Fetch library analytics component usage data by dimension. |
FigmaApi.GetLibraryStyleActions | Retrieve library style analytics actions data by dimension. |
FigmaApi.GetLibraryStyleUsageData | Retrieve style usage data from Figma library analytics. |
FigmaApi.FetchLibraryAnalyticsVariableActions | Retrieve library analytics variable actions data from Figma. |
FigmaApi.GetLibraryAnalyticsVariableUsages | Retrieve analytics on library variable usage. |
If you need to perform an action that’s not listed here, you can get in touch with us to request a new , or create your own tools.
FigmaApi.FetchFigmaFile
Retrieve a Figma file as a JSON object using its file key.
Parameters
- file_key (
string
, required) The unique key of the Figma file or branch to retrieve as JSON. - version_id (
string
, optional) Specify the version ID to retrieve a specific version of the file. Default is the current version. - node_ids_of_interest (
string
, optional) Comma-separated list of node IDs to retrieve specific parts of the Figma document. - traversal_depth (
number
, optional) Positive integer indicating the depth in the document tree to retrieve. For example, 1 returns only Pages; 2 returns Pages and top-level objects. - export_vector_data (
string
, optional) Set to “paths” to include vector data in the response. - include_plugin_data (
string
, optional) Comma separated list of plugin IDs and/or ‘shared’. Includes plugin data in the result. - include_branch_metadata (
boolean
, optional) Set to true to include metadata about branches related to the file. If false, branch information will not be returned.
FigmaApi.GetFigmaFileNodes
Retrieve nodes and metadata from a Figma file.
Parameters
- node_ids_to_retrieve (
string
, required) A comma-separated list of Figma node IDs to retrieve as JSON. - figma_file_key (
string
, required) The file or branch key from which to export JSON data in Figma. - specific_version_id (
string
, optional) Specify a version ID to retrieve a particular version of the Figma file. If omitted, the current version is retrieved. - node_tree_depth (
number
, optional) Positive integer indicating how deep into the node tree to traverse from the starting node. A value of 1 returns only immediate children. Leaving it unset returns all nodes. - export_vector_data (
string
, optional) Set to “paths” to include vector data in the response. - include_plugin_data (
string
, optional) Comma-separated plugin IDs and/or ‘shared’ to include plugin-related data in results.
FigmaApi.RenderFigmaImages
Fetch rendered images from Figma files by node IDs.
Parameters
- node_ids_to_render (
string
, required) A comma-separated list of node IDs for images to be rendered. - figma_file_key (
string
, required) The key for the Figma file or branch to export images from. Use with thebranch_data
query parameter to obtain branch key if needed. - version_id (
string
, optional) Specify a version ID to retrieve a particular version of a Figma file. If omitted, will use the current version. - image_scale_factor (
number
, optional) A number between 0.01 and 4, representing the image scaling factor for rendering. - image_output_format (
string
, optional) Specify the image format for the output. Options are ‘jpg’, ‘png’, ‘svg’, or ‘pdf’. - render_text_as_outlines (
boolean
, optional) Determines if text elements are rendered as outlines in SVGs. Settrue
for visual consistency;false
for selectable text. - include_svg_id_attributes (
boolean
, optional) Include id attributes for all SVG elements. Adds the layer name to the ‘id’ attribute. - include_node_id_in_svg_elements (
boolean
, optional) Set to true to include node ID attributes for all SVG elements, adding the node ID to adata-node-id
attribute. - svg_stroke_simplification_enabled (
boolean
, optional) Set to true to simplify inside/outside strokes in SVG using stroke attributes instead of<mask>
. - exclude_overlapping_content (
boolean
, optional) Set to true to exclude overlapping content from rendering. Set to false to include overlaps, which may increase processing time. - use_full_dimensions_without_cropping (
boolean
, optional) Export using full node dimensions, ignoring cropping and empty space. Ensures text nodes are fully visible.
FigmaApi.FetchImageFillLinks
Retrieve download links for images in a Figma document.
Parameters
- file_or_branch_key (
string
, required) The file or branch key from which to retrieve image URLs. UseGET /v1/files/:key
to get the branch key if needed.
FigmaApi.GetFileMetadata
Retrieve metadata for a specified Figma file.
Parameters
- file_identifier (
string
, required) File or branch key to get metadata for. Use thebranch_data
query param to get the branch key.
FigmaApi.FigmaGetTeamProjects
Fetch all within a specified Figma team.
Parameters
- team_id (
string
, required) The unique ID of the Figma team to list from. This is required to specify which team’s projects to retrieve.
FigmaApi.GetFigmaProjectFiles
Retrieve all files from a specific Figma .
Parameters
- project_identifier (
string
, required) The unique string ID of the Figma from which to list files. - include_branch_metadata (
boolean
, optional) Include branch metadata for each main file with a branch in the . Set to true to receive this data, otherwise false.
FigmaApi.FetchFileVersionHistory
Fetch the version history of a Figma file.
Parameters
- target_file_key (
string
, required) The key of the file or branch to fetch version history for. Use this to specify the Figma file whose version history you need. - number_of_items_per_page (
number
, optional) Specify the number of items to return per page. Defaults to 30 if not provided. - get_versions_before_id (
number
, optional) A version ID to get versions before it in the history. Used for pagination. - after_version_id (
number
, optional) Version ID to fetch subsequent versions. Used for pagination. Omit if not paginating.
FigmaApi.GetFigmaFileComments
Retrieve comments from a Figma file.
Parameters
- figma_file_or_branch_key (
string
, required) Specify the file or branch key to retrieve comments from. Use theGET /v1/files/:key
endpoint withbranch_data
query param for branch keys. - return_comments_as_markdown (
boolean
, optional) Set to true to return comments as markdown equivalents when applicable.
FigmaApi.AddCommentToFigmaFile
Posts a new comment on a Figma file.
Parameters
- mode (
Enum
ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation - figma_file_key (
string
, optional) File or branch key for the Figma file where the comment will be added. Retrieve this usingGET /v1/files/:key
with thebranch_data
query param for branch keys. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’. - request_body (
string
, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’
FigmaApi.DeleteFigmaComment
Delete your comment from a Figma file.
Parameters
- figma_file_key (
string
, required) The file or branch key from which to delete the comment. UseGET /v1/files/:key
withbranch_data
to obtain the branch key. - comment_identifier (
string
, required) The ID of the comment you wish to delete from the Figma file. Only the original commenter can perform this action.
FigmaApi.FetchCommentReactions
Retrieve reactions from a specific comment in Figma.
Parameters
- file_or_branch_key (
string
, required) The key for the file or branch to retrieve the comment reactions from in Figma. - comment_id (
string
, required) ID of the comment from which to retrieve reactions. - pagination_cursor (
string
, optional) Cursor for pagination. Use the cursor from the previous call’s response to retrieve the next set of reactions.
FigmaApi.AddFigmaCommentReaction
Add a reaction to a comment on a Figma file.
Parameters
- mode (
Enum
ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation - file_or_branch_key (
string
, optional) Key of the file or branch where the comment reaction should be posted. Can be obtained via the Figma API. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’. - comment_id (
string
, optional) The unique identifier of the comment you want to react to in a Figma file. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’. - request_body (
string
, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’
FigmaApi.DeleteMyCommentReaction
Deletes your specific comment reaction in Figma.
Parameters
- reaction_emoji (
string
, required) The emoji associated with the reaction to be deleted. Only the emoji used for the reaction you added can be deleted. - file_or_branch_key (
string
, required) Key of the Figma file or branch where the reaction should be deleted. UseGET /v1/files/:key
with thebranch_data
query param to obtain the branch key if needed. - comment_id (
string
, required) The ID of the comment from which you want to delete your reaction.
FigmaApi.GetUserInformation
Retrieve information for the authenticated Figma .
Parameters
This does not take any parameters.
FigmaApi.GetTeamComponents
Retrieve published components from a team’s Figma library.
Parameters
- team_id (
string
, required) The unique identifier of the team whose components you want to retrieve. This ID is necessary to specify the source team library in Figma. - number_of_items_per_page (
number
, optional) Specify the number of components to return in one page. Defaults to 30, maximum is 1000. - cursor_after_id (
number
, optional) Cursor indicating which ID to start retrieving components after. Cannot be used with ‘before’. - cursor_before (
number
, optional) Cursor to retrieve components starting before a specific id. Exclusive with ‘cursor_after’.
FigmaApi.GetFigmaFileComponents
Retrieve published components from a Figma file library.
Parameters
- file_key (
string
, required) Main file key to list components from. Must not be a branch key.
FigmaApi.GetFigmaComponentMetadata
Retrieve metadata for a Figma component by key.
Parameters
- component_key (
string
, required) The unique identifier of the Figma component to retrieve metadata for.
FigmaApi.GetTeamComponentSets
Fetch published component sets from a Figma team library.
Parameters
- team_id (
string
, required) The unique identifier for the team from which to list component sets. - number_of_items_per_page (
number
, optional) Specify the number of items to return per page in the results. Defaults to 30. - start_after_cursor (
number
, optional) Cursor indicating the starting point for retrieving component sets, exclusive withend_before_cursor
. This cursor is an internally tracked integer not corresponding to any IDs. - cursor_before_id (
number
, optional) Cursor ID indicating the point before which to retrieve component sets. It must be exclusive with the ‘after’ cursor.
FigmaApi.GetPublishedComponentSets
Retrieve published component sets from a Figma file.
Parameters
- main_file_key (
string
, required) The main file key of the Figma file to list component sets from. Must not be a branch key.
FigmaApi.GetFigmaComponentSet
Retrieve metadata for a Figma component set using its key.
Parameters
- component_set_key (
string
, required) The unique key identifier for the Figma component set to retrieve metadata.
FigmaApi.GetTeamStyles
Retrieve a list of published styles from a team’s library in Figma.
Parameters
- team_id (
string
, required) The unique identifier of the team from which to retrieve published styles. - items_per_page (
number
, optional) Specify the number of styles to return per page. Defaults to 30 if not provided. - start_after_cursor (
number
, optional) Cursor to start retrieving styles after a specific ID. Cannot be used with before. Internally tracked integer. - cursor_before_id (
number
, optional) Cursor for retrieving styles before a specific ID. Use this to paginate backwards. Exclusive with after.
FigmaApi.GetPublishedStylesFromFile
Retrieve published styles from a Figma file library.
Parameters
- main_file_key (
string
, required) Main file key to list styles from. Must not be a branch key.
FigmaApi.GetStyleMetadata
Retrieve Figma style metadata by key.
Parameters
- style_key (
string
, required) The unique identifier of the Figma style to retrieve metadata for.
FigmaApi.GetFigmaWebhooks
Retrieve a list of webhooks from Figma.
Parameters
- webhook_context (
string
, optional) Specify the for the webhooks. Accepts ‘team’, ‘’, or ‘file’. - context_identifier (
string
, optional) The ID of the to fetch attached webhooks. Cannot be used with plan_api_id. - plan_id_for_webhooks (
string
, optional) The ID of your plan for retrieving webhooks across all accessible contexts. Cannot be used with or context_id. - pagination_cursor (
string
, optional) Cursor for pagination when using plan_api_id. Provide next_page or prev_page from previous response to navigate pages.
FigmaApi.CreateFigmaWebhook
Create a new webhook for Figma events.
Parameters
- mode (
Enum
ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation - request_body (
string
, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’
FigmaApi.GetFigmaWebhook
Retrieve a Figma webhook by its ID.
Parameters
- webhook_id (
string
, required) Unique identifier of the Figma webhook to retrieve.
FigmaApi.UpdateFigmaWebhook
Update a Figma webhook by its ID.
Parameters
- mode (
Enum
ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation - webhook_id_to_update (
string
, optional) Provide the ID of the Figma webhook you want to update. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’. - request_body (
string
, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’
FigmaApi.DeleteFigmaWebhook
Delete a specified webhook in Figma.
Parameters
- webhook_id_to_delete (
string
, required) The unique identifier of the webhook you wish to delete. This ID is required for the deletion operation.
FigmaApi.GetRecentWebhookRequests
Retrieve recent webhook requests from the last week.
Parameters
- webhook_subscription_id (
string
, required) The ID of the webhook subscription for which to retrieve recent events.
FigmaApi.RetrieveFigmaLocalVariables
Retrieve local and remote variables from a Figma file.
Parameters
- file_or_branch_key (
string
, required) The key for the file or branch to retrieve variables from in Figma. If a branch, useGET /v1/files/:key
with thebranch_data
query param to get the branch key.
FigmaApi.GetPublishedVariables
Retrieve published variables from a Figma file.
Parameters
- main_file_key (
string
, required) The key of the Figma file to retrieve published variables from. Only use the main file key, not a branch key.
FigmaApi.ManageFigmaVariables
Manage and organize Figma variable collections in bulk.
Parameters
- mode (
Enum
ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation - file_identifier (
string
, optional) Specifies the Figma file or branch key to modify variables. Retrieve branch key usingGET /v1/files/:key
withbranch_data
parameter. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’. - request_body (
string
, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’
FigmaApi.GetDevResources
Retrieve development resources from a Figma file.
Parameters
- file_key (
string
, required) The main file key for fetching development resources from a Figma file. Ensure it is not a branch key. - target_node_ids (
string
, optional) Comma separated list of node IDs to filter dev resources. If left blank, returns resources for all nodes.
FigmaApi.CreateBulkDevResources
Bulk create developer resources in multiple Figma files.
Parameters
- mode (
Enum
ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation - request_body (
string
, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’
FigmaApi.BulkUpdateFigmaDevResources
Update multiple Figma dev resources in bulk.
Parameters
- mode (
Enum
ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation - request_body (
string
, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’
FigmaApi.DeleteDevResource
Delete a dev resource from a Figma file.
Parameters
- target_file_key (
string
, required) The main file key from which to delete the dev resource. Must not be a branch key. - dev_resource_id (
string
, required) The ID of the developer resource to delete from the Figma file.
FigmaApi.GetLibraryAnalyticsComponentActions
Get analytics for library component actions.
Parameters
- group_by_dimension (
string
, required) Specify the dimension to group the analytics data by. Options are ‘component’ or ‘team’. - library_file_key (
string
, required) The unique file key for the Figma library to retrieve analytics data from. - data_page_cursor (
string
, optional) Cursor indicating the specific page of data to fetch, obtained from a previous API call. - earliest_start_date (
string
, optional) ISO 8601 date string (YYYY-MM-DD) for the earliest week to include. Rounded back to the start of a week. Defaults to one year prior. - latest_inclusion_date (
string
, optional) ISO 8601 date string (YYYY-MM-DD) of the latest week to include, rounded forward to the nearest week’s end. Defaults to the latest computed week.
FigmaApi.FetchComponentUsageData
Fetch library analytics component usage data by dimension.
Parameters
- group_by_dimension (
string
, required) A dimension to group the returned analytics data. Choose between ‘component’ or ‘file’. - library_file_key (
string
, required) The file key of the library to fetch analytics data for. Required for specifying the target library. - data_page_cursor (
string
, optional) Cursor indicating which page of data to fetch, obtained from a prior API call.
FigmaApi.GetLibraryStyleActions
Retrieve library style analytics actions data by dimension.
Parameters
- group_by_dimension (
string
, required) Specify the dimension (‘style’ or ‘team’) to group the returned analytics data by. - library_file_key (
string
, required) The unique file key of the Figma library to retrieve analytics data for. - pagination_cursor (
string
, optional) A cursor to indicate which page of data to fetch. Obtain this from a prior API call. - earliest_week_start_date (
string
, optional) ISO 8601 date string (YYYY-MM-DD) for the earliest week to include. Dates round back to the nearest week start. Defaults to one year prior. - end_date (
string
, optional) ISO 8601 date string (YYYY-MM-DD) for the latest week to include, rounded to the week’s end. Defaults to the latest computed week if not specified.
FigmaApi.GetLibraryStyleUsageData
Retrieve style usage data from Figma library analytics.
Parameters
- group_by_dimension (
string
, required) Dimension to group the returned analytics data by. Options are ‘style’ or ‘file’. - library_file_key (
string
, required) The file key of the Figma library to fetch analytics data for. This is required to specify the source library. - pagination_cursor (
string
, optional) Cursor indicating which page of data to fetch, obtained from a previous API call.
FigmaApi.FetchLibraryAnalyticsVariableActions
Retrieve library analytics variable actions data from Figma.
Parameters
- group_by_dimension (
string
, required) A dimension to group the returned analytics data by. Options: ‘variable’, ‘team’. - library_file_key (
string
, required) The file key of the library for which to fetch analytics data. - page_cursor (
string
, optional) Cursor to indicate which page of data to fetch, obtained from a previous API call. - earliest_week_start_date (
string
, optional) ISO 8601 date string (YYYY-MM-DD) representing the earliest week to include. Rounded back to the nearest week’s start. Defaults to one year prior. - end_date (
string
, optional) ISO 8601 date string (YYYY-MM-DD) for the latest week to include. Defaults to the latest computed week.
FigmaApi.GetLibraryAnalyticsVariableUsages
Retrieve analytics on library variable usage.
Parameters
- group_by_dimension (
string
, required) Specifies the dimension (‘variable’ or ‘file’) for grouping library analytics data. - library_file_key (
string
, required) The unique key of the library to fetch analytics data from. - page_cursor (
string
, optional) A token to fetch the specific page of results, received from a previous API call.
Auth
The Arcade Figma Server uses the Figma auth provider to connect to users’ Figma .
With the Arcade Cloud Platform, there’s nothing to configure. Your will see Arcade
as the name of the application that’s requesting permission.
With a self-hosted installation of Arcade, you need to configure the Figma auth provider with your own Figma app credentials.
Reference
Below is a reference of enumerations used by some of the tools in the FigmaApi Server:
ToolMode
- GET_REQUEST_SCHEMA:
get_request_schema
- EXECUTE:
execute