@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.
Maintainers
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:1994by 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-androidThe server key to use in MCP client configs is:
figma-mcp-androidBy default, the server listens on:
127.0.0.1:1994Warning: 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@latestProject 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
- Open Figma Desktop.
- Go to Plugins, Development, Import plugin from manifest.
- Select
plugin/manifest.jsonfrom this repo. - Run the plugin in the file you want to inspect.
- Start your MCP client and connect through the configured
figma-mcp-androidserver.
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_documentget_pagesget_metadataget_selectionget_nodeget_nodes_infoget_design_contextsearch_nodesscan_text_nodesscan_nodes_by_typesget_reactionsget_viewportget_fonts
Styles, variables, components, annotations, tokens
get_stylesget_variable_defsget_local_componentsget_annotationsexport_tokens
Exports and Android helper
get_screenshotsave_screenshotsconvert_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-goPublishing
Build and validate the npm package before publishing:
make validate-npm-pack
cd npm
npm publish --access publicBecause this is a scoped public package, the first publish usually needs --access public.
License
MIT. See the repository LICENSE file.
