@echobt/figma-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_mcp_guideA | MANDATORY first read for agents. Returns the full MCP_GUIDE (hard rules, use cases UC-01..UC-15, tool matrix, anti-patterns, pack layout, ID formats). Call once per session before implementing UI from a .fig. No filePath required. Equivalent resource: figma-mcp://guide. |
| parse_fig_fileC | Parse a .fig file and return its document structure. Returns a simplified representation suitable for understanding the design hierarchy, layout, and styling. |
| get_document_summaryA | Get a text summary of the document structure showing node types, names, and dimensions in a tree format. Supports pagination to handle large documents. |
| get_tree_summaryA | Get hierarchical summary with child counts for drill-down navigation. Returns high-level structure without full node details. |
| find_nodesA | Find nodes in the document by type or name. Useful for locating specific components, frames, or text elements. |
| get_node_detailsB | Get detailed information about a specific node by its path in the document tree. Use format like 'Page 1/Frame Name/Child Name'. |
| get_node_by_idB | Get detailed information about a specific node by its GUID. Node ID format: 'sessionID:localID' (e.g., '457:1607'). Hyphen format also accepted. |
| get_layout_infoA | Get layout and spacing information for a node. Returns inferred flexbox-like properties including direction, gap, padding, and alignment. |
| list_pagesB | List all pages (canvases) in the .fig file. |
| get_page_contentsB | Get the contents of a specific page, including all top-level frames and their immediate children. |
| get_text_contentC | Extract all text content from the document or a specific node path. |
| get_colorsA | Extract all unique colors used in the document, including fills and strokes. |
| list_nodes_with_fillsB | List nodes that have fill paints, with summary of paint types and optional image references. |
| get_schema_infoB | Get the kiwi schema information from the .fig file. Useful for debugging and understanding the file format. |
| get_raw_messageA | Get the raw decoded message from the .fig file. Warning: can be very large. Use for debugging only. |
| list_archive_contentsB | List all files contained in the .fig archive. |
| clear_cacheB | Clear the file cache. Useful if the .fig file has been modified. |
| list_imagesA | List all images in the .fig file with their metadata. Returns image hashes, dimensions, and which nodes reference them. |
| get_imageA | Get a specific image from the .fig file as a resource. Use the hash from list_images. |
| get_thumbnailB | Get the document thumbnail image as a resource. |
| render_screenA | Screenshot ground truth of a node subtree. Prefer options.outputPath and OPEN the PNG on disk — do not redraw. Default trueGeometry=true uses baked Figma path geometry (fillGeometry/strokeGeometry) then resvg. Export packs via export_asset_pack for agent-safe files. |
| export_design_specB | Export a condensed design spec for a node: bounds, css, tokens, layout, tree, and text content. |
| save_node_assetsA | Write REAL image binaries + true-geometry SVG + PNG for a node to outputDir. Returns written paths only. Prefer export_asset_pack for full agent packs with AGENTS.md policy. |
| export_node_assetsA | Export REAL assets for one node: image binaries from the .fig store, true-geometry node.svg (baked fillGeometry/strokeGeometry), and node.png. Returns list of written absolute paths only — open those files; never invent SVG paths. |
| export_asset_packA | THE agent packaging tool. Writes a directory with MANIFEST.json, AGENTS.md (MUST NOT invent SVG paths), images/{hash}.ext real binaries, vectors/* true-geometry SVGs, nodes/{id}/node.svg+node.png+design-spec.json. Returns manifest summary + absolute outputDir + policy banner. Never dumps full images as base64. Agents must read/copy files from the pack. |
| get_vectorA | Exports REAL geometry from the .fig blob (fillGeometry/strokeGeometry commandsBlob). Agents must OPEN the resulting file — do not recreate paths. Prefer outputPath. For multi-asset work use export_asset_pack. When format=svg without outputPath, SVG text is returned but you should still save/open it rather than rewriting d attributes. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| MCP Agent Guide | Authoritative agent rules + use cases for @echobt/figma-mcp. Read before implementing UI from .fig files. |
TDQS
Scored across 26 tools
Many tools have overlapping purposes, such as multiple export functions (export_design_spec, save_node_assets, export_node_assets, export_asset_pack, get_vector, render_screen) and several for node retrieval (get_node_details, get_node_by_id, find_nodes). Descriptions try to differentiate but the similarity causes ambiguity.
All tool names use snake_case and start with a verb, providing a coherent pattern. However, the verb choice varies (export, save, get, parse, find, list, render) without a strict hierarchical convention, making it slightly less predictable.
26 tools is high for a single-domain server. While the domain (Figma file analysis) is broad, many tools could be consolidated (e.g., merging export functions). The count feels slightly excessive and may overwhelm agents.
The tool set comprehensively covers Figma file parsing, node navigation, asset export, image extraction, color and text analysis, and schema info. No obvious gaps for the intended purpose of reading and extracting design data.