Layerbridge
NPM · LAYERBRIDGE · SCANNED SEP 20
Read, edit and export the Figma file open in a local plugin. No REST API, no rate limits.
Available components
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 Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 36 of 106 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 5 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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 Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
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
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
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
claude mcp add muradyf-layerbridge -- npx -y layerbridge
{
"mcpServers": {
"muradyf-layerbridge": {
"command": "npx",
"args": [
"-y",
"layerbridge"
]
}
}
} {
"servers": {
"muradyf-layerbridge": {
"command": "npx",
"args": [
"-y",
"layerbridge"
]
}
}
} codex mcp add muradyf-layerbridge -- npx -y layerbridge
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"muradyf-layerbridge": {
"type": "local",
"command": [
"npx",
"-y",
"layerbridge"
],
"enabled": true
}
}
} openclaw mcp add muradyf-layerbridge --command npx --arg -y --arg layerbridge
mcp_servers:
muradyf-layerbridge:
command: "npx"
args: ["-y", "layerbridge"] {
"McpServers": {
"muradyf-layerbridge": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"layerbridge"
]
}
}
} assistant mcp add muradyf-layerbridge -t stdio -c npx -a -y layerbridge
{
"mcpServers": {
"muradyf-layerbridge": {
"command": "npx",
"args": [
"-y",
"layerbridge"
]
}
}
} 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.
- 17 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
- 16 Sept 26 0
- Security disclosure: fail → unverified ▼ functional
- 15 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 14 Sept 26 52
First indexed and scored.
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 20 Sept 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 →
Dependencies 106 packages
| Packages resolved | 106 |
|---|---|
| Stale | 36 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
add_component_property ~94
Add a component property to a component or component set.
| Name | Type | Req | Description |
|---|---|---|---|
| defaultValue | string|boolean | yes | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| name | string | yes | – |
| nodeId | string | yes | Figma node ID, e.g. '4029:12345' |
| propertyType | string | yes | – |
No output schema declared.
No examples provided.
add_dev_resource ~86
Attach a dev resource link to a layer. Works in Dev Mode.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| name | string | – | – |
| nodeId | string | yes | Figma node ID, e.g. '4029:12345' |
| url | string | yes | – |
No output schema declared.
No examples provided.
add_variable_mode ~65
Add a mode (e.g. Dark) to a variable collection.
| Name | Type | Req | Description |
|---|---|---|---|
| collectionId | string | yes | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| name | string | yes | – |
No output schema declared.
No examples provided.
apply_animation_style ~127
Apply a preset animation style to a node (Motion API beta). When multiple files are connected, specify fileKey.
| Name | Type | Req | Description |
|---|---|---|---|
| animationStyleData | object | – | Optional values used to configure the applied animation style (e.g. duration, timelineOffset, axis, direction) |
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| nodeId | string | yes | The node ID to apply the style to |
| styleId | string | yes | The ID of the animation style to apply |
No output schema declared.
No examples provided.
apply_manual_keyframe_track ~149
Applies or replaces the manual Motion keyframe track for a property, paint, or effect field on a node. When multiple files are connected, specify fileKey.
| Name | Type | Req | Description |
|---|---|---|---|
| field | object | yes | The property, paint, or effect field to animate. Example: { type: 'PROPERTY', name: 'TRANSLATION_X' } |
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| nodeId | string | yes | The node ID to apply the track to |
| track | object | yes | The manual keyframe track to write. Contains keyframes, baseValue, etc. |
No output schema declared.
No examples provided.
apply_style ~91
Apply a style to a layer as its fill, stroke, text, effect or grid style.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| nodeId | string | yes | Figma node ID, e.g. '4029:12345' |
| styleId | string | yes | – |
| target | string | – | – |
No output schema declared.
No examples provided.
batch_rename_nodes ~135
Rename many layers: regex find/replace, or a template with {name} {index} {type}. Target explicit nodeIds or every layer under rootId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseSensitive | boolean | – | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| find | string | – | – |
| nodeIds | array | – | – |
| replace | string | – | – |
| rootId | – | – | Figma node ID, e.g. '4029:12345' |
| startIndex | integer | – | – |
| template | string | – | – |
No output schema declared.
No examples provided.
bind_variable ~131
Bind a variable to a layer property (width, height, itemSpacing, paddingLeft, cornerRadius, opacity, visible, characters…) or to a fill/stroke colour (field 'fill' or 'stroke'). Omit variableId to unbind.
| Name | Type | Req | Description |
|---|---|---|---|
| field | string | yes | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| nodeId | string | yes | Figma node ID, e.g. '4029:12345' |
| paintIndex | integer | – | – |
| variableId | string | – | – |
No output schema declared.
No examples provided.
check_accessibility ~440
Check a frame for WCAG 2.2 accessibility problems: text contrast (1.4.3 AA / 1.4.6 AAA), target size (2.5.8, or 2.5.5 at 44px) and very small text. Contrast is computed from the layers behind each text; when the background is an image, gradient, blur or blend it renders the containing layer as a PNG and samples the pixels behind the text, reporting the worst background colour (method: sampled). Returns a 0-100 score and issues sorted by severity, each with the node, colours, ratio, required ratio, informational APCA Lc, and the nearest colour variable or style that would pass. Optional: write JSON + Markdown reports to outputDir, and annotate failing layers in Figma (annotate: true changes the file; re-running replaces its own annotations). Cost: one scan, plus one export per containing layer that needs sampling (capped by maxExports).
| Name | Type | Req | Description |
|---|---|---|---|
| annotate | boolean | – | Add a Figma annotation to each failing layer (changes the file; design editor only) |
| checks | array | – | Which checks to run (default all three) |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| level | string | – | WCAG level (default AA) |
| maxExports | integer | – | Most layers to render for pixel sampling (default 25) |
| maxIssues | integer | – | Most issues in the reply (default 200; files list all) |
| minFontSize | number | – | Warn below this font size in px (default 12) |
| minTarget | number | – | Minimum target size in px (default 24 for AA per WCAG 2.5.8; 44 for AAA 2.5.5 and Apple's HIG) |
| nodeId | string | yes | Figma node ID, e.g. '4029:12345' |
| outputDir | string | – | Write accessibility-<node>.json and .md here (inside the allowed output folders) |
No output schema declared.
No examples provided.
combine_as_variants ~84
Combine two or more components into a component set (variants).
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| name | string | – | – |
| nodeIds | array | yes | – |
| parentId | – | – | Figma node ID, e.g. '4029:12345' |
No output schema declared.
No examples provided.
compare_to_image ~352
Compare a Figma node with the built page or component: exports the node as PNG, compares it with a local screenshot (image) or a screenshot Playwright takes of a local URL, and writes design, actual and diff PNGs. Returns the mismatch percentage and the largest mismatching regions in design coordinates, each with the layers most likely responsible. url needs the optional Playwright install.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| fit | string | – | When sizes differ: crop compares the overlapping top-left area (default); resize scales the image to the design's size first |
| image | string | – | Path to a PNG (or JPG, with the optional jpeg-js) of the built UI, inside the allowed folders |
| maxRegions | integer | – | How many regions to return (default 5) |
| nodeId | string | yes | Figma node ID, e.g. '4029:12345' |
| outputDir | string | – | Where to write the PNGs (default figma-compare), inside the allowed folders |
| scale | number | – | Pixels per design unit for both images (default 1). Use 2 for a retina screenshot. |
| selector | string | – | With url: screenshot only the first element matching this CSS selector |
| threshold | number | – | pixelmatch colour threshold, 0–1 (default 0.1; lower is stricter) |
| url | string | – | A localhost or file URL to screenshot instead (needs Playwright) |
| viewport | object | – | With url: window size in CSS pixels (default: the node's size) |
No output schema declared.
No examples provided.
create_code_block ~103
FigJam: add a code block with syntax highlighting.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| language | string | – | – |
| x | number | – | Left edge, in the parent's coordinates. Without x, y or parentId the item is centred in view. |
| y | number | – | Top edge, in the parent's coordinates |
No output schema declared.
No examples provided.
create_component ~80
Turn an existing layer into a main component.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| name | string | – | – |
| nodeId | string | yes | Figma node ID, e.g. '4029:12345' |
No output schema declared.
No examples provided.
create_connector ~155
FigJam: connect two items (stickies, shapes, sections…) with a connector line that follows them when they move.
| Name | Type | Req | Description |
|---|---|---|---|
| endCap | string | – | Default is FigJam's arrow |
| endMagnet | string | – | – |
| endNodeId | – | yes | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| label | string | – | – |
| lineType | string | – | – |
| startCap | string | – | Default NONE |
| startMagnet | string | – | Which side it attaches to (default AUTO) |
| startNodeId | string | yes | Figma node ID, e.g. '4029:12345' |
No output schema declared.
No examples provided.
create_effect_style ~68
Create a local effect style (shadows / blurs). Shadow colours may be hex.
| Name | Type | Req | Description |
|---|---|---|---|
| effects | array | yes | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| name | string | yes | – |
No output schema declared.
No examples provided.
create_frame ~173
Create a new frame, optionally inside a specified parent. You can set name, size, position, and a solid fill. When multiple files are connected, specify fileKey.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| fillHex | string | – | Optional solid fill color as hex |
| fillOpacity | number | – | Optional solid fill opacity from 0 to 1 |
| height | number | – | Frame height |
| name | string | – | Optional frame name |
| parentId | string | – | Optional parent node ID to append the frame into |
| width | number | – | Frame width |
| x | number | – | Optional x position |
| y | number | – | Optional y position |
No output schema declared.
No examples provided.
create_from_svg ~95
Create editable vector layers from an SVG string.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| name | string | – | – |
| parentId | string | – | Figma node ID, e.g. '4029:12345' |
| svg | string | yes | – |
| x | number | – | – |
| y | number | – | – |
No output schema declared.
No examples provided.
create_grid_style ~66
Create a local layout-grid style using Figma's LayoutGrid objects.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| layoutGrids | array | yes | – |
| name | string | yes | – |
No output schema declared.
No examples provided.
create_image ~222
Create an image-backed rectangle from a local file path, remote URL, or data URI. You can set its parent, position, size, corner radius, and fit mode. When multiple files are connected, specify fileKey.
| Name | Type | Req | Description |
|---|---|---|---|
| cornerRadius | number | – | Optional corner radius |
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| height | number | – | Optional height |
| name | string | – | Optional image node name |
| parentId | string | – | Optional parent node ID to append the image into |
| scaleMode | string | – | How the image should fit its bounds: FILL (default) or FIT |
| source | string | yes | Image source. Accepts a local file path (absolute or relative to the MCP server cwd), an http/https URL, or a data URI. |
| width | number | – | Optional width |
| x | number | – | Optional x position |
| y | number | – | Optional y position |
No output schema declared.
No examples provided.
create_instance ~125
Place an instance of a local component (componentId) or a published library component (componentKey).
| Name | Type | Req | Description |
|---|---|---|---|
| componentId | string | – | Figma node ID, e.g. '4029:12345' |
| componentKey | string | – | Key of a published library component |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| parentId | – | – | Figma node ID, e.g. '4029:12345' |
| x | number | – | – |
| y | number | – | – |
No output schema declared.
No examples provided.
create_page ~148
Create a new page in the Figma document, optionally naming it and switching the editor to it. Returns the new page's ID, which can be passed as parentId to create_frame / create_text / create_shape / create_image to author content on that page. When multiple files are connected, specify fileKey.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| name | string | – | Optional page name (defaults to Figma's 'Page N') |
| setAsCurrent | boolean | – | When true, switch the editor to the new page after creating it (default false) |
No output schema declared.
No examples provided.
create_paint_style ~88
Create a local colour style from one hex colour or a stack of solid paints.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| hex | string | – | – |
| name | string | yes | – |
| opacity | number | – | – |
| paints | array | – | – |
No output schema declared.
No examples provided.
create_section ~103
Create a section, either at a given box or wrapped around existing layers (nodeIds).
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| height | number | – | – |
| name | string | – | – |
| nodeIds | array | – | – |
| padding | number | – | – |
| width | number | – | – |
| x | number | – | – |
| y | number | – | – |
No output schema declared.
No examples provided.
create_shape ~254
Create a rectangle, ellipse, or line, optionally inside a specified parent. You can set its size, position, rotation, fill, and stroke. When multiple files are connected, specify fileKey.
| Name | Type | Req | Description |
|---|---|---|---|
| cornerRadius | number | – | Optional corner radius for supported shapes |
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| fillHex | string | – | Optional fill color as hex |
| fillOpacity | number | – | Optional fill opacity from 0 to 1 |
| height | number | – | Optional height |
| name | string | – | Optional shape name |
| parentId | string | – | Optional parent node ID to append the shape into |
| rotation | number | – | Optional rotation in degrees |
| shapeType | string | yes | Shape type to create |
| strokeHex | string | – | Optional stroke color as hex |
| strokeOpacity | number | – | Optional stroke opacity from 0 to 1 |
| strokeWeight | number | – | Optional stroke weight |
| width | number | – | Optional width |
| x | number | – | Optional x position |
| y | number | – | Optional y position |
No output schema declared.
No examples provided.
create_shape_with_text ~177
FigJam: add a shape with text in it, e.g. a flowchart box or decision diamond.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| fill | string | – | A FigJam colour name such as yellow, green or lightGray (get_board lists the ones in use), or a hex colour |
| height | number | – | – |
| parentId | string | – | A section to put it in |
| shapeType | string | yes | – |
| text | string | yes | – |
| width | number | – | – |
| x | number | – | Left edge, in the parent's coordinates. Without x, y or parentId the item is centred in view. |
| y | number | – | Top edge, in the parent's coordinates |
No output schema declared.
No examples provided.
create_slide ~124
Figma Slides: add a slide, at the end of the deck or at a row and position. Use a row one past the last to start a new row.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| index | integer | – | Position within the row; needs row |
| name | string | – | Layer name. Figma Slides renames slides to their position number when the deck changes, so it rarely lasts; identify slides by id |
| row | integer | – | – |
No output schema declared.
No examples provided.
create_sticky ~155
FigJam: add a sticky note.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | A FigJam colour name such as yellow, green or lightGray (get_board lists the ones in use), or a hex colour |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| parentId | string | – | A section to put it in |
| text | string | yes | – |
| wide | boolean | – | A wide sticky instead of a square one |
| x | number | – | Left edge, in the parent's coordinates. Without x, y or parentId the item is centred in view. |
| y | number | – | Top edge, in the parent's coordinates |
No output schema declared.
No examples provided.
create_table ~121
FigJam: add a table, optionally filled with text row by row.
| Name | Type | Req | Description |
|---|---|---|---|
| cells | array | – | Text per row; missing cells stay empty |
| columns | integer | yes | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| rows | integer | yes | – |
| x | number | – | Left edge, in the parent's coordinates. Without x, y or parentId the item is centred in view. |
| y | number | – | Top edge, in the parent's coordinates |
No output schema declared.
No examples provided.
create_text ~256
Create a new text node, optionally inside a specified parent. You can set its content, font, size, alignment, color, position, and bounds. When multiple files are connected, specify fileKey.
| Name | Type | Req | Description |
|---|---|---|---|
| characters | string | – | Initial text content |
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| fillHex | string | – | Optional text fill color as hex |
| fillOpacity | number | – | Optional text fill opacity from 0 to 1 |
| fontFamily | string | – | Font family, defaults to Inter |
| fontSize | number | – | Optional font size |
| fontStyle | string | – | Font style, defaults to Regular |
| height | number | – | Optional height |
| name | string | – | Optional text node name |
| parentId | string | – | Optional parent node ID to append the text into |
| textAlignHorizontal | string | – | Optional horizontal alignment |
| textAutoResize | string | – | Optional text auto-resize mode |
| width | number | – | Optional width |
| x | number | – | Optional x position |
| y | number | – | Optional y position |
No output schema declared.
No examples provided.
create_text_style ~118
Create a local text style. The font must be available to Figma.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| fontFamily | string | yes | – |
| fontSize | number | yes | – |
| fontStyle | string | – | e.g. Regular, Medium, Bold (default Regular) |
| letterSpacing | number | – | Pixels |
| lineHeight | number | – | Pixels |
| name | string | yes | – |
No output schema declared.
No examples provided.
create_variable ~108
Create a variable in a collection, optionally with values per mode. Values: hex for COLOR, number for FLOAT, boolean, string, or { alias: variableId }. Modes may be named by id or name.
| Name | Type | Req | Description |
|---|---|---|---|
| collectionId | string | yes | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| name | string | yes | – |
| values | object | – | – |
| variableType | string | yes | – |
No output schema declared.
No examples provided.
create_variable_collection ~49
Create a local variable collection.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| name | string | yes | – |
No output schema declared.
No examples provided.
delete_dev_resource ~74
Remove a dev resource link from a layer.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| nodeId | string | yes | Figma node ID, e.g. '4029:12345' |
| url | string | yes | – |
No output schema declared.
No examples provided.
delete_nodes ~104
Delete one or more nodes. This is destructive and requires confirm: true. Page and document nodes cannot be deleted through this tool. When multiple files are connected, specify fileKey.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Must be true to confirm deletion |
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| nodeIds | array | yes | List of node IDs to delete |
No output schema declared.
No examples provided.
delete_page ~73
Delete a page and everything on it. Requires confirm: true.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Must be true — this cannot be undone from here |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| pageId | string | yes | – |
No output schema declared.
No examples provided.
delete_slide ~82
Figma Slides: delete a slide and everything on it.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Must be true — this cannot be undone from here |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| slideId | string | yes | The slide's node id, from get_slides |
No output schema declared.
No examples provided.
delete_style ~70
Delete a local style. Requires confirm: true.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Must be true — this cannot be undone from here |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| styleId | string | yes | – |
No output schema declared.
No examples provided.
delete_variable ~69
Delete a variable. Requires confirm: true.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Must be true — this cannot be undone from here |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| variableId | string | yes | – |
No output schema declared.
No examples provided.
delete_variable_collection ~75
Delete a variable collection and everything in it. Requires confirm: true.
| Name | Type | Req | Description |
|---|---|---|---|
| collectionId | string | yes | – |
| confirm | boolean | yes | Must be true — this cannot be undone from here |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
No output schema declared.
No examples provided.
detach_instance ~50
Detach instances into plain frames.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| nodeIds | array | yes | – |
No output schema declared.
No examples provided.
duplicate_nodes ~84
Duplicate one or more nodes in place. The duplicates remain under the same parent as the originals. When multiple files are connected, specify fileKey.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| nodeIds | array | yes | List of node IDs to duplicate |
No output schema declared.
No examples provided.
export_assets ~663
Export every matching layer in a frame to a folder, e.g. all icon instances as SVG, exactly as Figma draws them on that screen, overrides included. Scans rootId with the filter (types, namePattern, size, stopAtMatch, default true) or takes explicit nodeIds; skips hidden layers; writes identical exports once; writes manifest.json with each node's bounds relative to rootId and its file. Stops early and says why if exports stall.
| Name | Type | Req | Description |
|---|---|---|---|
| clip | boolean | – | Use the node's logical bounds instead of its render bounds |
| dedupe | boolean | – | When two nodes export byte-identical files (ignoring generated SVG ids), write the file once and point the second at it in the manifest (default true) |
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| fileName | string | – | File name template without extension. Tokens: {name} {id} {index} {type} {x} {y} (x/y relative to rootId). Default '{name}__{id}' |
| format | string | – | Default SVG |
| includeHidden | boolean | – | Also match layers the design hides (default false; they render nothing) |
| limit | integer | – | Maximum nodes to export (default 500) |
| manifest | boolean | – | Write manifest.json listing every node, its bounds and its file (default true) |
| maxDepth | integer | – | Do not descend deeper than this |
| maxSize | number | – | Match only nodes whose larger side is at most this many px |
| minSize | number | – | Match only nodes whose larger side is at least this many px |
| namePattern | string | – | Case-insensitive regular expression the layer name must match |
| nodeIds | array | – | Export exactly these nodes instead of scanning (rootId still sets relative positions) |
| outputDir | string | yes | Directory to write into, relative to the MCP server's working directory (or inside FIGMA_BRIDGE_OUTPUT_ROOTS) |
| overwrite | boolean | – | Replace files that already exist (default false — existing files are reported, not touched) |
| rootId | string | – | Scan this node's subtree with the filter below and export every match |
| scale | number | – | Raster scale (default 2) |
| stopAtMatch | boolean | – | Do not look inside a node that matched — so an icon instance is returned whole, not also as its inner vectors |
| svgIdAttribute | boolean | – | SVG only: write layer names as id attributes (Figma default false) |
| svgOutlineText | boolean | – | SVG only: outline text as paths (Figma default true). False keeps <text> elements. |
| svgSimplifyStroke | boolean | – | SVG only: simplify inside/outside strokes (Figma default true) |
| timeoutMs | number | – | 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. |
| types | array | – | Node types to match, e.g. ['INSTANCE','VECTOR','BOOLEAN_OPERATION','TEXT','FRAME'] |
No output schema declared.
No examples provided.
export_frames_to_pdf ~161
Export frames as one multi-page PDF, one page per frame in the order given, written to disk.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| nodeIds | array | yes | Frames in page order |
| outputPath | string | yes | PDF file to write |
| overwrite | boolean | – | Replace files that already exist (default false — existing files are reported, not touched) |
| timeoutMs | number | – | 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. |
| title | string | – | PDF document title |
No output schema declared.
No examples provided.
export_image_fills ~126
Save the original images behind image fills in a subtree — the uploaded bitmaps, not a render — plus images.json listing which layers use each.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| nodeId | string | yes | Layer whose subtree's image fills are saved |
| outputDir | string | yes | Directory to write the original images into |
| overwrite | boolean | – | Replace files that already exist (default false — existing files are reported, not touched) |
No output schema declared.
No examples provided.
export_tokens ~153
Export the file's local variables (every mode) and colour/text/effect styles as W3C design-tokens JSON, CSS custom properties, or both, written to disk.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file to query. Required when multiple files are connected. Use list_files to see connected files. |
| format | string | – | W3C design-tokens JSON (default), CSS custom properties, or both |
| outputPath | string | yes | File to write (e.g. tokens.json or tokens.css); with format 'both' the extension is replaced |
| overwrite | boolean | – | Replace files that already exist (default false — existing files are reported, not touched) |
No output schema declared.
No examples provided.
find_replace_text ~116
Find and replace text in every text layer of a subtree (default: current page). dryRun previews.
| Name | Type | Req | Description |
|---|---|---|---|
| caseSensitive | boolean | – | – |
| dryRun | boolean | – | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| find | string | yes | – |
| regex | boolean | – | – |
| replace | string | – | – |
| rootId | string | – | Figma node ID, e.g. '4029:12345' |
No output schema declared.
No examples provided.
fix_design_system ~362
Apply lint_design_system's suggestions: bind solid fills/strokes to matching colour variables (or a paint style when the layer has one paint), bind auto-layout spacing/padding and corner radius to number variables with exactly the same value, and give unstyled text a text style whose font, size, line height and letter spacing match. Only binds when the variable resolves, in that layer's mode, to the same value (colours within maxDeltaE, default 2); re-checks each layer before changing it and reverts if Figma changed the result. dryRun defaults to true and returns the plan without changing anything; dryRun: false applies it and returns what changed and what was skipped and why. Changes the file when applied (design editor only).
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | Default true: plan only. Pass false to change the file. |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| includeInstanceChildren | boolean | – | Also look inside instances (default false: their insides come from the main component, so lint that instead) |
| limit | integer | – | Most layers with findings to collect (default 5000) |
| maxDeltaE | number | – | Largest colour change allowed when binding (CIEDE2000, default 2; 0 = exact only) |
| maxItems | integer | – | Most changes/skips listed in the reply (default 300) |
| nodeId | string | yes | Figma node ID, e.g. '4029:12345' |
| respectScopes | boolean | – | Only bind variables whose scopes allow the property (default true) |
| rules | array | – | Which fixes (default all four) |
No output schema declared.
No examples provided.
focus_slide ~74
Figma Slides: make a slide the focused one, as when it is opened in single-slide view.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| slideId | string | yes | The slide's node id, from get_slides |
No output schema declared.
No examples provided.
generate_component_docs ~246
Document a component or component set (an instance documents its main component): name, description, documentation links, property definitions with types, defaults and variant options, the variants, every variable (with its CSS custom property) and style used inside it, and optionally how many instances the file has. Returns markdown (default) or JSON; outputPath also writes it to a file, writeToCanvas also places a documentation frame beside the component (needs the design editor).
| Name | Type | Req | Description |
|---|---|---|---|
| countInstances | boolean | – | Count instances across the file (can be slow on big files; default false) |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| format | string | – | "markdown" (default) or "json" |
| nodeId | string | yes | Figma node ID, e.g. '4029:12345' |
| outputPath | string | – | Also write the result here (inside the allowed output folders) |
| overwrite | boolean | – | Replace an existing file at outputPath (default false) |
| writeToCanvas | boolean | – | Also create a documentation frame next to the component (default false) |
No output schema declared.
No examples provided.
generate_diagram ~238
FigJam: draw a Mermaid flowchart as real FigJam shapes, connectors and sections, laid out automatically. Supports flowchart/graph with TD, TB, BT, LR or RL; node shapes [rect], (round), {diamond}, ((circle)), ([stadium]), [(database)], {{hexagon}}, [[subroutine]], [/parallelogram/]; edges -->, ---, -.->, ==> with |label| or -- label -->; subgraphs become sections; %% comments. Styling (classDef, style, click) is skipped and reported in warnings. Returns the id of every shape, connector and section, keyed by Mermaid id. Up to 300 nodes.
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | – | Overrides the direction in the Mermaid header |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| mermaid | string | yes | Mermaid source, starting with e.g. "flowchart LR" |
| x | number | – | Left edge of the diagram (default: centred in view) |
| y | number | – | Top edge of the diagram |
No output schema declared.
No examples provided.
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 67 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 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 20 September 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.