Version2.0.0
Categorydesign
AuthOAuth 2
Tools13
Transportstdio
LicenceMIT
01
What it does
The app, in its own words.
Access Figma design files, extract styles, components, design tokens, and export assets. Works directly with files via file key. Perfect for design-to-code workflows.
02
Tools
13 tools the agent can call.
Every one is declared with typed parameters and returns structured results, so the host can render them instead of narrating them.
- create-commentCreate a new comment on a Figma file, or reply to an existing one. Returns the created comment. Params: fileKey, message, parentCommentId?, clientMeta?, fields?, includeRaw.
- delete-commentDelete a comment from a Figma file. Returns { ok: true, fileKey, commentId } on success. Not reversible. Params: fileKey, commentId.
- export-imagesExport Figma nodes as images. Returns { images: [{nodeId, url, format, scale}] }. URLs expire in ~30 minutes. Formats: png|jpg|svg|pdf. Scale 0.01-4 (default 1). Params: fileKey, nodeIds, format?, scale?, fields?, includeRaw.
- extract-colorsExtract solid colors from a file or node, formatted for CSS variables, Tailwind config, or JSON. Returns { count, output, format }. Params: fileKey, nodeId?, format? (default css).
- extract-typographyExtract typography styles (font family, size, weight, line height, letter spacing) from TEXT nodes. Returns { count, output, format }. Params: fileKey, format? (default css).
- get-commentsList comments on a Figma file. Returns { comments: [{id, message, createdAt, user, resolved, parentId?, clientMeta?}], count }. Params: fileKey, fields?, includeRaw.
- get-component-setsList component sets (variant groups) defined in a Figma file. Returns { componentSets: [{id, key, name, description}], count }. Params: fileKey, fields?, includeRaw.
- get-componentsList components defined in a Figma file. Returns { components: [{id, key, name, description, componentSetId?}], count }. Params: fileKey, fields?, includeRaw.
- get-fileGet the structure of a Figma file (pages, frames, top-level components). Returns curated { name, lastModified, version, thumbnailUrl, document, componentCount, styleCount }. Params: fileKey, depth (1-10, def 2), geometry?, branchData?, fields?, includeRaw.
- get-file-stylesList styles defined in a Figma file. Returns { styles: [{id, key, name, type, description}], count }. Params: fileKey, fields?, includeRaw.
- get-file-variablesGet design tokens (variables) from a Figma file, grouped by collection. Returns { collections, collectionCount, variableCount }. Params: fileKey, fields?, includeRaw.
- get-nodeGet a single node from a Figma file as a curated tree. Use this to drill into a frame/component beyond the depth returned by get-file. Params: fileKey, nodeId (accepts "1-2" or "1:2"), depth (1-10, def 3), fields?, includeRaw.
- list-file-versionsList the version history of a Figma file. Returns { versions, count, nextPage? }. Params: fileKey, pageSize (1-50, def 30), before?, fields?, includeRaw.
03
Auth and permissions
What it asks for.
Declared in the manifest, in advance. The app cannot reach anything it did not ask for here.
Scopes
current_user:readfile_content:readfile_metadata:readfile_comments:readfile_comments:writefile_versions:readlibrary_assets:readlibrary_content:readteam_library_content:readfile_dev_resources:readfile_dev_resources:writefile_variables:readwebhooks:readwebhooks:write
System secrets
CLIENT_IDCLIENT_SECRET
User secrets
ACCESS_TOKENREFRESH_TOKENEXPIRY_DATE
Reading further
The manifest and the source for Figma live in the monorepo, alongside the other apps.