Figma MCP
Figma MCP: list frames in a file and fetch one frame's JSON and image safely. 2 tools.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
@scalably-io/figma-mcpclaude 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
{
"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>"
}
}
}
}
متغيرات البيئة
FIGMA_TOKENإلزامي سري Figma personal access token with file_content:readFIGMA_API_BASE_URLFigma REST API base URL, default https://api.figma.com/v1FIGMA_REQUEST_TIMEOUT_MSPer-request timeout in milliseconds, default 60000FIGMA_MAX_JSON_BYTESUpper bound on a Figma JSON response in bytes, default 104857600FIGMA_MAX_FRAME_BYTESUpper bound on a downloaded frame PNG in bytes, default 104857600FIGMA_OUTPUT_ROOTDirectory that all fetch_frame output directories must stay below, default ./figma-outputFIGMA_ALLOW_HTTP_FOR_TESTSTest suite only: set to 1 to allow a plain-HTTP loopback API base. Never set it in normal use
https://github.com/scalably-io/figma-mcp/releases/download/v1.0.1/figma-mcp.mcpbالتوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
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
- Create a personal access token at figma.com under account settings, with
file_content:readscope. - Find the file key in any Figma file URL: it is the segment after
/design/or/file/, for examplehttps://www.figma.com/design/AbC123xyz/My-filegivesAbC123xyz. Both tools take it asfile_key. - If
FIGMA_TOKENis not set the server still starts and lists its tools; every call then fails withFIGMA_NOT_CONFIGUREDuntil the token is provided. fetch_frameis the only tool that writes files (so it is not marked read-only); it writesframe.png,node.json, andfills.jsoninto a directory below the configured output root (default./figma-output). The other tool is fully read-only.
Tools (2)
| Tool | What it does |
|---|---|
list_frames | List and optionally filter all top-level FRAME nodes in a Figma file, with exact page/name/node-id data, dimensions, and file metadata |
fetch_frame | Fetch one Figma frame and transactionally write frame.png, node.json, and a normalized image-fill map into a directory below the output root |
Configuration
| Variable | Required | Purpose |
|---|---|---|
FIGMA_TOKEN | yes | Figma personal access token with file_content:read |
FIGMA_API_BASE_URL | no | Override the Figma REST API base URL (default https://api.figma.com/v1) |
FIGMA_REQUEST_TIMEOUT_MS | no | Per-request timeout in milliseconds (default 60000) |
FIGMA_MAX_JSON_BYTES | no | Upper bound on a Figma JSON response, in bytes (default 104857600) |
FIGMA_MAX_FRAME_BYTES | no | Upper bound on a downloaded frame PNG, in bytes (default 104857600) |
FIGMA_OUTPUT_ROOT | no | Directory that every fetch_frame output directory must stay below (default ./figma-output, created on first use) |
FIGMA_ALLOW_HTTP_FOR_TESTS | no | Test 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.
الأسئلة الشائعة
ما هو Figma MCP؟
Figma MCP: list frames in a file and fetch one frame's JSON and image safely. 2 tools.
كيف أثبّت 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. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Figma MCP إلى مفتاح API؟
نعم. يتطلب FIGMA_TOKEN، وتضبطها في إعداداته.
هل Figma MCP مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون Figma MCP؟
ينشره scalably-io. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.