Figma MCP Server for Cloudflare Workers
43 tools available in the Figma MCP server. Each tool can be called by AI assistants to perform specific actions.
figma_get_paymentsGet payment information.
Query payment status for users. Requires appropriate permissions.
Args:
Returns: Payment information for users.
{
"type": "object",
"properties": {
"user_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by user IDs"
}
}
}figma_get_activity_logsGet activity log events.
Returns audit log entries for organization activity. Requires organization admin permissions.
Args:
Returns: List of activity log entries with actor, event type, and entity info.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Number of events"
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order"
},
"event_type": {
"type": "string",
"description": "Filter by event type"
}
}
}figma_get_component_actionsGet component action analytics for a library.
Returns analytics about component inserts and detaches.
Args:
Returns: Component action data with counts of inserts and detaches.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"file_key": {
"type": "string",
"description": "The library file key"
}
}
}figma_get_component_usagesGet component usage analytics for a library.
Returns analytics about how components are being used across files.
Args:
Returns: Component usage data with file and instance counts.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"file_key": {
"type": "string",
"description": "The library file key"
}
}
}figma_get_style_actionsGet style action analytics for a library.
Returns analytics about style inserts and detaches.
Args:
Returns: Style action data with counts of inserts and detaches.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"file_key": {
"type": "string",
"description": "The library file key"
}
}
}figma_get_style_usagesGet style usage analytics for a library.
Returns analytics about how styles are being used across files.
Args:
Returns: Style usage data with file and usage counts.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"file_key": {
"type": "string",
"description": "The library file key"
}
}
}figma_get_component_setGet metadata for a specific component set.
Returns detailed information about a published component set (variant group).
Args:
Returns: Component set metadata including name, description, and containing frame info.
{
"type": "object",
"required": [
"component_set_key"
],
"properties": {
"component_set_key": {
"type": "string",
"description": "The component set key"
}
}
}figma_get_commentsGet all comments on a Figma file.
Returns all comments including resolved comments and replies.
Args:
Returns: List of all comments with user info, timestamps, and thread structure.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"as_md": {
"type": "boolean",
"description": "Return message content as markdown"
},
"file_key": {
"type": "string",
"description": "The file key"
}
}
}figma_post_commentPost a comment on a Figma file.
Create a new comment or reply to an existing comment.
Args:
Returns: The created comment with its ID and metadata.
{
"type": "object",
"required": [
"file_key",
"message"
],
"properties": {
"x": {
"type": "number",
"description": "X coordinate for comment position"
},
"y": {
"type": "number",
"description": "Y coordinate for comment position"
},
"message": {
"type": "string",
"description": "The comment message"
},
"node_id": {
"type": "string",
"description": "Node ID to attach comment to"
},
"file_key": {
"type": "string",
"description": "The file key"
},
"comment_id": {
"type": "string",
"description": "ID of comment to reply to"
}
}
}figma_delete_commentDelete a comment from a Figma file.
Permanently removes a comment. Only the comment author can delete it.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"file_key",
"comment_id"
],
"properties": {
"file_key": {
"type": "string",
"description": "The file key"
},
"comment_id": {
"type": "string",
"description": "The comment ID to delete"
}
}
}figma_get_comment_reactionsGet reactions on a comment.
Returns all emoji reactions on a specific comment.
Args:
Returns: List of reactions with user and emoji info.
{
"type": "object",
"required": [
"file_key",
"comment_id"
],
"properties": {
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"file_key": {
"type": "string",
"description": "The file key"
},
"comment_id": {
"type": "string",
"description": "The comment ID"
}
}
}figma_post_comment_reactionAdd a reaction to a comment.
React to a comment with an emoji.
Args:
Returns: Confirmation of reaction added.
{
"type": "object",
"required": [
"file_key",
"comment_id",
"emoji"
],
"properties": {
"emoji": {
"type": "string",
"description": "The emoji to react with"
},
"file_key": {
"type": "string",
"description": "The file key"
},
"comment_id": {
"type": "string",
"description": "The comment ID"
}
}
}figma_delete_comment_reactionRemove a reaction from a comment.
Remove your emoji reaction from a comment.
Args:
Returns: Confirmation of reaction removed.
{
"type": "object",
"required": [
"file_key",
"comment_id",
"emoji"
],
"properties": {
"emoji": {
"type": "string",
"description": "The emoji to remove"
},
"file_key": {
"type": "string",
"description": "The file key"
},
"comment_id": {
"type": "string",
"description": "The comment ID"
}
}
}figma_get_team_componentsGet all components published to a team library.
Lists all published components from team libraries.
Args:
Returns: List of components with metadata including keys, names, descriptions, and thumbnails.
{
"type": "object",
"required": [
"team_id"
],
"properties": {
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"team_id": {
"type": "string",
"description": "The team ID"
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of components per page"
}
}
}figma_get_file_componentsGet all components in a file.
Lists all components within a specific file.
Args:
Returns: List of components with their metadata.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"file_key": {
"type": "string",
"description": "The file key"
}
}
}figma_get_componentGet metadata for a specific component.
Returns detailed information about a published component.
Args:
Returns: Component metadata including name, description, file key, and containing frame info.
{
"type": "object",
"required": [
"component_key"
],
"properties": {
"component_key": {
"type": "string",
"description": "The component key"
}
}
}figma_get_team_projectsGet all projects in a team.
Lists all projects within a specific team.
Args:
Returns: List of projects with their IDs and names.
{
"type": "object",
"required": [
"team_id"
],
"properties": {
"team_id": {
"type": "string",
"description": "The team ID"
}
}
}figma_get_team_component_setsGet all component sets published to a team library.
Lists all published component sets (variants) from team libraries.
Args:
Returns: List of component sets with metadata.
{
"type": "object",
"required": [
"team_id"
],
"properties": {
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"team_id": {
"type": "string",
"description": "The team ID"
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of component sets per page"
}
}
}figma_get_file_component_setsGet all component sets in a file.
Lists all component sets within a specific file.
Args:
Returns: List of component sets with their metadata.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"file_key": {
"type": "string",
"description": "The file key"
}
}
}figma_get_webhook_requestsGet recent webhook requests for debugging.
Returns the history of recent webhook deliveries for debugging.
Args:
Returns: List of recent webhook requests with payloads and response statuses.
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"webhook_id": {
"type": "string",
"description": "The webhook ID"
}
}
}figma_get_dev_resourcesGet dev resources for a file.
Returns links to code, documentation, and other development resources attached to nodes.
Args:
Returns: List of dev resources with URLs and associated node info.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"file_key": {
"type": "string",
"description": "The file key"
},
"node_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by node IDs"
}
}
}figma_create_dev_resourcesCreate dev resources.
Attach links to code, documentation, or other resources to design nodes.
Args:
Returns: The created dev resources.
{
"type": "object",
"required": [
"resources",
"url",
"file_key",
"node_id"
],
"properties": {
"url": {
"type": "string",
"description": "Resource URL"
},
"node_id": {
"type": "string",
"description": "Node ID"
},
"file_key": {
"type": "string",
"description": "File key"
},
"resources": {
"type": "array",
"items": {
"type": "string"
},
"description": "Resource name"
}
}
}figma_update_dev_resourcesUpdate existing dev resources.
Modify the name or URL of existing dev resources.
Args:
Returns: The updated dev resources.
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "New URL"
},
"name": {
"type": "string",
"description": "New name"
},
"resources": {
"type": "array",
"items": {
"type": "string"
},
"description": "Resource ID"
}
}
}figma_delete_dev_resourceDelete a dev resource.
Remove a dev resource link from a node.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"file_key",
"dev_resource_id"
],
"properties": {
"file_key": {
"type": "string",
"description": "The file key"
},
"dev_resource_id": {
"type": "string",
"description": "The dev resource ID"
}
}
}figma_get_fileGet a Figma file by key.
Returns the full document structure including all pages and layers.
Args:
Returns: The complete file document with all nodes, components, and styles.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"depth": {
"type": "integer",
"maximum": 4,
"minimum": 1,
"description": "Depth of node tree to return"
},
"version": {
"type": "string",
"description": "Specific version ID to retrieve"
},
"file_key": {
"type": "string",
"description": "The file key from the Figma URL"
},
"branch_data": {
"type": "boolean",
"description": "Include branch metadata"
}
}
}figma_get_file_nodesGet specific nodes from a Figma file.
Returns JSON for specific nodes by their IDs. More efficient than getting the entire file.
Args:
Returns: The requested nodes with their properties and children.
{
"type": "object",
"required": [
"file_key",
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of node IDs to retrieve"
},
"depth": {
"type": "integer",
"maximum": 4,
"minimum": 1,
"description": "Depth of node tree"
},
"version": {
"type": "string",
"description": "Specific version ID"
},
"file_key": {
"type": "string",
"description": "The file key"
}
}
}figma_get_file_metaGet file metadata without the full document.
Returns basic file information like name, last modified date, and thumbnail. Much faster than getting the full file.
Args:
Returns: File metadata including name, lastModified, thumbnailUrl, and version.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"file_key": {
"type": "string",
"description": "The file key"
}
}
}figma_get_imagesExport images from a Figma file.
Renders specific nodes as images in various formats.
Args:
Returns: URLs to the rendered images (valid for 14 days).
{
"type": "object",
"required": [
"file_key",
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of node IDs to render"
},
"scale": {
"type": "number",
"default": 1,
"maximum": 4,
"description": "Render scale"
},
"format": {
"enum": [
"jpg",
"png",
"svg",
"pdf"
],
"type": "string",
"default": "png",
"description": "Image format"
},
"file_key": {
"type": "string",
"description": "The file key"
},
"contents_only": {
"type": "boolean",
"description": "Exclude containing frame"
},
"svg_include_id": {
"type": "boolean",
"description": "Include id attribute in SVG"
},
"svg_simplify_stroke": {
"type": "boolean",
"description": "Simplify strokes in SVG"
},
"use_absolute_bounds": {
"type": "boolean",
"description": "Use absolute bounds"
}
}
}figma_get_image_fillsGet download links for images used as fills in a file.
Returns URLs to download images that are used as fills in the file.
Args:
Returns: Map of image references to their download URLs.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"file_key": {
"type": "string",
"description": "The file key"
}
}
}figma_get_project_filesGet all files in a project.
Lists all files within a specific project.
Args:
Returns: List of files with their keys, names, thumbnails, and last modified dates.
{
"type": "object",
"required": [
"project_id"
],
"properties": {
"project_id": {
"type": "string",
"description": "The project ID"
},
"branch_data": {
"type": "boolean",
"description": "Include branch information"
}
}
}figma_get_team_stylesGet all styles published to a team library.
Lists all published styles (colors, text, effects, grids) from team libraries.
Args:
Returns: List of styles with metadata including keys, names, descriptions, and style types.
{
"type": "object",
"required": [
"team_id"
],
"properties": {
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"team_id": {
"type": "string",
"description": "The team ID"
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of styles per page"
}
}
}figma_get_file_stylesGet all styles in a file.
Lists all styles within a specific file.
Args:
Returns: List of styles with their metadata.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"file_key": {
"type": "string",
"description": "The file key"
}
}
}figma_get_styleGet metadata for a specific style.
Returns detailed information about a published style.
Args:
Returns: Style metadata including name, description, type, and file key.
{
"type": "object",
"required": [
"style_key"
],
"properties": {
"style_key": {
"type": "string",
"description": "The style key"
}
}
}figma_get_meGet the current authenticated user.
Returns information about the user associated with the access token.
Returns: User info including id, handle, email, and profile image URL.
{
"type": "object",
"properties": {}
}figma_get_local_variablesGet all local variables in a file.
Returns all variables and variable collections defined locally in the file.
Args:
Returns: Variables and variable collections with their values across all modes.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"file_key": {
"type": "string",
"description": "The file key"
}
}
}figma_get_published_variablesGet all published variables in a file.
Returns variables that have been published from the file as a library.
Args:
Returns: Published variables and variable collections.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"file_key": {
"type": "string",
"description": "The file key"
}
}
}figma_modify_variablesCreate, update, or delete variables in a file.
Perform bulk operations on variables, variable collections, and modes. This is a powerful operation that can modify the design system.
Args:
Each operation requires an 'action' field: 'CREATE', 'UPDATE', or 'DELETE'.
Returns: Updated variables state after modifications.
{
"type": "object",
"properties": {
"file_key": {
"type": "string",
"description": "The file key"
}
}
}figma_get_file_versionsGet version history for a Figma file.
Returns all saved versions of a file with their metadata.
Args:
Returns: List of versions with IDs, labels, descriptions, timestamps, and user info.
{
"type": "object",
"required": [
"file_key"
],
"properties": {
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"file_key": {
"type": "string",
"description": "The file key"
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of versions per page"
}
}
}figma_get_webhooksGet all webhooks.
Lists all webhooks, optionally filtered by team.
Args:
Returns: List of webhooks with their configurations.
{
"type": "object",
"properties": {
"team_id": {
"type": "string",
"description": "Filter by team ID"
}
}
}figma_create_webhookCreate a new webhook.
Create a webhook to receive notifications for file events.
Args:
Returns: The created webhook configuration.
{
"type": "object",
"required": [
"event_type",
"team_id",
"endpoint",
"passcode"
],
"properties": {
"status": {
"enum": [
"ACTIVE",
"PAUSED"
],
"type": "string",
"description": "Webhook status"
},
"team_id": {
"type": "string",
"description": "Team ID to monitor"
},
"endpoint": {
"type": "string",
"description": "URL to receive webhook payloads"
},
"passcode": {
"type": "string",
"description": "Secret passcode for verification"
},
"event_type": {
"enum": [
"FILE_UPDATE",
"FILE_VERSION_UPDATE",
"FILE_DELETE",
"FILE_COMMENT",
"LIBRARY_PUBLISH"
],
"type": "string",
"description": "Event type to subscribe to"
},
"description": {
"type": "string",
"description": "Webhook description"
}
}
}figma_get_webhookGet a specific webhook by ID.
Args:
Returns: The webhook configuration.
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"webhook_id": {
"type": "string",
"description": "The webhook ID"
}
}
}figma_update_webhookUpdate an existing webhook.
Args:
Returns: The updated webhook configuration.
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"status": {
"enum": [
"ACTIVE",
"PAUSED"
],
"type": "string",
"description": "Status"
},
"endpoint": {
"type": "string",
"description": "Endpoint URL"
},
"passcode": {
"type": "string",
"description": "Passcode"
},
"event_type": {
"enum": [
"FILE_UPDATE",
"FILE_VERSION_UPDATE",
"FILE_DELETE",
"FILE_COMMENT",
"LIBRARY_PUBLISH"
],
"type": "string",
"description": "Event type"
},
"webhook_id": {
"type": "string",
"description": "The webhook ID"
},
"description": {
"type": "string",
"description": "Description"
}
}
}figma_delete_webhookDelete a webhook.
Permanently removes a webhook subscription.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"webhook_id": {
"type": "string",
"description": "The webhook ID"
}
}
}