npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@impeterwayne/figma-mcp-android

v0.1.3

Published

Figma MCP server with read-only access via plugin bridge — no API token, no rate limits. 21 tools for design inspection.

Readme

Figma MCP Android

A Go stdio MCP server that connects AI clients to a local Figma Desktop plugin over WebSocket, with no Figma API token required. It focuses on read-heavy design inspection, lightweight exports, and includes an Android SVG to VectorDrawable conversion helper runtime for Android workflows.

This repo contains two cooperating pieces:

  • an MCP server for tools exposed over stdio
  • a Figma Desktop plugin that talks to the server on ws://127.0.0.1:1994 by default

Highlights

  • Read-focused bridge from AI clients to live Figma documents
  • No Figma REST API key required
  • Local plugin connection over WebSocket
  • 21 currently exposed tools for document inspection, metadata, search, exports, screenshots, and Android asset conversion
  • Design token export support
  • Screenshot export helpers, including direct file saves
  • Android VectorDrawable conversion via convert_svg_to_android_drawable
  • Go server with a bundled npm launcher package for MCP clients

Why this exists

Most Figma integrations rely on remote APIs, API tokens, or rate-limited access patterns. This project takes a different route. It bridges an MCP client to a local Figma plugin running inside Figma Desktop, so the model can inspect the document you already have open.

That makes it useful when you want to:

  • inspect pages, nodes, styles, variables, components, and annotations from an AI client
  • export screenshots or tokens without wiring up a separate API integration
  • convert exported or generated SVG into Android VectorDrawable XML as part of the same workflow
  • keep the connection local to your machine by default

Requirements

  • Node.js >=18
  • Figma Desktop
  • Go 1.26.1+ for server development
  • Bun for plugin development

Installation and setup

1. Start the MCP server with npx

Use the npm package name below in your MCP client config:

npx -y @impeterwayne/figma-mcp-android

The server key to use in MCP client configs is:

figma-mcp-android

By default, the server listens on:

127.0.0.1:1994

Warning: if you bind the server to a non-loopback address such as 0.0.0.0, it becomes reachable from the network and the current server does not provide authentication.

2. Configure your AI client

Claude Code

claude mcp add figma-mcp-android -- npx -y @impeterwayne/figma-mcp-android@latest

Project opencode.json

{
    "$schema": "https://opencode.ai/config.json",
    "mcp": {
        "figma-mcp-android": {
            "type": "local",
            "command": [
                "npx",
                "-y",
                "@impeterwayne/figma-mcp-android@latest"
            ],
            "enabled": true
        }
    }
}

VS Code / Cursor style JSON

{
  "mcpServers": {
    "figma-mcp-android": {
      "command": "npx",
      "args": ["-y", "@impeterwayne/figma-mcp-android@latest"]
    }
  }
}

3. Load the Figma plugin in Figma Desktop

  1. Open Figma Desktop.
  2. Go to Plugins, Development, Import plugin from manifest.
  3. Select plugin/manifest.json from this repo.
  4. Run the plugin in the file you want to inspect.
  5. Start your MCP client and connect through the configured figma-mcp-android server.

The plugin manifest in this repo points to the built plugin assets under plugin/dist/, and the bridge defaults to ws://127.0.0.1:1994.

Available tools

The current server exposes 21 tools.

Document and node inspection

  • get_document
  • get_pages
  • get_metadata
  • get_selection
  • get_node
  • get_nodes_info
  • get_design_context
  • search_nodes
  • scan_text_nodes
  • scan_nodes_by_types
  • get_reactions
  • get_viewport
  • get_fonts

Styles, variables, components, annotations, tokens

  • get_styles
  • get_variable_defs
  • get_local_components
  • get_annotations
  • export_tokens

Exports and Android helper

  • get_screenshot
  • save_screenshots
  • convert_svg_to_android_drawable

Notes on scope

This project is primarily a read-focused Figma bridge. It is built for inspection, context gathering, screenshots, token export, and Android drawable conversion. It should not be described as full write access, and it does not expose 73 tools.

Development

The server is written in Go and lives under cmd/ and internal/. The npm launcher package lives under npm/.

Useful commands from the repository root:

make build-npm
make validate-npm-pack
make test-go

Publishing

Build and validate the npm package before publishing:

make validate-npm-pack
cd npm
npm publish --access public

Because this is a scoped public package, the first publish usually needs --access public.

License

MIT. See the repository LICENSE file.