Token-efficient Figma MCP server with image export, query DSL, and design token support.
npm install -g @standardbeagle/figma-queryOr use with npx:
npx @standardbeagle/figma-query# Using uvx (recommended)
uvx figma-query
# Using pipx
pipx install figma-query
# Using pip
pip install figma-queryFIGMA_ACCESS_TOKEN- Your Figma personal access token (required)FIGMA_EXPORT_DIR- Directory for file exports (default:./figma-export)
Add to your MCP configuration:
{
"mcpServers": {
"figma-query": {
"command": "npx",
"args": ["@standardbeagle/figma-query"],
"env": {
"FIGMA_ACCESS_TOKEN": "your-token-here"
}
}
}
}Or if installed globally:
{
"mcpServers": {
"figma-query": {
"command": "figma-query",
"env": {
"FIGMA_ACCESS_TOKEN": "your-token-here"
}
}
}
}Using uvx (Python):
{
"mcpServers": {
"figma-query": {
"command": "uvx",
"args": ["figma-query"],
"env": {
"FIGMA_ACCESS_TOKEN": "your-token-here"
}
}
}
}| Tool | Description |
|---|---|
sync_file |
Export entire file to nested folders (includes assets by default) |
export_assets |
Export images/icons for specific nodes |
export_tokens |
Export design tokens to CSS/JSON/Tailwind |
download_image |
Download images by ref ID or render nodes as images |
| Tool | Description |
|---|---|
query |
Query nodes with JSON DSL and data shaping |
search |
Full-text search across names, text, properties |
get_tree |
Get file structure as ASCII tree with node IDs |
list_components |
List all components with usage stats |
list_styles |
List all styles (color, text, effect, grid) |
| Tool | Description |
|---|---|
get_node |
Get full details for a specific node |
get_css |
Extract CSS properties for node(s) |
get_tokens |
Get design token references and resolved values |
| Tool | Description |
|---|---|
wireframe |
Generate annotated wireframe with node IDs |
diff |
Compare exports or file versions |
info |
Help and status |
Use projections in the select array to get specific property groups:
| Projection | Properties |
|---|---|
@structure |
id, name, type, visible |
@bounds |
x, y, width, height |
@css |
fills, strokes, effects, cornerRadius, opacity |
@layout |
layoutMode, padding, itemSpacing, constraints |
@typography |
fontFamily, fontSize, fontWeight, lineHeight |
@tokens |
boundVariables |
@images |
imageRefs (from fills/strokes/backgrounds), exportSettings |
@all |
All properties |
{
"file_key": "abc123",
"q": {
"from": ["COMPONENT"],
"where": { "name": { "$match": "Button*" } },
"select": ["@structure", "@css"]
}
}{
"file_key": "abc123",
"q": {
"from": ["FRAME"],
"select": ["@structure", "@images"]
}
}{
"file_key": "abc123",
"image_refs": ["ref123", "ref456"],
"output_dir": "./images"
}MIT