get_current_selectionLABSCO SUMMARY
Two ways in, and the URL one needs nothing running.
Plugin mode gives you the live selection, but the REST path is what makes this usable on a file you don't have open — pass a link and analyze_structure will come back with suggested routes and a component inventory. extract_design_system deriving tokens from the design itself matters more than it sounds, because the Variables API is Enterprise-only and most files don't have Variables anyway.
What it is
An independent server for Figma that gives an agent the file's actual data instead of a screenshot to guess from. It works two ways: a Figma desktop plugin pushes your live selection to a local bridge, or you pass any figma.com URL and the server reads it through the Figma REST API. Not affiliated with Figma.
What you get
- 20 tools. Selection tools are plugin-only; everything else works from a URL over REST
- Live selection:
get_current_selection,get_selected_colors,get_selected_texts,get_selected_spacing,get_selected_interactions— the last returns real prototype reactions, so hover and disabled states are read rather than invented - Navigation:
get_all_pages,get_current_page,get_frame_by_name,get_node_info,get_nodes_info,scan_nodes_by_types(capped at 1000 nodes) extract_design_systemderives colours with usage counts, type scale, spacing scale, radii and shadows — even when the file has no Figma Variablesanalyze_structurereturns pages and screens, suggested app routes from screen names, and a component inventory;get_component_variantsreturns every variant's valuesfind_assetsfinds export-worthy nodes with suggested filenames, andexport_imagereturns inline SVG source or a render URL forpng/jpgget_variablesreads local tokens, but its REST mode is Enterprise-only — useextract_design_systemon other plans
Requirements
Node.js 18 or newer. Run it as npx -y design-context-bridge over stdio (npm package design-context-bridge, version 1.1.0). For REST mode, generate a Figma personal access token under Settings → Security → Personal access tokens and pass it as FIGMA_ACCESS_TOKEN; it is sent only to api.figma.com and never written to disk. For plugin mode you need the Figma desktop app — import figma-plugin/manifest.json via Plugins → Development → Import plugin from manifest. The local bridge listens on 127.0.0.1:3055 only; FIGMA_BRIDGE_PORT changes the server side, but the plugin's port is compiled in and has to be rebuilt to match.
Setup effort
One command — npx design-context-bridge
USE CASES
Building a page from a Figma link
Read the design system and the structure first, then write code against real values.
Getting a component's states right
Read every variant's property values instead of guessing at hover and disabled.
Filling an assets folder
Find the export-worthy nodes, then pull each one's SVG source.
Checking what you just selected
Read the colours, text styles and spacing of the live selection in Figma desktop.
Planning the work before writing any of it
Get pages, screens, suggested routes and the component inventory in one call.
20 tools
Listed in project docs. Your client may show a different list.
get_selected_colorsget_selected_textsget_selected_spacingget_selected_interactionsget_all_pagesget_current_pageget_frame_by_nameget_component_definitionsget_variablesget_node_infoget_nodes_infoscan_nodes_by_typesextract_design_systemanalyze_structureget_component_variantsfind_assetsexport_imageget_file_from_urlget_node_from_urlBEFORE YOU INSTALL
What to know first
Tools you get
20 tools named in the project's documentation.
Requires
npx on PATH
Optional
FIGMA_ACCESS_TOKEN in your environment
Where it runs
All 6 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx design-context-bridgeMCP Clients
Claude Code, Cursor, Windsurf, Claude Desktop
{
"mcpServers": {
"design-context-bridge": {
"command": "npx",
"args": [
"-y",
"design-context-bridge"
],
"type": "stdio",
"env": {
"FIGMA_ACCESS_TOKEN": "<YOUR_FIGMA_ACCESS_TOKEN>"
}
}
}
}VS Code
{
"servers": {
"design-context-bridge": {
"command": "npx",
"args": [
"-y",
"design-context-bridge"
],
"type": "stdio",
"env": {
"FIGMA_ACCESS_TOKEN": "<YOUR_FIGMA_ACCESS_TOKEN>"
}
}
}
}OpenCode
{
"mcp": {
"design-context-bridge": {
"type": "local",
"command": [
"npx",
"-y",
"design-context-bridge"
],
"enabled": true,
"env": {
"FIGMA_ACCESS_TOKEN": "<YOUR_FIGMA_ACCESS_TOKEN>"
}
}
}
}