跳到正文
plugmcp
目录技能分类博客
EN/中文
登录注册
Directory/io.github.alvinindra
F
MCP serverOfficial registry

Figma MCP Rust

Figma MCP server in Rust: plugin bridge, no API token, no rate limits, 73 tools.

by io.github.alvinindrav0.2.1GitHubnpm
接入你的智能体

添加此服务器

The publisher's own command. Not a PlugMCP endpoint.

Local command
npx -y @alvinindra/[email protected]
Provider
Claude Code
claude mcp add io.github.alvinindra-figma-mcp-rust -- npx -y @alvinindra/[email protected]

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.alvinindra-figma-mcp-rust": {
      "command": "npx",
      "args": [
        "-y",
        "@alvinindra/[email protected]"
      ]
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

在 PlugMCP 上运行

用我们的密钥与日志托管一份副本。

这是你新建的服务器,不是此条目的官方端点。若要用发布方的 URL 与凭证,请使用上方安装面板。

启动
Related MCP

More like this

View more
  • Firecrawl

    firecrawl

    🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.

    7.6k starsRemotebatch-processingclaude
  • N

    Notion

    Official
plugmcp

把任意工具接入任意智能体。面向非开发者的 MCP 服务器目录;网关承载流量,n8n 承载应用。

PlugMCP, 2026

产品
  • 浏览
  • 安装
  • 自行托管
  • 语音模式
  • 浏览器
目录
  • 全部 MCP 服务器
  • 智能体技能
  • 分类
  • 新品
  • 语音
  • 提交服务器
开发者
  • 文档
  • 博客
  • 什么是 MCP
  • 什么是 WebMCP
  • 状态
公司
  • 关于
  • 联系
  • 条款
  • 隐私
  • 数据处理协议
  • [email protected]
io.github.awkoy

Token-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.

