Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Layerbridge

NPM · LAYERBRIDGE

Read, edit and export the Figma file open in a local plugin. No REST API, no rate limits.

Available components

0 this week 75 Trust /100

Last scanned (22 hours ago)

Scores higher than 50% of npm servers

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security80
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 35 of 103 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability68
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 16209 tokens (~139/item across 116 items; 116 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
  • Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage93
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 78% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 10 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "delete_style" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 116 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 3 Nov 26 −1
    • Security disclosure: unverified → fail ▼ functional
    • Stability: pass → 0.93 functional
  • 30 Oct 26 0
    • Security disclosure: fail → unverified ▼ functional
  • 24 Oct 26 −6
    • CVE-2023-54404 affects this package: high ▼ security
    • Known CVEs: pass → fail ▼ security
  • 22 Oct 26 +1
    • Stability: 0.97 → pass security
    • Security disclosure: unverified → fail ▼ functional
  • 21 Oct 26 0
    • Security disclosure: fail → unverified ▼ functional
  • 20 Oct 26 −1
    • Stability: pass → 0.93 functional
  • 17 Oct 26 +3
    • Stability: 0.80 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed npm/layerbridge@0.3.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-mrhx-c7xc-m3w5 CVE-2023-54404 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 103 packages
Packages resolved 103
Stale 35
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 116 exposed · ~16,209 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
get_annotations ~77

Read Dev Mode annotations in a subtree (default: current page), with the file's annotation categories.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
nodeIdstring–Figma node ID, e.g. '4029:12345'

No output schema declared.

No examples provided.

get_board ~146

FigJam: read a board as compact JSON — stickies (text, colour, author, position), shapes with text, connectors (what they join, label, line type), sections with their children, tables (cell text), code blocks, text and stamps, plus a count of every layer type. Only works when the plugin runs in a FigJam file.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
maxItemsinteger–Stop listing after this many items (default 500); counts still cover everything
pageIdstring–A page other than the current one

No output schema declared.

No examples provided.

get_code_context ~385

Design-to-code context for one layer, read in a single walk. format "json" (default) returns a compact tree — each layer's flex/grid layout (mode, gap, padding, justify/align, fixed/hug/fill sizing, absolute position with constraints), a ref into a deduped styles table (fills, strokes, radius, effects, opacity) and textStyles table, text with mixed-style segments, component instances with variant and property values, icons collapsed to { type: ICON, assetHint }, image fills as imageRef — plus tokens used and assets to export. Every variable-bound value carries the variable name, its CSS custom property (the same name export_tokens writes) and the resolved value. "jsx-tailwind" and "html-css" return starter code built from that tree, headed by the tokens, components, icons and images it needs.

NameTypeReqDescription
expandInstancesboolean–Read inside component instances instead of treating each as a component placeholder (default false; the requested layer is always read)
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
formatstring–"json" (default), "jsx-tailwind" or "html-css"
includeHiddenboolean–Include layers turned off in the design (default false)
inlineSvgMaxBytesinteger–Inline each icon's SVG when it is at most this many bytes (default 0: never; up to 60 icons)
maxDepthinteger–Levels of children to read; deeper layers are summarised with a childCount. Default: no limit
maxNodesinteger–Stop after this many layers (default 3000)
nodeIdstringyesFigma node ID, e.g. '4029:12345'

No output schema declared.

No examples provided.

get_design_context ~96

Get the design context for the current selection or page. Returns a summarized tree structure optimized for understanding the current design context. When multiple files are connected, specify fileKey.

NameTypeReqDescription
depthnumber–How many levels deep to traverse the node tree (default 2)
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.

No output schema declared.

No examples provided.

get_dev_resources ~81

Dev resources (links) attached to a layer, optionally its children too.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
includeChildrenboolean––
nodeIdstringyesFigma node ID, e.g. '4029:12345'

No output schema declared.

No examples provided.

get_document ~60

Get the current Figma page document tree. When multiple files are connected, specify fileKey.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.

No output schema declared.

No examples provided.

get_fonts ~104

Fonts used in a subtree (default: current page) with how many text layers use each; optionally the fonts available to Figma.

NameTypeReqDescription
familystring–Filter available fonts by family
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
includeAvailableboolean––
nodeIdstring–Figma node ID, e.g. '4029:12345'

No output schema declared.

No examples provided.

get_local_components ~102

List the file's own components and component sets with id, key, description, page and property definitions. Scans every page unless pageId is given.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
includeVariantsboolean–Also list each variant inside a set (default false)
pageIdstring–Only this page (faster on big files)

No output schema declared.

No examples provided.

get_metadata ~70

Get metadata about the current Figma document including file name, pages, and current page info. When multiple files are connected, specify fileKey.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.

No output schema declared.

No examples provided.

get_motion_styles ~65

List all available animation presets in Figma (Motion API beta). When multiple files are connected, specify fileKey.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.

No output schema declared.

No examples provided.

get_node ~178

Get a specific Figma node by ID. Accepts top-level IDs like '4029:12345' and instance-child IDs like 'I12740:17806;12740:17793'. Never use hyphens. When multiple files are connected, specify fileKey.

NameTypeReqDescription
depthinteger–Levels of children to include (default all)
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
includeHiddenboolean–Include children the design hides (visible: false). Default false.
nodeIdstringyesThe node ID to fetch. Accepts top-level IDs like '4029:12345' and instance-child IDs like 'I12740:17806;12740:17793'.

No output schema declared.

No examples provided.

get_node_motion ~90

Read a node's current animationStyles, animations, manualKeyframeTracks, and timelines (Motion API beta). When multiple files are connected, specify fileKey.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
nodeIdstringyesThe node ID to fetch motion properties for

No output schema declared.

No examples provided.

get_nodes ~145

Fetch several nodes in one call. Each result carries its tree (optionally depth-limited), absolute bounds, auto-layout sizing, instance component properties and mixed-text segments. A node that fails is reported in place instead of failing the call. includeHidden keeps layers the design turns off.

NameTypeReqDescription
depthinteger–Levels of children to include (default all)
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
includeHiddenboolean–Include children the design hides (visible: false). Default false.
nodeIdsarrayyesNode IDs to fetch

No output schema declared.

No examples provided.

get_pages ~64

List the file's pages and which one Figma currently shows. When multiple files are connected, specify fileKey.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.

No output schema declared.

No examples provided.

get_reactions ~70

Read a layer's prototype interactions (triggers and actions).

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
nodeIdstringyesFigma node ID, e.g. '4029:12345'

No output schema declared.

No examples provided.

get_rest_json ~82

A layer in the REST API's JSON shape (exportAsync JSON_REST_V1), without using the REST API.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
nodeIdstringyesFigma node ID, e.g. '4029:12345'

No output schema declared.

No examples provided.

get_screenshot ~356

Export a screenshot of the selected nodes or specific nodes by ID. Returns base64-encoded image data. When multiple files are connected, specify fileKey.

NameTypeReqDescription
allowHiddenboolean–Export even when the node or an ancestor is hidden (default false — hidden nodes are reported instead, since they render nothing)
clipboolean–When true, export using Figma's absolute node bounds (REST use_absolute_bounds / plugin useAbsoluteBounds) so PNGs are clipped to the node's logical bounds
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
formatstring–Export format: PNG (default) or SVG or JPG or PDF
nodeIdsarray–Optional list of node IDs to export. Accepts top-level IDs like '4029:12345' and instance-child IDs like 'I12740:17806;12740:17793'. Never use hyphens. If empty, exports the current selection.
scalenumber–Export scale for raster formats (default 2)
svgIdAttributeboolean–SVG only: write layer names as id attributes (Figma default false)
svgOutlineTextboolean–SVG only: outline text as paths (Figma default true). False keeps <text> elements.
svgSimplifyStrokeboolean–SVG only: simplify inside/outside strokes (Figma default true)
timeoutMsnumber–Milliseconds one export may take before it is reported as stuck (default 30000). A stuck export almost always means Figma's window is minimized or covered.

No output schema declared.

No examples provided.

get_selection ~60

Get the currently selected nodes in Figma. When multiple files are connected, specify fileKey.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.

No output schema declared.

No examples provided.

get_selection_colors ~47

The colours and colour styles used in the current selection.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.

No output schema declared.

No examples provided.

get_slides ~133

Figma Slides: the deck as rows of slides with id, name, whether it is skipped, its transition and the first few text layers of each. Only works when the plugin runs in a Slides file. Edit a slide's content with the usual tools (create_text, create_frame, set_text_content, …) using the slide id as parentId.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
textNodesPerSlideinteger–Text layers summarised per slide (default 5, 0 for none)

No output schema declared.

No examples provided.

get_styles ~59

Get all local styles in the document. When multiple files are connected, specify fileKey.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.

No output schema declared.

No examples provided.

get_variable_defs ~87

Get all local variable definitions including variable collections, modes, and variable values. Variables are Figma's system for design tokens (colors, numbers, strings, booleans). When multiple files are connected, specify fileKey.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.

No output schema declared.

No examples provided.

get_viewport ~47

The canvas viewport: centre, zoom and visible bounds.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.

No output schema declared.

No examples provided.

group_nodes ~127

Wrap a list of nodes in a new group. Nodes must share a common parent (or supply parentId explicitly). Returns the new group's node ID.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
namestring–Optional name for the new group
nodeIdsarrayyesNode IDs to group. Must share a common parent.
parentIdstring–Optional explicit parent for the new group. Defaults to the shared parent of the input nodes.

No output schema declared.

No examples provided.

health ~105

Diagnose the bridge: server version and role, connected files, and a live test export from the plugin. Use it when calls time out: it tells a dead plugin apart from one node that will not export.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
nodeIdstring–Node to test-export (default: the first visible layer on the current page)

No output schema declared.

No examples provided.

import_html_layers ~253

Import a DOM serialization (JSON produced by html-figma's browser htmlToFigma()) as editable Figma layers inside a new wrapper frame — frames, text, rectangles, and SVG vectors in one call. Source must be a JSON file path inside the MCP server working directory. Optionally append the wrapper into an existing frame/section via parentId. Requires the plugin to be open in the design editor. When multiple files are connected, specify fileKey.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
namestring–Optional name for the wrapper frame (default: 'imported layers')
parentIdstring–Optional parent node ID (frame/section) to append the wrapper frame into. x/y become relative to that parent.
sourcestringyesPath to a JSON file containing an html-figma htmlToFigma() layer tree, relative to the MCP server cwd (absolute paths must stay inside it).
xnumber–Optional x position of the wrapper frame
ynumber–Optional y position of the wrapper frame

No output schema declared.

No examples provided.

import_tokens ~333

Import design tokens into the file's local variables: W3C DTCG JSON (including export_tokens output), CSS custom properties (:root is the default mode; [data-theme="x"], .dark and @media (prefers-color-scheme: dark) are other modes) or Tailwind v4 @theme blocks. Matches existing variables by collection and name, creates what is missing, updates what changed, and sets aliases last. Previews by default — pass dryRun: false to apply. Never deletes; variables the import leaves out are listed as missing.

NameTypeReqDescription
collectionstring–Put every token in this collection. Without it, DTCG uses each top-level group as the collection and CSS names are matched to existing variables, falling back to "Tokens".
contentstring–The tokens themselves, instead of a file
deleteMissingboolean–Not implemented: missing variables are only reported, never deleted
dryRunboolean–Default true: report the plan without changing the file
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
formatstring–Default auto: JSON is DTCG, anything else CSS (which includes @theme blocks). tailwind reads only @theme blocks.
modeMappingobject–Rename source modes to Figma mode names, e.g. { "dark": "Dark", ":root": "Light" }
sourcestring–Path to a .json or .css file, relative to the server's working directory

No output schema declared.

No examples provided.

import_url ~197

Render a localhost or file URL in Playwright and import the page (or one element, via selector) as editable Figma layers — frames, text, images and SVGs — through import_html_layers. Needs the optional Playwright install.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
namestring–Name of the wrapper frame (default: the URL's host and path)
parentIdstring–Frame or section to put the wrapper in
selectorstring–CSS selector of the element to import (default body)
urlstringyesA localhost or file URL (other hosts need FIGMA_BRIDGE_ALLOW_REMOTE_URLS=1)
viewportobject–Browser window size in CSS pixels (default 1440×900)
xnumber––
ynumber––

No output schema declared.

No examples provided.

lint_design_system ~396

Lint a frame against the file's design system. Rules: unbound-color (solid fill/stroke with no variable or style; suggests the matching local colour variable in the layer's mode, respecting variable scopes, or paint style — exact first, else nearest by CIEDE2000 within maxDeltaE), unbound-spacing and unbound-radius (auto-layout gap/padding and corner radius not bound to a number variable; suggests one), text-without-style (suggests the nearest text style in the same family), detached-instance, off-scale-spacing / off-scale-radius (against spacingScale/radiusScale, or a scale inferred from the file's number variables), default-name, hidden-layer, empty-frame. Returns issues with node, path, property, value, suggestion and whether fix_design_system can apply it, plus counts per rule and a 0-100 score. Read-only; one scan of the frame.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
includeInstanceChildrenboolean–Also look inside instances (default false: their insides come from the main component, so lint that instead)
limitinteger–Most layers with findings to collect (default 5000)
maxDeltaEnumber–Colour distance (CIEDE2000) for suggestions (default 5; fixes use 2)
maxIssuesinteger–Most issues in the reply (default 300)
nodeIdstringyesFigma node ID, e.g. '4029:12345'
radiusScalearray–Allowed corner radii in px
respectScopesboolean–Only suggest variables whose scopes allow the property (default true)
rulesarray–Rules to run (default all)
spacingScalearray–Allowed spacing values in px

No output schema declared.

No examples provided.

list_files ~38

List all currently connected Figma files. Returns fileKey and fileName for each. Use the fileKey to target a specific file in other tools.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

lock_nodes ~57

Lock or unlock layers.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
lockedboolean–Default true
nodeIdsarrayyes–

No output schema declared.

No examples provided.

navigate_to_page ~114

Switch Figma to a page by pageId or exact pageName. Reads and exports work across pages without this; use it to change what get_document and get_selection see.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
pageIdstring–Page ID, e.g. '0:1'
pageNamestring–Exact page name, used when pageId is not given

No output schema declared.

No examples provided.

notify ~64

Show a toast message inside Figma.

NameTypeReqDescription
errorboolean––
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
messagestringyes–
timeoutMsnumber––

No output schema declared.

No examples provided.

remove_animation_style ~119

Remove an applied animation style from a node (Motion API beta). If no animationStyleId is provided, removes all styles. When multiple files are connected, specify fileKey.

NameTypeReqDescription
animationStyleIdstring–The ID of the animation style to remove. If omitted, all animation styles are removed.
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
nodeIdstringyesThe node ID to remove the style from

No output schema declared.

No examples provided.

remove_manual_keyframe_track ~124

Removes the manual Motion keyframe track for a property, paint, or effect field on a node. When multiple files are connected, specify fileKey.

NameTypeReqDescription
fieldobjectyesThe property, paint, or effect field to remove. Example: { type: 'PROPERTY', name: 'TRANSLATION_X' }
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
nodeIdstringyesThe node ID to remove the track from

No output schema declared.

No examples provided.

remove_reactions ~79

Remove all of a layer's interactions, or the one at index.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
indexinteger––
nodeIdstringyesFigma node ID, e.g. '4029:12345'

No output schema declared.

No examples provided.

rename_page ~54

Rename a page.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
namestringyes–
pageIdstringyes–

No output schema declared.

No examples provided.

rename_variable_mode ~67

Rename a mode in a variable collection.

NameTypeReqDescription
collectionIdstringyes–
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
modeIdstringyes–
namestringyes–

No output schema declared.

No examples provided.

reorder_nodes ~65

Move layers in their parent's stacking order.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
indexinteger––
nodeIdsarrayyes–
positionstringyes–

No output schema declared.

No examples provided.

reorder_slides ~88

Figma Slides: rearrange the deck. Pass every slide id exactly once, grouped into rows in the new order.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
gridarrayyesSlide ids per row, e.g. [['1:2','1:3'],['1:4']]

No output schema declared.

No examples provided.

reparent_nodes ~89

Move one or more nodes into a different parent container. When multiple files are connected, specify fileKey.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
nodeIdsarrayyesList of node IDs to move
parentIdstringyesDestination parent node ID

No output schema declared.

No examples provided.

run_script ~220

Run JavaScript inside the Figma plugin with `figma` (the Plugin API) in scope, as the body of an async function: use await, and return a JSON-serialisable value. Returns { result, logs (console.log/info/warn/error/debug during the run), durationMs }; nodes in the result become {id, name, type}, cycles are cut and results over ~200KB are truncated. The script can change or delete anything in the file. In Dev Mode only reading works. A timed-out script cannot be stopped and may keep running. Off unless the server runs with FIGMA_BRIDGE_ALLOW_SCRIPTS=1.

NameTypeReqDescription
codestringyesBody of an async function, e.g. "const n = await figma.getNodeByIdAsync('1:2'); return n.name"
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
timeoutMsinteger–Default 10000, max 60000

No output schema declared.

No examples provided.

save_screenshots ~361

Export nodes and save them straight to disk, one node at a time (PNG/SVG/JPG/PDF). Returns metadata only. Hidden nodes and existing files are reported rather than failing the batch; the run stops early if Figma's exports stall. When multiple files are connected, specify fileKey.

NameTypeReqDescription
allowHiddenboolean–Export even when the node or an ancestor is hidden (default false — hidden nodes are reported instead, since they render nothing)
clipboolean–Default clipping behavior for saved screenshots. When true, PNGs are clipped to the node's logical bounds using Figma's absolute node bounds.
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
formatstring–Default export format: PNG (default) or SVG or JPG or PDF
itemsarrayyesList of screenshot save operations to execute in batch
overwriteboolean–Replace files that already exist (default false — existing files are reported, not touched)
scalenumber–Default export scale for raster formats (default 2)
svgIdAttributeboolean–SVG only: write layer names as id attributes (Figma default false)
svgOutlineTextboolean–SVG only: outline text as paths (Figma default true). False keeps <text> elements.
svgSimplifyStrokeboolean–SVG only: simplify inside/outside strokes (Figma default true)
timeoutMsnumber–Milliseconds one export may take before it is reported as stuck (default 30000). A stuck export almost always means Figma's window is minimized or covered.

No output schema declared.

No examples provided.

save_version ~71

Save a named version to the file's version history. Figma notes very recent edits may not be included.

NameTypeReqDescription
descriptionstring––
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
titlestringyes–

No output schema declared.

No examples provided.

scan_nodes ~315

Search a node's subtree and return a flat list of matches: id, name, type, visibility, layer path, absolute bounds, bounds relative to the root, text and font for TEXT, component name for INSTANCE. Filter by types, namePattern, textPattern, size, maxDepth; stopAtMatch keeps an icon instance whole. Hidden layers are skipped unless visibleOnly is false.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
limitinteger–Maximum matches returned (default 2000)
maxDepthinteger–Do not descend deeper than this
maxSizenumber–Match only nodes whose larger side is at most this many px
minSizenumber–Match only nodes whose larger side is at least this many px
namePatternstring–Case-insensitive regular expression the layer name must match
rootIdstringyesNode whose subtree is searched
stopAtMatchboolean–Do not look inside a node that matched — so an icon instance is returned whole, not also as its inner vectors
textPatternstring–Case-insensitive regular expression a TEXT node's characters must match
typesarray–Node types to match, e.g. ['INSTANCE','VECTOR','BOOLEAN_OPERATION','TEXT','FRAME']
visibleOnlyboolean–Skip hidden layers and everything inside them (default true)

No output schema declared.

No examples provided.

scroll_and_zoom_into_view ~84

Scroll and zoom the Figma viewport so the given nodes are framed in view. Works in both design editor and Dev Mode.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
nodeIdsarrayyesNode IDs to frame in the viewport

No output schema declared.

No examples provided.

set_annotations ~96

Replace or append a layer's annotations ({ label | labelMarkdown, properties?, categoryId? }). Works in Dev Mode too.

NameTypeReqDescription
annotationsarrayyes–
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
modestring––
nodeIdstringyesFigma node ID, e.g. '4029:12345'

No output schema declared.

No examples provided.

set_auto_layout ~265

Configure auto-layout on a frame: direction, gap, padding, alignment, sizing modes, wrap. Set layoutMode='NONE' to disable auto-layout on the frame.

NameTypeReqDescription
counterAxisAlignItemsstring–Alignment along the counter axis
counterAxisSizingModestring–AUTO = hug contents along counter axis
counterAxisSpacingnumber–Gap between wrapped rows/columns (only when layoutWrap=WRAP)
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
itemSpacingnumber–Gap between children along the primary axis (pixels)
layoutModestring–Auto-layout direction. 'NONE' disables auto-layout.
layoutWrapstring–Allow children to wrap onto multiple rows/columns
nodeIdstringyesThe node ID to update (must be a frame)
paddingBottomnumber––
paddingLeftnumber––
paddingRightnumber––
paddingTopnumber––
primaryAxisAlignItemsstring–Alignment along the primary axis
primaryAxisSizingModestring–AUTO = hug contents along primary axis

No output schema declared.

No examples provided.

set_constraints ~78

Set a layer's resizing constraints.

NameTypeReqDescription
fileKeystring–The fileKey of the Figma file. Required when several files are connected; see list_files.
horizontalstring––
nodeIdstringyesFigma node ID, e.g. '4029:12345'
verticalstring––

No output schema declared.

No examples provided.

set_effects ~129

Replace a node's effects list (drop/inner shadows, layer/background blurs). Pass an empty array to clear all effects. Each entry mirrors the shape returned by get_node's `effects` field.

NameTypeReqDescription
effectsarrayyesFull replacement list of effects. Pass [] to clear all effects. Each entry is a drop/inner shadow or a layer/background blur.
fileKeystring–The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files.
nodeIdstringyesThe node ID to update

No output schema declared.

No examples provided.

Install

How do I install the Layerbridge MCP server?

Layerbridge runs locally as an npm package, launched with npx -y layerbridge. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · layerbridge

# add to Claude Code
claude mcp add muradyf-layerbridge -- npx -y layerbridge
Common questions

What is the Layerbridge MCP server?

Layerbridge is an MCP server listed in the public MCP registry as io.github.muradyf/layerbridge. Read, edit and export the Figma file open in a local plugin. No REST API, no rate limits. This page covers its npm package (layerbridge).

Is the Layerbridge MCP server safe to use?

Layerbridge scores 75 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 4 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Layerbridge MCP server expose?

Layerbridge exposes 116 tools: get_local_components, create_component, combine_as_variants, create_instance, swap_component, and 111 more. Their descriptions and schemas cost roughly 16,209 tokens of context every time the server is loaded.

Is the Layerbridge MCP server still maintained?

Layerbridge is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Layerbridge MCP server under?

Layerbridge declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.