Problem
Figma’s hosted MCP server allows only 6 tool calls per month on the Starter tier, and per-seat limits apply even on paid plans. That makes agent-assisted design work effectively impossible: a single palette audit burns the entire quota. Agents are left asking the designer to copy-paste exports by hand.
What I built
A Figma plugin paired with a local HTTP bridge, which together turn design-file operations into tools an AI agent can call directly outside the quota.
The plugin runs locally and pushes the selected frame’s structure to a loopback server on every selection change, so an agent reads the current design straight from disk. The same channel works in reverse: an agent enqueues a command, the plugin executes it against the file and returns the result.
Functionality is split into a core — bridge, selection capture, canvas highlighting — and independent tools.
Core: live selection push, canvas highlighting from the list, area pinning, targeting any node by id
Agent support: shared wire protocol with per-agent adapters — Claude and Cursor shipped, blueprint for adding others
Current set of tools
Palette: colour inventory with usage counts, hue-family grouping, tokenization status, merge into variables, collection generation, swatch boards
Typography: type combinations resolved per text run, family/size/spacing/case breakdown, text-style coverage, rewrite to a target combo, typography variables, specimen boards
Structure export: compact JSON tree with geometry and auto-layout, fill/hug sizing, gradients and effects, vector SVG, sibling collapsing with depth and node budgets, standalone HTML export, regex layer search
Token detaching: unbind colour variables, detach text styles and typography links, detach component instances — values preserved, irreversible actions gated
Each contributes its own operations, panel UI and agent-facing instructions. A blueprint template makes new skills copy-and-fill. Read operations are always available; anything that modifies the file requires explicit opt-in and defaults to a dry run.
Value
No quota. Plugin API calls are unmetered, so the 6-per-month ceiling that makes hosted MCP unusable simply disappears.
No copy-paste. The agent reads the live selection from disk and drives the plugin’s own tools directly — no exporting, pasting or describing the design by hand.
Auditable by default. Every write reports what it would touch before touching it, and irreversible actions demand explicit confirmation on top of the write opt-in.
Extensible. A new tool is one folder from a blueprint, not edits scattered across a monolith — and a new agent is a thin adapter over the same protocol.
