by gethopp
Figma Plugin & MCP server to bypass API limits
# Add to your Claude Code skills
git clone https://github.com/gethopp/figma-mcp-bridgeGuides for using mcp servers skills like figma-mcp-bridge.
Last scanned: 6/26/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-06-26T07:51:56.867Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how figma-mcp-bridge compares with popular alternatives.
figma-mcp-bridge is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by gethopp. Figma Plugin & MCP server to bypass API limits. It has 899 GitHub stars.
Yes. figma-mcp-bridge passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/gethopp/figma-mcp-bridge" and add it to your Claude Code skills directory (see the Installation section above).
figma-mcp-bridge is primarily written in TypeScript. It is open-source under gethopp on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh figma-mcp-bridge against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Based on votes and bookmarks from developers who liked this skill
From $49 · 30 days · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
[!NOTE]
Requires the Figma desktop app (macOS/Windows). The browser version of Figma does not support importing development plugins.
While other amazing Figma MCP servers like Figma-Context-MCP exist, one issues is the API limiting for free users.
The limit for free accounts is 6 requests per month, yes per month.
Figma MCP Bridge is a solution to this problem. It is a plugin + MCP server that streams live Figma document data to AI tools without hitting Figma API rate limits, so its Figma MCP for the rest of us ✊
It supports multiple Figma files connected simultaneously; open the plugin in each file and your AI agent can query any of them by fileKey. Single-file setups work exactly as before with no changes required.
It also includes a small, opt-in set of write tools for safe agent-driven edits — see Editing Notes below.
Watch a demo of building a UI in Cursor with Figma MCP Bridge
Add the following to your AI tool's MCP configuration (e.g. Cursor, Windsurf, Claude Desktop):
{
"figma-bridge": {
"command": "npx",
"args": ["-y", "@gethopp/figma-mcp-bridge"]
}
}
That's it — no binaries to download or install.
Download the plugin from the latest release page, then in Figma go to Plugins > Development > Import plugin from manifest and select the manifest.json file from the plugin/ folder. The same plugin runs in Figma design files, Dev Mode (read-only), and FigJam boards.
Open a Figma file, run the plugin, and start prompting your AI tool. The MCP server will automatically connect to the plugin.
To work across multiple files, just open the plugin in each Figma file. The bridge keeps all connections active and your AI agent can target any of them by fileKey.
If you want to know more about how it works, read the How it works section.
| Tool | Description |
|---|---|
list_files |
List all connected Figma files (supports multi-file workflows) |
get_document |
Get the current Figma page document tree |
get_selection |
Get the currently selected nodes in Figma |
get_node |
Get a specific Figma node by ID (colon format, e.g. 4029:12345) |
get_prototype_connections |
Read prototype interactions on a node and its descendants |
trace_prototype_flow |
Trace prototype navigation between screens |
get_styles |
Get all local paint, text, effect, and grid styles |
get_metadata |
Get file name, pages, and current page info |
get_design_context |
Get a depth-limited tree optimized for understanding design context |
get_variable_defs |
Get all variable collections, modes, and values (design tokens) |
get_screenshot |
Export nodes as PNG/SVG/JPG/PDF (base64-encoded) |
save_screenshots |
Export and save screenshots directly to the local filesystem |
get_motion_styles |
List all available animation presets (beta) |
get_node_motion |
Read a node's current animation styles and properties (beta) |
apply_animation_style |
Apply a preset animation style to a node (beta) |
remove_animation_style |
Remove an applied animation style from a node (beta) |
apply_manual_keyframe_track |
Apply a manual keyframe track to a node property (beta) |
remove_manual_keyframe_track |
Remove a manual keyframe track from a node property (beta) |
set_timeline_duration |
Set the duration of a timeline in seconds (beta) |
set_node_visibility |
Show or hide specific nodes |
set_text_content |
Replace the contents of a text node (TEXT, FigJam sticky, or shape label) |
set_text_properties |
Patch font, size, alignment, auto-resize, color, and bounds on text nodes/sublayers |
set_node_properties |
Patch common node properties: name, position, size, visibility, opacity, corner radius (single or batch) |
set_solid_fill |
Replace a node's fill or stroke with a single solid paint |
set_gradient_fill |
Replace a node's fill or stroke with a linear/radial/angular/diamond gradient |
set_effects |
Replace a node's effects list (drop/inner shadows, layer/background blurs) |
set_stroke_properties |
Patch stroke weight, align, dash pattern, cap, and join |
set_auto_layout |
Configure auto-layout direction, padding, gap, alignment, sizing, and wrap (not sections) |
create_page |
Create a new page in the document, optionally switching to it |
create_frame |
Create a new frame, optionally under a parent |
create_section |
Create a section — a named, resizable container (Figma and FigJam) |
create_text |
Create a new text node |
create_shape |
Create a rectangle, ellipse, or line |
create_shape_with_text |
Create a FigJam shape with its own text label (SHAPE_WITH_TEXT), incl. text fill |
create_image |
Create an image-backed rectangle from a local path, URL, or data URI |
create_svg |
Import raw SVG markup or a workspace-local SVG file as editable vector layers |
create_sticky |
Create a sticky note in FigJam |
create_connector |
Create a connector between two nodes in FigJam, with attachment anchors |
import_html_layers |
Bulk-import an html-figma layer tree (JSON) as frames, text, rectangles, and vectors |
duplicate_nodes |
Duplicate nodes in place |
duplicate_with_offset |
Duplicate nodes and move each duplicate by a fixed offset |
fit_to_content |
Resize a SECTION around its children with optional padding |
distribute_horizontally |
Space 3+ nodes with equal horizontal gaps (first/last stay fixed) |
distribute_vertically |
Space 3+ nodes with equal vertical gaps (first/last stay fixed) |
align_to_grid |
Snap node positions to a grid of the given size |
place_below |
Move a node below another with gap and start/center alignment |
place_right_of |
Move a node to the right of another with gap and start/center alignment |
reparent_nodes |
Move nodes into another parent |
group_nodes |
Wrap a list of nodes (sharing a parent) in a new group |