Skip to main content
Glama

figmanage

让智能体管理你的 Figma 工作区。席位、团队、权限、账单、离职交接、清理——全部通过对话完成,无需在管理面板中逐个点击。

每个 Figma MCP 都是设计转代码。figmanage 是管理层:102 个工具让智能体直接操作工作区本身。兼容 Claude Code、Cursor、OpenClaw,也可作为独立 CLI 使用。

npm downloads tests license MCP

示例

工作区管理(管理员)

"which paid seats haven't been active in 30 days? how much would we save?"

"offboard sarah@company.com -- show me everything she owns, then transfer it
 to jake and remove her from the org"

"set up a new hire: invite alex@company.com to Design and Engineering as an editor"

"create a user group called Platform Design and add the three designers"

"run a quarterly design ops report for the org"

日常设计工作(所有人)

"clean up the Mobile App project -- find stale files and archive dead branches"

"what are the unresolved comments across the Platform project?"

"export all the icons from the Design System file as SVGs"

"move the Q4 files into the Archive project"

"share the Homepage mockup with alex@company.com and set link access to view-only"

"summarize the Brand Guidelines file -- pages, components, styles"

Related MCP server: figma-pilot

安装

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

# Cursor / OpenClaw / other MCP clients
{
  "mcpServers": {
    "figmanage": {
      "command": "npx",
      "args": ["-y", "figmanage"]
    }
  }
}

首次运行时,figmanage 会在对话中引导你完成设置——提取你的 Chrome 会话 cookie,要求你创建 PAT,并将凭据存储在本地。无需环境变量,无需编辑 JSON。

也可以作为 CLI 使用:

npm install -g figmanage
figmanage login

工作原理

Figma 的公开 REST API 覆盖设计文件,但不涉及管理侧——没有席位、团队、权限、账单。figmanage 同时使用两套 API:

API

认证方式

覆盖范围

内部 API

会话 cookie

席位、团队、权限、账单、用户组、组织管理、搜索

公开 API

个人访问令牌

文件、评论、导出、组件、版本、Webhooks、变量

两者结合可解锁全部 102 个工具。仅使用 cookie 或仅使用 PAT 也可以,但可用工具会受限。

管理员自动检测。 启动时,figmanage 会检查你是否为组织管理员。管理员可见全部 102 个工具。非管理员可见 68 个——除组织管理、席位变更、账单、用户组和离职交接外的所有工具。无需任何配置。

工具集预设。 使用 FIGMA_TOOLSETS 仅暴露特定工具组:

预设

包含内容

starter

导航、读取、评论、导出

admin

导航、组织、权限、分析、团队、资源库

readonly

导航、读取、评论、导出、组件、版本

full

全部(默认)

CLI

命令采用名词-动词模式: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                        # soft offboard
figmanage org offboard sarah@co.com --execute \
  --transfer-to jake@co.com --remove-from-org      # hard offboard (permanent)
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 permissions audit --scope team --id 789  # audit a team's permissions
figmanage branches cleanup 573408414               # find stale branches

所有命令在管道输出或传入 --json 时均输出 JSON。运行 figmanage <group> --help 查看子命令。

设置

先在 Chrome 中登录 figma.com,然后:

figmanage login     # extract cookie, create PAT, store credentials
figmanage whoami    # verify auth
figmanage logout    # clear credentials

凭据存储在 ~/.config/figmanage/,权限为 0o600。

环境变量(FIGMA_PAT、FIGMA_AUTH_COOKIE 等)会覆盖配置文件。可通过 --mcp --http <port> 使用 HTTP 传输。

工具参考

下表显示 MCP 工具名称(snake_case)。CLI 对应名称使用 kebab-case:list_recent_files 变为 figmanage navigate list-recent-files。

navigate(10 个)

工具

认证方式

描述

check_auth

任一

验证 PAT 和 cookie 认证

list_orgs

cookie

列出可用的 Figma 工作区

switch_org

cookie

切换当前会话的活跃工作区

list_teams

cookie

列出组织中的团队

list_projects

任一

列出团队中的项目

list_files

任一

列出项目中的文件

list_recent_files

cookie

最近查看/编辑的文件

search

cookie

在工作区中搜索文件

get_file_info

任一

文件元数据:名称、项目、团队、链接访问权限

list_favorites

cookie

收藏的文件(已损坏——Figma BigInt 错误)

files(10 个)

工具

认证方式

描述

create_file

cookie

创建设计、白板、幻灯片或网站文件

rename_file

cookie

重命名文件

move_files

cookie

在项目之间移动文件(批量)

duplicate_file

cookie

复制文件

trash_files

cookie

将文件移至回收站(批量)

restore_files

cookie

从回收站恢复文件(批量)

favorite_file

cookie

添加/移除收藏

set_link_access

cookie

设置链接共享级别

file_summary

pat

页面、组件、样式、评论数量

cleanup_stale_files

任一

查找旧文件,可选择移入回收站(默认仅预览)

projects(8 个)

工具

认证方式

描述

create_project

cookie

在团队中创建项目

rename_project

cookie

重命名项目

move_project

cookie

将项目移至另一个团队

trash_project

cookie

将项目移至回收站

restore_project

cookie

从回收站恢复项目

set_project_description

cookie

设置或更新项目描述

organize_project

cookie

批量将文件移入项目

setup_project_structure

cookie

根据计划创建多个项目

permissions(8 个)

工具

认证方式

描述

get_permissions

cookie

列出有权访问的人员及角色

set_permissions

cookie

更改用户的访问级别

share

cookie

通过电子邮件邀请某人

revoke_access

cookie

移除某人的访问权限

list_role_requests

cookie

列出待处理的访问请求

approve_role_request

cookie

接受访问请求

deny_role_request

cookie

拒绝访问请求

permission_audit

cookie

团队/项目访问审计,含过度共享标记

org(24 个,仅管理员)

工具

认证方式

描述

list_admins

cookie

组织管理员及权限级别

list_org_teams

cookie

所有团队及成员和项目数量

seat_usage

cookie

按类型和活跃度划分的席位明细

list_team_members

cookie

团队成员及角色和活跃度

list_org_members

cookie

所有组织成员及席位和活跃度

contract_rates

cookie

每席位定价

change_seat

cookie

更改用户的席位类型

billing_overview

cookie

发票历史记录和账单状态

list_invoices

cookie

未结和即将到期的发票

list_payments

cookie

已付发票/付款历史记录

org_domains

cookie

域名配置和 SSO/SAML

ai_credit_usage

cookie

AI 积分使用情况(根据团队解析套餐)

export_members

cookie

触发所有成员的 CSV 导出

activity_log

cookie

组织审计日志,支持电子邮件筛选和分页

create_user_group

cookie

创建用户组

delete_user_groups

cookie

删除用户组

add_user_group_members

cookie

按电子邮件将成员添加到用户组

remove_user_group_members

cookie

从用户组移除成员

remove_org_member

cookie

从组织永久移除成员

workspace_overview

cookie

组织快照:团队、席位、账单

seat_optimization

cookie

非活跃席位检测及成本分析

offboard_user

cookie

审计并执行用户离职(软或硬)

onboard_user

cookie

批量邀请加入团队、共享文件、设置席位

quarterly_design_ops_report

cookie

席位利用率、账单、团队、资源库采用情况

teams(5 个,仅管理员)

工具

认证方式

描述

create_team

cookie

创建团队

rename_team

cookie

重命名团队

delete_team

cookie

删除团队

add_team_member

cookie

按电子邮件添加成员

remove_team_member

cookie

移除成员

analytics(2 个,仅管理员)

工具

认证方式

描述

library_usage

cookie

团队级资源库采用指标

component_usage

cookie

按文件统计的组件使用情况

comments(9 个)

工具

认证方式

描述

list_comments

pat

带线程结构的评论

post_comment

pat

发布评论

delete_comment

pat

删除评论

