View as Markdown

Figma Integration

Access Figma files, comments, and components

The Figma integration provides access to access Figma files, comments, and components through the Integrate MCP server.

Installation

The Figma integration is included with the SDK:

import { figmaIntegration } from "integrate-sdk/server";

Setup

1. Create a Figma OAuth App

  1. Go to Figma for Developers
  2. Create a new OAuth application
  3. Configure your redirect URI
  4. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Figma integration to your server configuration. The integration automatically reads FIGMA_CLIENT_ID and FIGMA_CLIENT_SECRET from your environment variables:

import { createMCPServer, figmaIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    figmaIntegration({
    }),
  ],
});

You can override the environment variables by passing explicit values:

figmaIntegration({
  clientId: process.env.CUSTOM_FIGMA_ID,
  clientSecret: process.env.CUSTOM_FIGMA_SECRET,
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("figma");
const result = await client.figma.getFile({
  file_key: "value",
});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, figmaIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [figmaIntegration()],
});

Configuration Options

export interface FigmaIntegrationConfig {
  /** Figma OAuth client ID (defaults to FIGMA_CLIENT_ID env var) */
  clientId?: string;

Tools

figma_get_file

Get a Figma file by key

export interface FigmaGetFileParams {
    /** Figma file key */
    file_key: string;

figma_get_file_nodes

Get specific nodes from a file

export interface FigmaGetFileNodesParams {
    /** Figma file key */
    file_key: string;

figma_get_file_meta

Get file metadata (name, last modified, version, etc.) without the full document tree

export interface FigmaGetFileMetaParams {
    /** Figma file key */
    file_key: string;

figma_get_image_fills

Get URLs of image fills used in a file

export interface FigmaGetImageFillsParams {
    /** Figma file key */
    file_key: string;

figma_get_images

Export rendered images for nodes in a file

export interface FigmaGetImagesParams {
    /** Figma file key */
    file_key: string;

figma_get_file_versions

Get version history of a file

export interface FigmaGetFileVersionsParams {
    /** Figma file key */
    file_key: string;

figma_get_oembed

Get oEmbed data for a Figma file (embed metadata for external sites)

export interface FigmaGetOembedParams {
    /** Figma file key */
    file_key: string;

figma_get_me

Get the current authenticated user

No parameters.

figma_get_comments

Get comments on a file

export interface FigmaGetCommentsParams {
    /** Figma file key */
    file_key: string;

figma_post_comment

Post a comment on a file

export interface FigmaPostCommentParams {
    /** Figma file key */
    file_key: string;

figma_delete_comment

Delete a comment from a file

export interface FigmaDeleteCommentParams {
    /** Figma file key */
    file_key: string;

figma_get_comment_reactions

Get reactions on a comment

export interface FigmaGetCommentReactionsParams {
    /** Figma file key */
    file_key: string;

figma_post_comment_reaction

Add a reaction to a comment

export interface FigmaPostCommentReactionParams {
    /** Figma file key */
    file_key: string;

figma_delete_comment_reaction

Delete a reaction from a comment

export interface FigmaDeleteCommentReactionParams {
    /** Figma file key */
    file_key: string;

figma_list_projects

List projects in a team

export interface FigmaListProjectsParams {
    /** Team ID */
    team_id: string;

figma_get_project_files

Get files in a project

export interface FigmaGetProjectFilesParams {
    /** Project ID */
    project_id: string;

figma_get_team_components

Get published components for a team

export interface FigmaGetTeamComponentsParams {
    /** Team ID */
    team_id: string;

figma_get_file_components

Get components defined in a file

export interface FigmaGetFileComponentsParams {
    /** Figma file key */
    file_key: string;

figma_get_component

Get a single published component by key

export interface FigmaGetComponentParams {
    /** Component key */
    key: string;

figma_get_team_component_sets

Get published component sets for a team

export interface FigmaGetTeamComponentSetsParams {
    /** Team ID */
    team_id: string;

figma_get_file_component_sets

Get component sets defined in a file

export interface FigmaGetFileComponentSetsParams {
    /** Figma file key */
    file_key: string;

figma_get_component_set

Get a single published component set by key

export interface FigmaGetComponentSetParams {
    /** Component set key */
    key: string;

figma_get_team_styles

Get published styles for a team

export interface FigmaGetTeamStylesParams {
    /** Team ID */
    team_id: string;

figma_get_file_styles

Get styles defined in a file

export interface FigmaGetFileStylesParams {
    /** Figma file key */
    file_key: string;

figma_get_style

Get a single published style by key

export interface FigmaGetStyleParams {
    /** Style key */
    key: string;

figma_list_webhooks

List all webhooks for the authenticated user

export interface FigmaListWebhooksParams {
    /** Filter by plan API ID */
    plan_api_id?: string;

figma_create_webhook

Create a webhook

export interface FigmaCreateWebhookParams {
    /** Event type to subscribe to (e.g. FILE_UPDATE, FILE_VERSION_UPDATE) */
    event_type: string;

figma_get_webhook

Get a webhook by ID

export interface FigmaGetWebhookParams {
    /** Webhook ID */
    webhook_id: string;

figma_update_webhook

Update an existing webhook

export interface FigmaUpdateWebhookParams {
    /** Webhook ID */
    webhook_id: string;

figma_delete_webhook

Delete a webhook

export interface FigmaDeleteWebhookParams {
    /** Webhook ID */
    webhook_id: string;

figma_get_team_webhooks

Get all webhooks for a team

export interface FigmaGetTeamWebhooksParams {
    /** Team ID */
    team_id: string;

figma_get_webhook_requests

Get recent delivery requests for a webhook

export interface FigmaGetWebhookRequestsParams {
    /** Webhook ID */
    webhook_id: string;

figma_get_local_variables

Get local variables defined in a file

export interface FigmaGetLocalVariablesParams {
    /** Figma file key */
    file_key: string;

figma_get_published_variables

Get published variables available to a file

export interface FigmaGetPublishedVariablesParams {
    /** Figma file key */
    file_key: string;

figma_post_variables

Create, update, or delete variables and variable collections in a file

export interface FigmaPostVariablesParams {
    /** Figma file key */
    file_key: string;

figma_get_dev_resources

Get dev resources linked to nodes in a file

export interface FigmaGetDevResourcesParams {
    /** Figma file key */
    file_key: string;

figma_post_dev_resources

Create dev resources linked to file nodes

export interface FigmaPostDevResourcesParams {
    /** JSON-encoded dev resources payload */
    payload_json: string;

figma_put_dev_resources

Update existing dev resources

export interface FigmaPutDevResourcesParams {
    /** JSON-encoded dev resources update payload */
    payload_json: string;

figma_delete_dev_resource

Delete a dev resource from a file

export interface FigmaDeleteDevResourceParams {
    /** Figma file key */
    file_key: string;

figma_get_payments

Get payment status for a plugin, widget, or community file.

export interface FigmaGetPaymentsParams {
    /** One-time payment token from the plugin */
    plugin_payment_token?: string;

figma_get_library_analytics_component_actions

Get analytics on component insert/detach actions from a library file

export interface FigmaGetLibraryAnalyticsComponentActionsParams {
    /** Library file key */
    file_key: string;

figma_get_library_analytics_component_usages

Get analytics on component usages (instances) from a library file

export interface FigmaGetLibraryAnalyticsComponentUsagesParams {
    /** Library file key */
    file_key: string;

figma_get_library_analytics_style_actions

Get analytics on style insert/detach actions from a library file

export interface FigmaGetLibraryAnalyticsStyleActionsParams {
    /** Library file key */
    file_key: string;

figma_get_library_analytics_style_usages

Get analytics on style usages from a library file

export interface FigmaGetLibraryAnalyticsStyleUsagesParams {
    /** Library file key */
    file_key: string;

Notes

  • Category: Engineering
  • Authentication mode: OAuth