Figma Local Bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FIGMA_BRIDGE_STATE_DIR | No | Optional path to another private state directory. Build and runtime must use the same directory. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| figma_statusA | Check whether the local Figma plugin is connected. |
| figma_documentA | Read pages, selected nodes, current documentId, and a bounded node tree. Call before writes. |
| figma_fontsB | List available fonts, optionally filtered by family. |
| figma_create_nodesA | Create editable layers from a JSON array (max 500 nodes). Each node: type FRAME|RECTANGLE|ELLIPSE|TEXT|SVG|COMPONENT|INSTANCE; optional key for returned ID map; name,x,y,width,height,fill/stroke (#RRGGBB or transparent),strokeWeight,opacity,radius,clipsContent. Frames/components: layout NONE|HORIZONTAL|VERTICAL,gap,padding or paddingTop/Bottom/Left/Right,primaryAlign MIN|CENTER|MAX|SPACE_BETWEEN,counterAlign MIN|CENTER|MAX,children. Sizing: horizontalSizing/verticalSizing FIXED|HUG|FILL, with FILL only inside auto-layout and HUG only text/auto-layout. Text: text,fontFamily,fontStyle,fontSize,lineHeight,letterSpacing,textAlign LEFT|CENTER|RIGHT; explicit width wraps text. SVG requires svg source. INSTANCE requires local componentId. Images: imageBase64 PNG/JPEG bytes. Nodes are parented before sizing. Entire creation is rolled back if it fails. Use fonts from figma_fonts; position new roots clear of existing content. |
| figma_update_nodesA | Update layers. updatesJson is an array of {nodeId,props}; props use the same editable properties as create_nodes (no type/children). Partial writes are reported on errors; inspect before retrying. |
| figma_export_nodeB | Export a node as PNG for visual validation. Maximum edge 4096 px. |
| figma_focusC | Select nodes and zoom the Figma viewport to them. |
| figma_connect_screensA | Set a click navigation from a node to a destination FRAME. Replaces source reactions. |
| figma_move_frames_to_pageA | Move exact FRAME IDs out of containers to the current page, preserving their canvas position. This makes screens eligible as prototype destinations. Read the document first; do not include both a frame and its ancestor. |
| figma_delete_nodesA | Delete exact node IDs. Use only for explicitly requested removal or cleaning nodes created by the current task. Normal Figma Undo remains available. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool targets a distinct operation: connection status, document reading, font listing, node creation/update/deletion, export, viewport focus, prototype linking, and frame reparenting. The only borderline pair is update_nodes vs move_frames_to_page, but the latter is narrowly scoped to prototype eligibility and the description makes the boundary explicit.
All tools share a consistent figma_ snake_case prefix, which makes the set predictable. A few entries are noun-only (figma_status, figma_document, figma_fonts) rather than verb_noun like the rest, a minor deviation.
Ten tools is well-scoped for a local Figma bridge covering read, write, export, and prototyping operations. Each tool earns its place with no redundant entries.
The surface covers the core lifecycle: connect, inspect, create, update, delete, export, focus, and prototype-link nodes, with rollback semantics. Minor gaps remain, such as SVG/image export options and style/token or component enumeration beyond font listing.