Skip to content

cyber-figma

A CLI, a local MCP server, and an agent plugin for the Figma REST API — built for AI-assisted workflows.

CLI

cyber-figma <resource> <action> for terminals, scripts, and agents that shell out. CLI reference →

MCP server

A local stdio Model Context Protocol server exposing figma_* tools. MCP reference →

Agent plugin

The published npm package is the plugin root — skills, MCP config, and manifests ship together. Agent skills →

Agent-friendly output

Token-efficient TOON output, minimal default schemas, structured errors, and definitive empty states.

The CLI and the MCP server call the same core operations, so nothing is CLI-only or MCP-only.

The Figma REST API is unusually uneven, and most of the sharp edges are invisible until production:

  • Four different pagination models across the endpoint families — full-URL links, integer id-cursors, opaque cursors with a next_page boolean, and opaque cursors with a differently-named boolean. Most endpoints do not paginate at all and return the entire set in one response.
  • Access is an intersection, not a single check: the plan the resource lives in, the seat type of the user, the auth mode of the token, and the token’s scopes. See Plans and limits.
  • An expired token answers 403, not 401 — so the obvious error handling reports “permission denied” for what is really “generate a new token”.
  • Rate limits are seat-based. A View or Collab seat gets roughly 6 GET file calls per month, on every plan including Enterprise.

cyber-figma normalizes those into one pagination shape, one error shape, and messages that name the actual cause.