Token-efficient Figma MCP server with image export, query DSL, and design token support
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file figma_query-0.1.0.tar.gz.
File metadata
- Download URL: figma_query-0.1.0.tar.gz
- Upload date:
- Size: 12.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32e4f806e139bd195da166f89a329ac7ef3287d01fa95a1487917f7f1c7a36d9
|
|
| MD5 |
ce5541fe943fb046cfb7f117cd7b1c2a
|
|
| BLAKE2b-256 |
19f8e1bc37e5f12f001294c07743add6f25d6bcfdfa28ca7f78fab8a31c63aee
|
Provenance
The following attestation bundles were made for figma_query-0.1.0.tar.gz:
Publisher:
release.yml on standardbeagle/figma-query
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
figma_query-0.1.0.tar.gz -
Subject digest:
32e4f806e139bd195da166f89a329ac7ef3287d01fa95a1487917f7f1c7a36d9 - Sigstore transparency entry: 809772941
- Sigstore integration time:
-
Permalink:
standardbeagle/figma-query@57bcb7c43d4324e0d5e00c9c9882378704c6e807 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/standardbeagle
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@57bcb7c43d4324e0d5e00c9c9882378704c6e807 -
Trigger Event:
push
-
Statement type:
File details
Details for the file figma_query-0.1.0-py3-none-any.whl.
File metadata
- Download URL: figma_query-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16c3389086550ee5f3d6457e44f0e5e99f25b77ee5041ef022a81c3a098531dc
|
|
| MD5 |
039567e9af900c268acf35d5d678d6df
|
|
| BLAKE2b-256 |
a81da50b62f874166675524e6bd9b8219febddf21e31a1e38c858fb2f4d5672d
|
Provenance
The following attestation bundles were made for figma_query-0.1.0-py3-none-any.whl:
Publisher:
release.yml on standardbeagle/figma-query
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
figma_query-0.1.0-py3-none-any.whl -
Subject digest:
16c3389086550ee5f3d6457e44f0e5e99f25b77ee5041ef022a81c3a098531dc - Sigstore transparency entry: 809773007
- Sigstore integration time:
-
Permalink:
standardbeagle/figma-query@57bcb7c43d4324e0d5e00c9c9882378704c6e807 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/standardbeagle
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@57bcb7c43d4324e0d5e00c9c9882378704c6e807 -
Trigger Event:
push
-
Statement type: