MCP Hub
Back to servers

figmanage

Figma workspace management CLI. 85 commands for seats, teams, permissions, and org admin.

Registry
Updated
Mar 18, 2026

Quick Install

npx -y figmanage

figmanage

Figma workspace management from the command line. 85 commands for seats, teams, permissions, billing, onboarding, and org admin. Also works as an MCP server for AI assistants.

install

npm install -g figmanage

setup

figmanage login

Extracts your Chrome session cookie, prompts for a PAT, and stores credentials locally at ~/.config/figmanage/. One-time setup -- no env vars, no JSON config editing.

figmanage whoami    # verify auth
figmanage logout    # clear credentials

usage

figmanage seat-optimization                      # find inactive paid seats
figmanage offboard sarah@co.com                  # audit what a user owns
figmanage offboard sarah@co.com --execute \
  --transfer-to jake@co.com                      # execute the offboarding
figmanage onboard alex@co.com --teams 123,456 \
  --role editor --seat full --confirm            # set up a new hire
figmanage quarterly-report                       # org-wide design ops snapshot
figmanage members --search danny                 # find org members
figmanage teams                                  # list all teams
figmanage permissions file abc123                # who has access to a file
figmanage permission-audit --scope team --id 789 # audit a team's permissions
figmanage branch-cleanup 573408414               # find stale branches

All commands output JSON when piped or when --json is passed.

AI integration (MCP)

figmanage runs as an MCP server for Claude, ChatGPT, Cursor, and other AI assistants:

# Claude Code
claude mcp add figmanage -- npx -y figmanage --mcp

# Claude Desktop / Cowork
# Add to claude_desktop_config.json:
{
  "mcpServers": {
    "figmanage": {
      "command": "npx",
      "args": ["-y", "figmanage", "--mcp"]
    }
  }
}

Credentials are read from ~/.config/figmanage/ (set up via figmanage login). Env vars (FIGMA_PAT, FIGMA_AUTH_COOKIE, etc.) override the config file for backwards compatibility.

MCP mode exposes all 85 tools to the AI assistant. HTTP transport available via --mcp --http <port>.

toolset presets (MCP only)

Use FIGMA_TOOLSETS to expose only specific tool groups:

PresetToolsets
starternavigate, reading, comments, export
adminnavigate, org, permissions, analytics, teams, libraries
readonlynavigate, reading, comments, export, components, versions
fulleverything (default)

auth

figmanage uses two Figma API surfaces:

ClientAuthCapabilities
Internal APISession cookieWorkspace management, search, permissions, org admin, seats, billing
Public APIPersonal Access TokenComments, export, file reading, components, versions, webhooks, variables

Cookie auth unlocks all 85 tools. PAT-only gives ~30 (reading, comments, export, components). Both together is recommended.

Auth resolution: env vars > config file > prompt to run figmanage login.

commands

navigate (10)

CommandAuthDescription
check_autheitherValidate PAT and cookie authentication
list_orgscookieList available Figma workspaces
switch_orgcookieSwitch active workspace for this session
list_teamscookieList teams in your org
list_projectseitherList projects in a team
list_fileseitherList files in a project
list_recent_filescookieRecently viewed/edited files
searchcookieSearch files across the workspace
get_file_infoeitherFile metadata: name, project, team, link access
list_favoritescookieFavorited files (broken -- Figma BigInt bug)

files (8)

CommandAuthDescription
create_filecookieCreate design, whiteboard, slides, or sites file
rename_filecookieRename a file
move_filescookieMove files between projects (batch)
duplicate_filecookieCopy a file
trash_filescookieMove files to trash (batch)
restore_filescookieRestore files from trash (batch)
favorite_filecookieAdd/remove from favorites
set_link_accesscookieSet link sharing level

projects (6)

CommandAuthDescription
create_projectcookieCreate a project in a team
rename_projectcookieRename a project
move_projectcookieMove a project to another team
trash_projectcookieMove a project to trash
restore_projectcookieRestore a project from trash
set_project_descriptioncookieSet or update project description

permissions (7)