resolve_comment

cookie

解决或取消解决评论线程

edit_comment

cookie

编辑现有评论的文本

list_comment_reactions

pat

评论上的表情反应

add_comment_reaction

pat

添加表情反应

remove_comment_reaction

pat

移除表情反应

open_comments

pat

项目中未解决的评论

versions(2 个)

工具

认证方式

描述

list_versions

pat

版本历史记录

create_version

cookie

创建命名版本检查点

branches(4 个)

工具

认证

描述

list_branches

either

列出文件的分支

create_branch

cookie

创建分支

delete_branch

cookie

归档分支

branch_cleanup

either

过期分支检测,可选归档

读取 (2)

工具

认证

描述

get_file

pat

以节点树形式读取文件,支持深度控制

get_nodes

pat

按 ID 读取特定节点

导出 (2)

工具

认证

描述

export_nodes

pat

导出为 PNG、SVG、PDF 或 JPG

get_image_fills

pat

所有用作填充的图片的 URL

组件 (7)

工具

认证

描述

list_file_components

pat

从文件发布的组件

list_file_styles

pat

文件中的样式

list_team_components

pat

跨团队的已发布组件

list_team_styles

pat

跨团队的已发布样式

list_dev_resources

pat

文件上的开发资源(链接、注释)

create_dev_resource

pat

将开发资源附加到节点

delete_dev_resource

pat

移除开发资源

Webhooks (5)

工具

认证

描述

list_webhooks

pat

列出团队的网络钩子

create_webhook

pat

创建网络钩子订阅

update_webhook

pat

更新网络钩子

delete_webhook

pat

删除网络钩子

webhook_requests

pat

投递历史(最近 7 天)

变量 (3,企业版)

工具

认证

描述

list_local_variables

pat

本地变量和集合

list_published_variables

pat

来自库的已发布变量

update_variables

pat

批量创建、更新或删除变量

库 (1)

工具

认证

描述

list_org_libraries

cookie

带共享信息的设计系统库

安全

所有 ID 参数均根据 /^[\w.:-]+$/ 进行验证。速率限制重试仅限于安全的 HTTP 方法——变更操作绝不重试。计费响应会去除 PII。破坏性操作默认采用 dry-run 模式。组织移除需要明确的二次确认。配置文件以 0o600 权限存储。

已知限制

  • list_favorites:Figma 服务器上的 BigInt 溢出错误。favorite_file 正常工作。

  • 分支合并 / 版本恢复:需要 Figma 的多玩家协议,没有 REST 端点。

  • Cookie 过期:约 30 天。运行 figmanage login --refresh 续期。

  • Windows Cookie:尽力而为的 DPAPI 提取。回退到仅 PAT 模式。

  • 变量:企业级作用域。

  • 用户组:只写(创建、删除、添加/移除成员)。没有列表端点——Figma 在服务端渲染页面。

开发

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

三层架构:operations 持有所有业务逻辑,tools 和 CLI 是薄包装层。

src/
  index.ts            Entry: --setup, --mcp, or CLI mode
  mcp.ts              MCP server setup, admin detection, 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 (19 modules)
  tools/              MCP tool wrappers (thin, call operations)
  cli/                CLI Commander wrappers (thin, call operations)
  types/figma.ts      Shared types including Toolset union

许可证

MIT

Available Tools

4 tools
setup_extract_cookiesA