175 starsLocal
  • Context7

    upstash

    Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

    63k starsRemotevibe-coding
  • Figma MCP server in Rust: plugin bridge, no API token, no rate limits, 73 tools.

    推荐
    • Firecrawl🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
    • N
      NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
    • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

    figma-mcp-rust

    A high-performance Rust port of vkhanhqui/figma-mcp-go. All credit for the original design, the Figma plugin bridge, and the tool catalogue goes to @vkhanhqui. This repo migrates that same MCP server to Rust with structured logging, race-free request correlation, and a declarative tool table; see "What changed in the Rust rewrite" below.

    Figma MCP: Free, No Rate Limits

    Open-source Figma MCP server with full read/write access via plugin. No REST API, no rate limits. Turn text into designs and designs into real code. Works with Cursor, Claude, GitHub Copilot, and any MCP-compatible AI tool.

    Highlights

    • No Figma API token required
    • No rate limits, free plan friendly
    • Read and Write live Figma data via plugin bridge, 73 tools in total
    • Full design automation: styles, variables, components, prototypes, and content
    • Design strategies built in as MCP prompts, plus matching Claude Code skills

    Why this exists

    Most Figma MCP servers rely on the Figma REST API.

    That sounds fine until you hit this:

    PlanLimit
    Starter / View / Collab6 tool calls/month
    Pro / Org (Dev seat)200 tool calls/day
    Enterprise600 tool calls/day

    If you're experimenting with AI tools, you'll burn through that in minutes.

    I didn't have enough money to pay for higher limits. So I built something that doesn't use the API at all.

    推荐
    • Firecrawl🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
    • N
      NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
    • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

    No FAQ yet. Enrichment fills this from the README on the next crawl.

    推荐
    • Firecrawl🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
    • N
      NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
    • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

    No tool list yet. Remote servers get one after the first health check.

    推荐
    • Firecrawl🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
    • N
      NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
    • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

    Installation & Setup

    Install via npx, no build step required.

    1. Configure your AI tool

    Claude Code CLI

    claude mcp add -s project figma-mcp-rust -- npx -y @alvinindra/figma-mcp-rust@latest
    

    Claude Code plugin marketplace

    /plugin marketplace add alvinindra/figma-mcp-rust
    /plugin install figma-mcp-rust@figma-mcp-rust
    

    Installing the plugin also adds 13 skills covering the workflows below, from reading designs to generating tokens and troubleshooting the bridge.

    Codex CLI

    codex mcp add figma-mcp-rust -- npx -y @alvinindra/figma-mcp-rust@latest
    

    .mcp.json (Claude and other MCP-compatible tools)

    {
      "mcpServers": {
        "figma-mcp-rust": {
          "command": "npx",
          "args": ["-y", "@alvinindra/figma-mcp-rust"]
        }
      }
    }
    

    .vscode/mcp.json (Cursor / VS Code / GitHub Copilot)

    {
      "servers": {
        "figma-mcp-rust": {
          "type": "stdio",
          "command": "npx",
          "args": [
            "-y",
            "@alvinindra/figma-mcp-rust"
          ]
        }
      }
    }
    

    2. Install the Figma plugin

    1. In Figma Desktop: Plugins → Development → Import plugin from manifest
    2. Select manifest.json from the plugin.zip
    3. Run the plugin inside any Figma file

    Available Tools

    Write: Create

    ToolDescription
    create_frameCreate a frame with optional auto-layout, fill, and parent
    create_rectangleCreate a rectangle with optional fill and corner radius
    create_ellipseCreate an ellipse or circle
    create_textCreate a text node (font loaded automatically)
    import_imageDecode base64 image and place it as a rectangle fill
    create_componentConvert an existing FRAME node into a reusable component
    create_sectionCreate a Figma Section node to organise frames on a page

    Write: Modify

    ToolDescription
    set_textUpdate text content of an existing TEXT node
    set_fillsSet solid fill color (hex) on a node
    set_strokesSet solid stroke color and weight on a node
    set_opacitySet opacity of one or more nodes (0 = transparent, 1 = opaque)
    set_corner_radiusSet corner radius, uniform or per-corner
    set_auto_layoutSet or update auto-layout (flex) properties on a frame
    set_visibleShow or hide one or more nodes
    lock_nodesLock one or more nodes to prevent accidental edits
    unlock_nodesUnlock one or more nodes
    rotate_nodesSet absolute rotation in degrees on one or more nodes
    reorder_nodesChange z-order: bringToFront, sendToBack, bringForward, sendBackward
    set_blend_modeSet blend mode (MULTIPLY, SCREEN, OVERLAY, and more) on one or more nodes
    set_constraintsSet responsive constraints { horizontal, vertical } on one or more nodes
    move_nodesMove nodes to an absolute x/y position
    resize_nodesResize nodes by width and/or height
    rename_nodeRename a node
    clone_nodeClone a node, optionally repositioning or reparenting
    reparent_nodesMove nodes to a different parent frame, group, or section
    batch_rename_nodesBulk rename nodes via find/replace, regex, or prefix/suffix
    find_replace_textFind and replace text across all TEXT nodes in a subtree or page; supports regex

    Write: Delete

    ToolDescription
    delete_nodesDelete one or more nodes permanently

    Write: Prototype

    ToolDescription
    set_reactionsSet prototype reactions (triggers + actions) on a node; mode replace or append
    remove_reactionsRemove all or specific reactions by zero-based index from a node

    Write: Styles

    ToolDescription
    set_effectsApply drop shadow / blur effects directly on a node (no style required)
    create_paint_styleCreate a named paint style with a solid color
    create_text_styleCreate a named text style with font, size, and spacing
    create_effect_styleCreate a named effect style (drop shadow, inner shadow, blur)
    create_grid_styleCreate a named layout grid style (columns, rows, or grid)
    update_paint_styleRename or recolor an existing paint style
    apply_style_to_nodeApply an existing local style to a node, linking it to that style
    delete_styleDelete any style (paint, text, effect, or grid) by ID

    Write: Variables

    ToolDescription
    create_variable_collectionCreate a new local variable collection with an optional initial mode
    add_variable_modeAdd a new mode to an existing collection (e.g. Light/Dark)
    create_variableCreate a variable (COLOR/FLOAT/STRING/BOOLEAN) in a collection
    set_variable_valueSet a variable's value for a specific mode
    bind_variable_to_nodeBind a variable to a node property; supports fillColor, strokeColor, visible, opacity, rotation, width, height, corner radii, spacing, and more
    delete_variableDelete a variable or an entire collection

    Write: Pages

    ToolDescription
    add_pageAdd a new page to the document (optional name and index)
    delete_pageDelete a page by ID or name (cannot delete the only page)
    rename_pageRename a page by ID or current name

    Write: Components & Navigation

    ToolDescription
    navigate_to_pageSwitch the active Figma page by ID or name
    group_nodesGroup two or more nodes into a GROUP
    ungroup_nodesUngroup GROUP nodes, moving children to the parent
    swap_componentSwap the main component of an INSTANCE node
    detach_instanceDetach component instances, converting them to plain frames

    Read: Document & Selection

    ToolDescription
    get_documentFull current page tree
    get_metadataFile name, pages, current page
    get_pagesAll pages (IDs + names), lightweight, no tree loading
    get_selectionCurrently selected nodes
    get_nodeSingle node by ID
    get_nodes_infoMultiple nodes by ID
    get_design_contextDepth-limited tree with detail level (minimal/compact/full)
    search_nodesFind nodes by name substring and/or type within a subtree
    scan_text_nodesAll text nodes in a subtree
    scan_nodes_by_typesNodes matching given type list
    get_viewportCurrent viewport center, zoom, and visible bounds

    Read: Styles & Variables

    ToolDescription
    get_stylesPaint, text, effect, and grid styles
    get_variable_defsVariable collections and values
    get_local_componentsAll components + component sets with variant properties
    get_annotationsDev-mode annotations
    get_fontsAll fonts used on the current page, sorted by frequency
    get_reactionsPrototype/interaction reactions on a node

    Export

    ToolDescription
    get_screenshotBase64 image export of any node
    save_screenshotsExport images to disk (server-side, no API call)
    export_frames_to_pdfExport multiple frames as a single multi-page PDF file saved to disk
    export_tokensExport design tokens (variables + paint styles) as JSON or CSS

    MCP Prompts

    PromptDescription
    read_design_strategyBest practices for reading Figma designs
    design_strategyBest practices for creating and modifying designs
    text_replacement_strategyChunked approach for replacing text across a design
    annotation_conversion_strategyConvert manual annotations to native Figma annotations
    swap_overrides_instancesTransfer overrides between component instances
    reaction_to_connector_strategyMap prototype reactions into interaction flow diagrams
    style_audit_strategyFind nodes using raw values instead of linked styles or variables
    bulk_rename_strategyRename nodes to follow a consistent naming convention
    design_token_generation_strategyBuild a variable and style token system from an existing design
    generate_color_paletteCreate a primitive color scale plus semantic aliases as variables
    generate_type_scaleCreate a full typographic scale as text styles
    generate_component_variantsClone a component into size, theme, state, or dark-mode variants

    Each prompt is also available as a Claude Code skill when the server is installed through the plugin marketplace, alongside a bridge-troubleshooting skill for connection issues.


    Related Projects

    • vkhanhqui/figma-mcp-go, the Go original
    • magic-spells/figma-mcp-bridge
    • grab/cursor-talk-to-figma-mcp
    • gethopp/figma-mcp-bridge

    What changed in the Rust rewrite

    • Memory-safe websocket bridge: request/response correlation uses tokio::sync::oneshot instead of Go channels guarded by sync.Once, removing the send-on-closed-channel race.
    • Declarative tool table: all 73 tool registrations live in a single static array (src/tools/definitions.rs) instead of ~700 lines of repetitive Go handlers. New tools are added by appending one entry plus an optional JSON Schema builder.
    • Structured logging via tracing: every component emits per-target events (bridge, leader, follower, election, node) at adjustable levels. Set FIGMA_MCP_LOG=debug for verbose output.
    • thiserror-based error types instead of formatted strings, so callers can match on specific failure modes (NotConnected, Timeout, etc.).
    • Pure-Rust PDF merging via lopdf, no external CLI dependency.
    • First-class CLI via clap with derived help text and validation.

    Contributing

    Issues and PRs are welcome.

    Star History