Figma MCP

Registre officiel Médias et design

Figma MCP: list frames in a file and fetch one frame's JSON and image safely. 2 tools.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package @scalably-io/figma-mcp
Claude Code
claude mcp add figma-mcp -e 'FIGMA_TOKEN=<your figma_token>' -e 'FIGMA_API_BASE_URL=<FIGMA_API_BASE_URL>' -e 'FIGMA_REQUEST_TIMEOUT_MS=<FIGMA_REQUEST_TIMEOUT_MS>' -e 'FIGMA_MAX_JSON_BYTES=<FIGMA_MAX_JSON_BYTES>' -e 'FIGMA_MAX_FRAME_BYTES=<FIGMA_MAX_FRAME_BYTES>' -e 'FIGMA_OUTPUT_ROOT=<FIGMA_OUTPUT_ROOT>' -e 'FIGMA_ALLOW_HTTP_FOR_TESTS=<FIGMA_ALLOW_HTTP_FOR_TESTS>' -- npx -y @scalably-io/figma-mcp@1.0.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "figma-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@scalably-io/figma-mcp@1.0.1"
            ],
            "env": {
                "FIGMA_TOKEN": "<your figma_token>",
                "FIGMA_API_BASE_URL": "<FIGMA_API_BASE_URL>",
                "FIGMA_REQUEST_TIMEOUT_MS": "<FIGMA_REQUEST_TIMEOUT_MS>",
                "FIGMA_MAX_JSON_BYTES": "<FIGMA_MAX_JSON_BYTES>",
                "FIGMA_MAX_FRAME_BYTES": "<FIGMA_MAX_FRAME_BYTES>",
                "FIGMA_OUTPUT_ROOT": "<FIGMA_OUTPUT_ROOT>",
                "FIGMA_ALLOW_HTTP_FOR_TESTS": "<FIGMA_ALLOW_HTTP_FOR_TESTS>"
            }
        }
    }
}

Variables d'environnement

  • FIGMA_TOKEN obligatoire secret Figma personal access token with file_content:read
  • FIGMA_API_BASE_URL Figma REST API base URL, default https://api.figma.com/v1
  • FIGMA_REQUEST_TIMEOUT_MS Per-request timeout in milliseconds, default 60000
  • FIGMA_MAX_JSON_BYTES Upper bound on a Figma JSON response in bytes, default 104857600
  • FIGMA_MAX_FRAME_BYTES Upper bound on a downloaded frame PNG in bytes, default 104857600
  • FIGMA_OUTPUT_ROOT Directory that all fetch_frame output directories must stay below, default ./figma-output
  • FIGMA_ALLOW_HTTP_FOR_TESTS Test suite only: set to 1 to allow a plain-HTTP loopback API base. Never set it in normal use
MCPB package https://github.com/scalably-io/figma-mcp/releases/download/v1.0.1/figma-mcp.mcpb

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Figma MCP
  2. Install
  3. Setup
  4. Tools (2)
  5. Configuration
  6. Reply shape
  7. Limits
  8. Verify
  9. Privacy Policy
  10. License

Figma MCP

Figma REST API MCP server. 2 tools list the top-level frames in a file and fetch one frame's rendered PNG plus its node JSON and image-fill map into a local output directory.

Install

Claude Code:

claude mcp add figma -e FIGMA_TOKEN=your-token -- npx -y @scalably-io/figma-mcp

Codex:

codex mcp add figma --env FIGMA_TOKEN=your-token -- npx -y @scalably-io/figma-mcp

Claude Desktop: download figma-mcp.mcpb from the latest GitHub release and open it.

Setup

  1. Create a personal access token at figma.com under account settings, with file_content:read scope.
  2. Find the file key in any Figma file URL: it is the segment after /design/ or /file/, for example https://www.figma.com/design/AbC123xyz/My-file gives AbC123xyz. Both tools take it as file_key.
  3. If FIGMA_TOKEN is not set the server still starts and lists its tools; every call then fails with FIGMA_NOT_CONFIGURED until the token is provided.
  4. fetch_frame is the only tool that writes files (so it is not marked read-only); it writes frame.png, node.json, and fills.json into a directory below the configured output root (default ./figma-output). The other tool is fully read-only.

Tools (2)

ToolWhat it does
list_framesList and optionally filter all top-level FRAME nodes in a Figma file, with exact page/name/node-id data, dimensions, and file metadata
fetch_frameFetch one Figma frame and transactionally write frame.png, node.json, and a normalized image-fill map into a directory below the output root

Configuration

VariableRequiredPurpose
FIGMA_TOKENyesFigma personal access token with file_content:read
FIGMA_API_BASE_URLnoOverride the Figma REST API base URL (default https://api.figma.com/v1)
FIGMA_REQUEST_TIMEOUT_MSnoPer-request timeout in milliseconds (default 60000)
FIGMA_MAX_JSON_BYTESnoUpper bound on a Figma JSON response, in bytes (default 104857600)
FIGMA_MAX_FRAME_BYTESnoUpper bound on a downloaded frame PNG, in bytes (default 104857600)
FIGMA_OUTPUT_ROOTnoDirectory that every fetch_frame output directory must stay below (default ./figma-output, created on first use)
FIGMA_ALLOW_HTTP_FOR_TESTSnoTest suite only: 1 allows a plain-HTTP loopback API base. Never set it in normal use

Reply shape

Every tool returns plain JSON with status (succeeded, partial, no_op), summary, target, result, proof, warnings, recovery. Failures throw a plain error string: <code>: <message> <hint>.

Limits

fetch_frame renders through Figma's image API, so very large frames or extreme scale values can exceed the configured JSON or frame byte limits; lower scale or split the frame if that happens. fills.json URLs are temporary and expire within 14 days.

Verify

Each release lists the package version, the .mcpb sha256 and the production commit it was derived from in CHANGELOG.md. CI runs the tests and a clean install of the packed tarball on every push.

Privacy Policy

This server runs locally, on your machine, under your own credentials. It collects no personal data, contains no telemetry, stores nothing persistently beyond the frame bundles you explicitly fetch, and talks only to the vendor API it wraps. No third party, including Scalably, receives your data. Contact: hello@scalably.io. Canonical copy: https://scalably.io/connector-privacy.html

License

MIT. Copyright Scalably.

Questions fréquentes

Qu'est-ce que Figma MCP ?

Figma MCP: list frames in a file and fetch one frame's JSON and image safely. 2 tools.

Comment installer Figma MCP ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add figma-mcp -e 'FIGMA_TOKEN=<your figma_token>' -e 'FIGMA_API_BASE_URL=<FIGMA_API_BASE_URL>' -e 'FIGMA_REQUEST_TIMEOUT_MS=<FIGMA_REQUEST_TIMEOUT_MS>' -e 'FIGMA_MAX_JSON_BYTES=<FIGMA_MAX_JSON_BYTES>' -e 'FIGMA_MAX_FRAME_BYTES=<FIGMA_MAX_FRAME_BYTES>' -e 'FIGMA_OUTPUT_ROOT=<FIGMA_OUTPUT_ROOT>' -e 'FIGMA_ALLOW_HTTP_FOR_TESTS=<FIGMA_ALLOW_HTTP_FOR_TESTS>' -- npx -y @scalably-io/figma-mcp@1.0.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Figma MCP ?

Oui. Il attend FIGMA_TOKEN, à renseigner dans sa configuration.

Figma MCP est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Figma MCP ?

Il est publié par scalably-io. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.