Read Figma sessions from Chrome for setup or recovery. Requires permission to read browser credentials; reuse permission already granted in this conversation. The user must be logged into Figma. macOS may show a Keychain prompt. Never returns cookies.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
resultNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond the annotations by disclosing important behavioral traits: it requires permission to read browser credentials, may trigger a macOS Keychain prompt, and explicitly states it 'Never returns cookies' — a critical clarification given the tool name. This adds value beyond the sparse annotations and sets clear expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each with a distinct purpose: state the action, list prerequisites, and disclose behavioral outcomes (keychain prompt, no cookies). It is front-loaded with the core purpose and avoids filler. Every sentence adds necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema, the description covers all necessary context: prerequisites, permission requirements, potential system prompts, and what the tool does NOT return. The existence of an output schema handles return value details. The description is complete for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the baseline is 4. The description adds no parameter-specific details because none are needed. It does provide context about the operation's inputs (Chrome, Figma session) which is relevant but not parameter semantics. Since the schema is empty, no further clarification is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Read Figma sessions from Chrome for setup or recovery.' It identifies the specific verb (read) and resource (Figma sessions from Chrome), and the context (setup or recovery) distinguishes it from siblings like setup_status (checking status) and setup_save_pat (saving a token). No ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context ('for setup or recovery') and specifies prerequisites (permission to read browser credentials, user logged into Figma). It does not explicitly mention when not to use it or compare with alternatives, but given the sibling tools, the use case is clear. Slightly more explicit exclusion would make it a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_save_patA

Validate and save a PAT already supplied by the user. Prefer local figmanage login --pat-only to keep tokens out of chat. Rejects a PAT belonging to a different saved browser account.

ParametersJSON Schema
NameRequiredDescriptionDefault
patYesFigma Personal Access Token

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
resultNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, which are consistent with the description's 'save' action. The description adds behavioral context beyond annotations: it validates the PAT, saves it, and rejects mismatched accounts. This provides useful operational details that an agent needs to know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. It front-loads the core action, then provides an important security-relevant alternative and a rejection condition. Every sentence adds value, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema present, the description covers the essential purpose, usage guidance, and a behavioral constraint. It doesn't explain the output format (covered by the output schema) or prerequisites like having a saved browser account, but those are either implicit or handled elsewhere. Overall, it is complete enough for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of the parameter 'pat' with a clear description ('Figma Personal Access Token'). The description adds minimal extra meaning—only that it is 'already supplied by the user,' which is more about usage context than parameter semantics. Since schema coverage is high, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'Validate and save a PAT already supplied by the user.' It specifies the resource (PAT) and includes a rejection condition ('Rejects a PAT belonging to a different saved browser account'), making the purpose unambiguous and distinct from sibling tools like setup_status or setup_select_account.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises an alternative method: 'Prefer local figmanage login --pat-only to keep tokens out of chat.' This gives a clear when-not-to-use instruction. However, it does not explicitly contrast with the sibling tools (setup_status, setup_extract_cookies, setup_select_account), but those are not competing alternatives for saving a PAT, so the guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_select_accountA

Validate and save a browser session after setup_extract_cookies. Use its recommended account without another question; ask when selection is ambiguous or changes the existing account. Preserves the PAT for the same account.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_indexYesAccount number returned by setup_extract_cookies

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
resultNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true), the description discloses specific behaviors: it validates and saves a session, preserves the PAT for the same account, and may prompt the user when selection is ambiguous or changes the existing account. This adds meaningful context about side effects and user interaction without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences, front-loading the core action first, then providing decision rules and a key note on PAT preservation. Every sentence adds value with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and an output schema, the description covers the action, the precondition (after setup_extract_cookies), the decision rule for asking vs. proceeding, and the PAT preservation behavior. It lacks explicit error handling details, but the output schema likely covers return values, making it sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter account_index is fully described in the schema with its source (returned by setup_extract_cookies). The tool description does not add additional meaning beyond that, so it meets the baseline for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: validate and save a browser session after setup_extract_cookies. It identifies the resource (browser session) and the sequencing relative to a sibling, making its purpose unambiguous and distinct from setup_status, setup_extract_cookies, and setup_save_pat.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance on when to use it: after setup_extract_cookies, and includes a decision rule for when to ask the user (ambiguous selection or account change) versus using the recommended account silently. It does not explicitly contrast with setup_save_pat, though it mentions PAT preservation, which could overlap, so it is not fully exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_statusA
Read-only

