New:Socket for Asana Is Now Available.Learn more
Get Started

figmanage

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

figmanage

MCP server for managing your Figma workspace from the terminal.

Source
npmnpm
Version
1.3.2
Version published
Weekly downloads
85
-10.53%
Maintainers
1
Weekly downloads
 
Created
Source

figmanage

Figma workspace management from the command line. 85 CLI commands and MCP tools 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

Commands use a noun-verb pattern: figmanage <group> <action>.

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

Run figmanage <group> --help for available subcommands. 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

# Claude Desktop / Cursor / other clients
# Add to your MCP config:
{
  "mcpServers": {
    "figmanage": {
      "command": "npx",
      "args": ["-y", "figmanage"]
    }
  }
}

On first run, figmanage walks you through setup right in the conversation -- extracts your Chrome session cookie, asks you to create a PAT, and stores credentials locally. No env vars, no JSON editing, no separate terminal step.

If you prefer CLI setup or need to reconfigure: npx figmanage login.

Env vars (FIGMA_PAT, FIGMA_AUTH_COOKIE, etc.) override the config file for backwards compatibility. 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

Both together give full access to all 85 tools. Cookie-only or PAT-only work but limit available tools.

Auth resolution: env vars > config file > interactive setup (MCP) or figmanage login (CLI).

commands

The tables below list all 85 commands. The Command column shows MCP tool names (snake_case). The CLI equivalent is the noun-verb form: figmanage <group> <action> where <action> is the kebab-case version of the tool name without the group prefix (e.g. list_recent_files becomes figmanage navigate list-recent-files).

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 (10)

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
file_summarypatPages, components, styles, comment counts
cleanup_stale_fileseitherFind old files, optionally trash (dry run default)

projects (8)

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
organize_projectcookieBatch-move files into a project
setup_project_structurecookieCreate multiple projects from a plan

permissions (8)

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
permission_auditcookieTeam/project access audit with oversharing flags

versions (2)

CommandAuthDescription
list_versionspatVersion history
create_versioncookieCreate a named version checkpoint

branches (4)

CommandAuthDescription
list_brancheseitherList branches of a file
create_branchcookieCreate a branch
delete_branchcookieArchive a branch
branch_cleanupeitherStale branch detection with optional archival

comments (5)

CommandAuthDescription
list_commentspatComments with thread structure
post_commentpatPost a comment
delete_commentpatDelete a comment
list_comment_reactionspatEmoji reactions on a comment
open_commentspatUnresolved comments across a project

export (2)

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

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

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 (17)

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
workspace_overviewcookieOrg snapshot: teams, seats, billing
seat_optimizationcookieInactive seat detection with cost analysis
offboard_usercookieAudit + execute user departure
onboard_usercookieBatch invite to teams, share files, set seat
quarterly_design_ops_reportcookieSeat utilization, billing, teams, library adoption

libraries (1)

CommandAuthDescription
list_org_librariescookieDesign system libraries with sharing info

teams (3)

CommandAuthDescription
create_teamcookieCreate a team
rename_teamcookieRename a team
delete_teamcookieDelete a team

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

architecture

Three-layer design: shared operations power both the CLI and MCP server.

src/
  index.ts            Entry: --setup, --mcp, or CLI mode
  mcp.ts              MCP server setup, toolset presets
  setup.ts            Cross-platform Chrome cookie extraction
  auth/               AuthConfig from env vars and config file
  clients/            Axios clients for internal (cookie) and public (PAT) APIs
  operations/         Shared business logic (18 modules)
  tools/              MCP tool wrappers (thin, call operations)
  cli/                CLI Commander wrappers (thin, call operations)
  types/figma.ts      Shared types including Toolset union

license

MIT

Keywords

figma

FAQs

Package last updated on 20 Mar 2026

Related posts