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 →
set_gradient_fill ~225
Replace a node's fill (or stroke) with a gradient paint. Provide ordered stops (position 0..1, hex color, optional alpha) and an optional 2x3 gradientTransform matching Figma's gradientTransform format. Useful for setting linear/radial/angular/diamond gradients programmatically.
| 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. |
| gradientStops | array | yes | Ordered list of gradient color stops (at least 2) |
| gradientTransform | array | – | 2x3 affine matrix [[a,b,tx],[c,d,ty]] mapping the unit gradient onto the shape (Figma's gradientTransform). Defaults to identity (horizontal left→right). |
| gradientType | string | – | Gradient family (default LINEAR) |
| nodeId | string | yes | The node ID to update |
| opacity | number | – | Overall paint opacity (default 1) |
| target | string | – | Apply to fills or strokes (default fill) |
No output schema declared.
No examples provided.
set_instance_properties ~106
Set an instance's component properties (variant values, boolean toggles, text, instance swaps). Keys can be plain names ('Label') or Figma's suffixed keys ('Label#12:0').
| 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' |
| properties | object | yes | – |
No output schema declared.
No examples provided.
set_node_properties ~205
Patch common node properties such as name, position, size, visibility, opacity, and corner radius. Only supported properties for the target node type may be changed. Use set_solid_fill or set_gradient_fill to change paints. 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 new node name |
| nodeId | string | yes | The node ID to update |
| opacity | number | – | Optional opacity from 0 to 1 |
| rotation | number | – | Optional rotation in degrees |
| visible | boolean | – | Optional visibility |
| width | number | – | Optional width |
| x | number | – | Optional x position |
| y | number | – | Optional y position |
No output schema declared.
No examples provided.
set_node_visibility ~99
Show or hide specific Figma nodes. Returns previous visibility for each node so you can restore them after. Useful for isolating a single layer before exporting: hide all siblings, export the frame, then restore visibility.
| 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. |
| items | array | yes | List of nodes with their target visibility |
No output schema declared.
No examples provided.
set_reactions ~88
Replace or append a layer's prototype interactions, using Figma's Reaction objects.
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| mode | string | – | – |
| nodeId | string | yes | Figma node ID, e.g. '4029:12345' |
| reactions | array | yes | – |
No output schema declared.
No examples provided.
set_selection ~90
Set the current page selection to a list of node IDs. Pass an empty array to clear the selection. Works in both design editor and Dev Mode.
| 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 | Node IDs to select. Pass [] to clear the selection. |
No output schema declared.
No examples provided.
set_slide_transition ~129
Figma Slides: set the transition that plays when this slide appears. Values left out keep the slide's current ones.
| Name | Type | Req | Description |
|---|---|---|---|
| curve | string | – | – |
| delay | number | – | With trigger AFTER_DELAY |
| duration | number | – | Length of the transition, as Figma's SlideTransition.duration |
| 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 |
| style | string | yes | – |
| trigger | string | – | – |
No output schema declared.
No examples provided.
set_solid_fill ~199
Replace a node's fill (or stroke) with a single solid paint. Provide a hex color and optional paint opacity — fillHex/fillOpacity are accepted as aliases. Use set_gradient_fill for gradient paints.
| 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 | – | Alias for hex, matching the create_* tools. Supply one of the two. |
| fillOpacity | number | – | Alias for opacity, matching the create_* tools |
| hex | string | – | Solid color as hex (e.g. '#FFAA00'). Required unless fillHex is given. |
| nodeId | string | yes | The node ID to update |
| opacity | number | – | Optional paint opacity from 0 to 1 (default 1) |
| target | string | – | Apply to fills or strokes (default fill) |
No output schema declared.
No examples provided.
set_stroke_properties ~182
Patch stroke geometry properties: weight, align, dash pattern, cap, join. Use set_solid_fill/set_gradient_fill with target='stroke' to set the paint itself.
| Name | Type | Req | Description |
|---|---|---|---|
| dashPattern | array | – | Dash pattern as [dash, gap, dash, gap, ...] in pixels. Pass [] for a solid stroke. |
| 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 update |
| strokeAlign | string | – | How the stroke is positioned relative to the geometry edge |
| strokeCap | string | – | End-cap style (only meaningful on open paths/lines) |
| strokeJoin | string | – | Corner join style |
| strokeWeight | number | – | Stroke thickness in pixels |
No output schema declared.
No examples provided.
set_text_content ~132
Update the contents of a single text node. The plugin loads the node's fonts before applying the new text. Accepts either text or characters. When multiple files are connected, specify fileKey.
| Name | Type | Req | Description |
|---|---|---|---|
| characters | string | – | Alias for text, matching create_text. Supply one of the two. |
| 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 text node ID to update |
| text | string | – | The new text content. Required unless characters is given. |
No output schema declared.
No examples provided.
set_text_properties ~266
Patch common text properties such as font family/style, size, alignment, auto-resize, line height, letter spacing, fill color, and bounds. 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 text fill color as hex |
| fillOpacity | number | – | Optional text fill opacity from 0 to 1 |
| fontFamily | string | – | Optional font family |
| fontSize | number | – | Optional font size |
| fontStyle | string | – | Optional font style |
| height | number | – | Optional height |
| letterSpacingPx | number | – | Optional letter spacing in pixels |
| lineHeightPx | number | – | Optional line height in pixels |
| nodeId | string | yes | The text node ID to update |
| textAlignHorizontal | string | – | Optional horizontal alignment |
| textAlignVertical | string | – | Optional vertical 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.
set_timeline_duration ~118
Sets the duration (in seconds) for a timeline. When multiple files are connected, specify fileKey.
| Name | Type | Req | Description |
|---|---|---|---|
| duration | number | yes | The new timeline duration in seconds (must be greater than zero) |
| 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 whose timeline duration will be changed |
| timelineId | string | yes | A timeline id read from the node's timelines array |
No output schema declared.
No examples provided.
set_variable_value ~71
Set a variable's value for one mode (mode id or name).
| Name | Type | Req | Description |
|---|---|---|---|
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| modeId | string | yes | – |
| value | – | – | – |
| variableId | string | yes | – |
No output schema declared.
No examples provided.
swap_component ~99
Swap an instance to another component, keeping overrides where Figma can.
| Name | Type | Req | Description |
|---|---|---|---|
| componentId | – | – | Figma node ID, e.g. '4029:12345' |
| componentKey | string | – | – |
| 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' |
No output schema declared.
No examples provided.
ungroup_node ~101
Ungroup a group or frame — its children move up to its parent and the wrapper is removed. Returns the IDs of the orphaned children in their new parent.
| 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 | Group or frame to ungroup. Children move up to its parent and the wrapper is removed. |
No output schema declared.
No examples provided.
update_style ~145
Update a local style's name, description, colour, type settings, effects or grids.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| effects | array | – | – |
| fileKey | string | – | The fileKey of the Figma file. Required when several files are connected; see list_files. |
| fontFamily | string | – | – |
| fontSize | number | – | – |
| fontStyle | string | – | – |
| hex | string | – | – |
| layoutGrids | array | – | – |
| letterSpacing | number | – | – |
| lineHeight | number | – | – |
| name | string | – | – |
| opacity | number | – | – |
| styleId | string | yes | – |
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.