CommandAuthDescription
get_permissionscookieList who has access with roles
set_permissionscookieChange a user's access level
sharecookieInvite someone by email
revoke_accesscookieRemove someone's access
list_role_requestscookieList pending access requests
approve_role_requestcookieAccept an access request
deny_role_requestcookieDecline an access request

reading (2)

CommandAuthDescription
get_filepatRead file as a node tree with depth control
get_nodespatRead specific nodes by ID

components (4)

CommandAuthDescription
list_file_componentspatComponents published from a file
list_file_stylespatStyles in a file
list_team_componentspatPublished components across a team
list_team_stylespatPublished styles across a team

versions (2)

CommandAuthDescription
list_versionspatVersion history
create_versioncookieCreate a named version checkpoint

branching (3)

CommandAuthDescription
list_brancheseitherList branches of a file
create_branchcookieCreate a branch
delete_branchcookieArchive a branch

comments (4)

CommandAuthDescription
list_commentspatComments with thread structure
post_commentpatPost a comment
delete_commentpatDelete a comment
list_comment_reactionspatEmoji reactions on a comment

export (2)

CommandAuthDescription
export_nodespatExport as PNG, SVG, PDF, or JPG
get_image_fillspatURLs for all images used as fills

webhooks (4)

CommandAuthDescription
list_webhookspatList webhooks for a team
create_webhookpatCreate a webhook subscription
update_webhookpatUpdate a webhook
delete_webhookpatDelete a webhook

variables (3, Enterprise)

CommandAuthDescription
list_local_variablespatLocal variables and collections
list_published_variablespatPublished variables from a library
update_variablespatBulk create, update, or delete variables

analytics (2)

CommandAuthDescription
library_usagecookieTeam-level library adoption metrics
component_usagecookiePer-file component usage

org (12)

CommandAuthDescription
list_adminscookieOrg admins with permission levels
list_org_teamscookieAll teams with member and project counts
seat_usagecookieSeat breakdown by type and activity
list_team_memberscookieTeam members with roles and activity
list_org_memberscookieAll org members with seats and activity
contract_ratescookiePer-seat pricing
change_seatcookieChange a user's seat type
billing_overviewcookieInvoice history and billing status
list_invoicescookieOpen and upcoming invoices
org_domainscookieDomain config and SSO/SAML
ai_credit_usagecookieAI credit usage summary
export_memberscookieTrigger CSV export of all members

teams (3)

CommandAuthDescription
create_teamcookieCreate a team
rename_teamcookieRename a team
delete_teamcookieDelete a team

libraries (1)

CommandAuthDescription
list_org_librariescookieDesign system libraries with sharing info

compound (12)

Multi-step operations that aggregate data from several API calls.

CommandAuthDescription
file_summarypatPages, components, styles, comment counts
workspace_overviewcookieOrg snapshot: teams, seats, billing
open_commentspatUnresolved comments across a project
cleanup_stale_fileseitherFind old files, optionally trash (dry run default)
organize_projectcookieBatch-move files into a project
setup_project_structurecookieCreate multiple projects from a plan
seat_optimizationcookieInactive seat detection with cost analysis
permission_auditcookieTeam/project access audit with oversharing flags
branch_cleanupeitherStale branch detection with optional archival
offboard_usercookieAudit + execute user departure
onboard_usercookieBatch invite to teams, share files, set seat
quarterly_design_ops_reportcookieSeat utilization, billing, teams, library adoption

security

All parameters that accept Figma IDs are validated against /^[\w.:-]+$/ before use. Rate limit retries are restricted to safe HTTP methods. Mutations are never retried. Billing responses strip PII. Destructive operations default to dry-run mode. Config file is stored with 0o600 permissions.

known limitations

  • list_favorites: Figma BigInt overflow bug on their server. favorite_file works fine.
  • Branch merging: Requires Figma's multiplayer protocol, no REST endpoint.
  • Cookie expiry: ~30 days. Run figmanage login --refresh to renew.
  • Windows cookies: Best-effort DPAPI extraction. Falls back to PAT-only.
  • Variables: Enterprise-gated scopes.
  • get_file: Returns full document tree. Use depth param or get_nodes.

development

git clone https://github.com/dannykeane/figmanage.git
cd figmanage
npm install
npm run build
npm test

license

MIT

Reviews

No reviews yet

Sign in to write a review