Check live authentication, retry admin access detection, and get structured next actions. Use before setup, after an authentication error, or when expected tools are missing. Does not read browser credentials or change settings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
resultNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, but the description adds meaningful behavioral context: it explicitly states the tool does not read browser credentials or change settings, and mentions a retry behavior for admin access detection. This goes beyond what annotations alone convey, helping the agent understand side-effect boundaries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first states the core function, the second gives usage timing, and the third clarifies limitations. The most important information is front-loaded, and there is no redundant or filler language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless tool with a readOnly hint, an output schema, and three clear usage triggers, the description is complete. It covers purpose, when to use it, and what it avoids doing. The existence of an output schema means detailed return values do not need to be spelled out in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema fully covers this by defining an empty properties object. Per the baseline for 0-param tools, the description need not explain parameters. It instead focuses on purpose and behavior, which is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Check live authentication, retry admin access detection, and get structured next actions.' This clearly identifies the tool as a diagnostic/status tool and differentiates it from siblings like setup_extract_cookies or setup_save_pat, which perform credential operations rather than status checks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage triggers are given: 'Use before setup, after an authentication error, or when expected tools are missing.' This gives clear context for when to invoke the tool. It does not explicitly list sibling alternatives, but the closing disclaimer about not reading credentials or changing settings implies when other tools would be appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.5.0
    • Changedsetup_extract_cookies2 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "error": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "code": {
        +          "type": "string"
        +        },
        +        "message": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "code",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "result": {}
        +  },
        +  "type": "object"
        +}
    • Changedsetup_save_pat2 fields changed
      • changedInput schema / properties / pat / description
        Previous value: -"Figma Personal Access Token (starts with figd_)"New value: +"Figma Personal Access Token"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "error": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "code": {
        +          "type": "string"
        +        },
        +        "message": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "code",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "result": {}
        +  },
        +  "type": "object"
        +}
    • Changedsetup_select_account2 fields changed
      • changedInput schema / properties / account_index / description
        Previous value: -"Account number from the list returned by setup_extract_cookies"New value: +"Account number returned by setup_extract_cookies"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "error": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "code": {
        +          "type": "string"
        +        },
        +        "message": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "code",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "result": {}
        +  },
        +  "type": "object"
        +}
    • Changedsetup_status2 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "error": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "code": {
        +          "type": "string"
        +        },
        +        "message": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "code",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "result": {}
        +  },
        +  "type": "object"
        +}
  2. 4 tool updatesv1.4.2
    • First observedsetup_extract_cookies
    • First observedsetup_save_pat
    • First observedsetup_select_account
    • First observedsetup_status

TDQS

A4.2/5.0

Scored across 4 tools

Disambiguation4/5

All four tools are setup-related but have distinct roles: status check, cookie extraction, account selection, and PAT saving. The only minor ambiguity is between setup_extract_cookies and setup_select_account, but their descriptions clearly separate extraction from validation/saving.

Naming Consistency4/5

All tools share a consistent setup_ prefix and use verb_noun naming (setup_status, setup_extract_cookies, setup_select_account, setup_save_pat). Minor deviation: setup_status is a noun phrase rather than verb_noun, but the pattern is otherwise uniform.

Tool Count4/5

Four tools is slightly thin for a setup workflow, but each tool covers a distinct step in the authentication/setup lifecycle. The count is appropriate for a focused setup-only server, though it may feel minimal if the server is expected to manage Figma resources beyond setup.

Completeness4/5

The setup flow is well covered: check status, extract cookies, select account, and save PAT. A minor gap is the lack of an explicit teardown/logout or re-authentication tool, but the status tool's 'next actions' guidance helps mitigate dead ends.

Maintenance

ActivityNo data
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to create, modify, and manage Figma designs through natural language commands via a specialized MCP server and plugin bridge. It supports a wide range of operations including element creation, property modification, component management, and accessibility checks.
    8 npm
    106
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that connects AI clients to Figma, enabling real-time reading, creation, and modification of designs using natural language.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides write access to Figma through the Plugin API, enabling AI agents to create, modify, and manage Figma designs programmatically.
    23
    -