figma-query
Token-efficient Figma MCP server with image export, query DSL, and design token support.
Installation
npm
npm install -g @standardbeagle/figma-query
Or use with npx:
npx @standardbeagle/figma-query
Python (uvx/pipx)
# Using uvx (recommended)
uvx figma-query
# Using pipx
pipx install figma-query
# Using pip
pip install figma-query
Configuration
Environment Variables
FIGMA_ACCESS_TOKEN- Your Figma personal access token (required)FIGMA_EXPORT_DIR- Directory for file exports (default:./figma-export)
Claude Desktop / MCP Client
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"
}
}
}
}
Tools
Export Tools
| 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 |
Query Tools
| 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) |
Detail Tools
| 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 |
Other Tools
| Tool | Description |
|---|---|
wireframe |
Generate annotated wireframe with node IDs |
diff |
Compare exports or file versions |
info |
Help and status |
Projections
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 |
Examples
Query all buttons
{
"file_key": "abc123",
"q": {
"from": ["COMPONENT"],
"where": { "name": { "$match": "Button*" } },
"select": ["@structure", "@css"]
}
}
Get images from a node
{
"file_key": "abc123",
"q": {
"from": ["FRAME"],
"select": ["@structure", "@images"]
}
}
Download image fills
{
"file_key": "abc123",
"image_refs": ["ref123", "ref456"],
"output_dir": "./images"
}
License
MIT
Metadata
Release files for figma-query 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| figma_query-0.1.0.tar.gz | 12.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| figma_query-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.4 MB
Release files / figma_query-0.1.0.tar.gz
| Download URL | figma_query-0.1.0.tar.gz |
|---|---|
| Size | 12.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
32e4f806e139bd195da166f89a329ac7ef3287d01fa95a1487917f7f1c7a36d9
|
|
BLAKE2b-256 checksum How to use checksums |
19f8e1bc37e5f12f001294c07743add6f25d6bcfdfa28ca7f78fab8a31c63aee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 9, 2026.
Transparency logRelease files / figma_query-0.1.0-py3-none-any.whl
| Download URL | figma_query-0.1.0-py3-none-any.whl |
|---|---|
| Size | 12.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
16c3389086550ee5f3d6457e44f0e5e99f25b77ee5041ef022a81c3a098531dc
|
|
BLAKE2b-256 checksum How to use checksums |
a81da50b62f874166675524e6bd9b8219febddf21e31a1e38c858fb2f4d5672d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 9, 2026.
Transparency log