← Back to search

@gethopp/figma-mcp-bridge

GitHub Actions Scanned 5d ago

MCP server that bridges Figma plugin data to AI tools without hitting API rate limits

C
73.9 / 100

Versions

0.0.18latest
Jul 26, 2026
0.0.17
Jul 12, 2026
0.0.16
Jun 25, 2026
0.0.15
Jun 15, 2026
0.0.14
Jun 7, 2026
+ show 13 moreshow less
0.0.13
May 27, 2026
0.0.12
Apr 24, 2026
0.0.11
Apr 7, 2026
0.0.10
Apr 5, 2026
0.0.9
Mar 17, 2026
0.0.8
Mar 5, 2026
0.0.7
Feb 22, 2026
0.0.6
Feb 21, 2026
0.0.5
Feb 8, 2026
0.0.4
Feb 8, 2026
0.0.3
Feb 8, 2026
0.0.2
Feb 8, 2026
0.0.1
Feb 8, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 37

list_files
annotations: none low

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

get_document
annotations: none low

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

get_selection
annotations: none low

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

get_node
annotations: none low

Get a specific Figma node by ID. Accepts top-level IDs like

get_styles
annotations: none low

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

get_metadata
annotations: none low

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

get_design_context
annotations: none low

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.

get_variable_defs
annotations: none low

Get all local variable definitions including variable collections, modes, and variable values. Variables are Figma

get_screenshot
annotations: none low

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

set_node_visibility
annotations: none low

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.

set_text_content
annotations: none low

Update the contents of a single text node. The plugin loads the node

set_text_properties
annotations: none low

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.

set_node_properties
annotations: none low

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.

set_solid_fill
annotations: none low

Replace a node

set_gradient_fill
annotations: none low

Replace a node

set_effects
annotations: none low

Replace a node

set_stroke_properties
annotations: none low

Patch stroke geometry properties: weight, align, dash pattern, cap, join. Use set_solid_fill/set_gradient_fill with target=

set_auto_layout
annotations: none low

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

create_frame
annotations: none low

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.

create_text
annotations: none low

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.

create_shape
annotations: none low

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.

create_image
annotations: none low

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.

duplicate_nodes
annotations: none low

Duplicate one or more nodes in place. The duplicates remain under the same parent as the originals. When multiple files are connected, specify fileKey.

reparent_nodes
annotations: none low

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

group_nodes
annotations: none low

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

ungroup_node
annotations: none low

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.

set_selection
annotations: none low

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.

scroll_and_zoom_into_view
annotations: none low

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

delete_nodes
annotations: none low

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.

get_motion_styles
annotations: none low

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

get_node_motion
annotations: none low

Read a node

apply_animation_style
annotations: none low

Apply a preset animation style to a node (Motion API beta). When multiple files are connected, specify fileKey.

remove_animation_style
annotations: none low

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.

apply_manual_keyframe_track
annotations: none low

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.

remove_manual_keyframe_track
annotations: none low

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

set_timeline_duration
annotations: none low

Sets the duration (in seconds) for a timeline. When multiple files are connected, specify fileKey.

save_screenshots
annotations: none low

Export screenshots for multiple nodes and save them directly to the local filesystem. Returns metadata only (no base64). When multiple files are connected, specify fileKey.

Permissions 1

network medium
Server uses network capabilities via: fetch()

Scan Findings 98

low
Tool 'list_files' has no annotations annotation_checker · 100%
low
Tool 'get_document' has no annotations annotation_checker · 100%
low
Tool 'get_selection' has no annotations annotation_checker · 100%
low
Tool 'get_node' has no annotations annotation_checker · 100%
low
Tool 'get_styles' has no annotations annotation_checker · 100%
low
Tool 'get_metadata' has no annotations annotation_checker · 100%
low
Tool 'get_design_context' has no annotations annotation_checker · 100%
low
Tool 'get_variable_defs' has no annotations annotation_checker · 100%
low
Tool 'get_screenshot' has no annotations annotation_checker · 100%
low
Tool 'set_node_visibility' has no annotations annotation_checker · 100%
low
Tool 'set_text_content' has no annotations annotation_checker · 100%
low
Tool 'set_text_properties' has no annotations annotation_checker · 100%
low
Tool 'set_node_properties' has no annotations annotation_checker · 100%
low
Tool 'set_solid_fill' has no annotations annotation_checker · 100%
low
Tool 'set_gradient_fill' has no annotations annotation_checker · 100%
low
Tool 'set_effects' has no annotations annotation_checker · 100%
low
Tool 'set_stroke_properties' has no annotations annotation_checker · 100%
low
Tool 'set_auto_layout' has no annotations annotation_checker · 100%
low
Tool 'create_frame' has no annotations annotation_checker · 100%
low
Tool 'create_text' has no annotations annotation_checker · 100%
low
Tool 'create_shape' has no annotations annotation_checker · 100%
low
Tool 'create_image' has no annotations annotation_checker · 100%
low
Tool 'duplicate_nodes' has no annotations annotation_checker · 100%
low
Tool 'reparent_nodes' has no annotations annotation_checker · 100%
low
Tool 'group_nodes' has no annotations annotation_checker · 100%
low
Tool 'ungroup_node' has no annotations annotation_checker · 100%
low
Tool 'set_selection' has no annotations annotation_checker · 100%
low
Tool 'scroll_and_zoom_into_view' has no annotations annotation_checker · 100%
low
Tool 'delete_nodes' has no annotations annotation_checker · 100%
low
Tool 'get_motion_styles' has no annotations annotation_checker · 100%
low
Tool 'get_node_motion' has no annotations annotation_checker · 100%
low
Tool 'apply_animation_style' has no annotations annotation_checker · 100%
low
Tool 'remove_animation_style' has no annotations annotation_checker · 100%
low
Tool 'apply_manual_keyframe_track' has no annotations annotation_checker · 100%
low
Tool 'remove_manual_keyframe_track' has no annotations annotation_checker · 100%
low
Tool 'set_timeline_duration' has no annotations annotation_checker · 100%
low
Tool 'save_screenshots' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Suspicious package name: react-dom dependency_analyzer · 60%
medium
Vulnerable dependency: ws@8.18.0 (GHSA-58qx-3vcg-4xpx) dependency_analyzer · 95%
medium
Vulnerable dependency: ws@8.18.0 (GHSA-96hv-2xvq-fx4p) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-356w-63v5-8wf4) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-4r4m-qw57-chr8) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-4w7w-66w2-5vf9) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-859w-5945-r5v3) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-93m4-6634-74q7) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-c27g-q93r-2cwf) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-fx2h-pf6j-xcff) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-g4jq-h2w9-997c) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-jqfw-vq24-v9c3) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-v6wh-96g9-6wx3) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-vg6x-rcgg-rjx6) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-x574-m823-4x7w) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.4.8 (GHSA-xcj6-pq6g-qj4x) dependency_analyzer · 95%
medium
Buffer.from base64 in gethopp-figma-mcp-bridge-1218122/server/src/tools.ts:1167 entropy_analyzer · 75%
info
package.json metadata manifest_parser · 100%
info
Tool: list_files manifest_parser · 70%
info
Tool: get_document manifest_parser · 70%
info
Tool: get_selection manifest_parser · 70%
info
Tool: get_node manifest_parser · 70%
info
Tool: get_styles manifest_parser · 70%
info
Tool: get_metadata manifest_parser · 70%
info
Tool: get_design_context manifest_parser · 70%
info
Tool: get_variable_defs manifest_parser · 70%
info
Tool: get_screenshot manifest_parser · 70%
info
Tool: set_node_visibility manifest_parser · 70%
info
Tool: set_text_content manifest_parser · 70%
info
Tool: set_text_properties manifest_parser · 70%
info
Tool: set_node_properties manifest_parser · 70%
info
Tool: set_solid_fill manifest_parser · 70%
info
Tool: set_gradient_fill manifest_parser · 70%
info
Tool: set_effects manifest_parser · 70%
info
Tool: set_stroke_properties manifest_parser · 70%
info
Tool: set_auto_layout manifest_parser · 70%
info
Tool: create_frame manifest_parser · 70%
info
Tool: create_text manifest_parser · 70%
info
Tool: create_shape manifest_parser · 70%
info
Tool: create_image manifest_parser · 70%
info
Tool: duplicate_nodes manifest_parser · 70%
info
Tool: reparent_nodes manifest_parser · 70%
info
Tool: group_nodes manifest_parser · 70%
info
Tool: ungroup_node manifest_parser · 70%
info
Tool: set_selection manifest_parser · 70%
info
Tool: scroll_and_zoom_into_view manifest_parser · 70%
info
Tool: delete_nodes manifest_parser · 70%
info
Tool: get_motion_styles manifest_parser · 70%
info
Tool: get_node_motion manifest_parser · 70%
info
Tool: apply_animation_style manifest_parser · 70%
info
Tool: remove_animation_style manifest_parser · 70%
info
Tool: apply_manual_keyframe_track manifest_parser · 70%
info
Tool: remove_manual_keyframe_track manifest_parser · 70%
info
Tool: set_timeline_duration manifest_parser · 70%
info
Tool: save_screenshots manifest_parser · 70%
info
Transport: stdio manifest_parser · 90%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
info
SBOM generated: 16 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%