{"name":"io.github.dannykeane/figmanage","slug":"dannykeane-figmanage","title":"figmanage","description":"Let agents manage your Figma workspace. 102 tools for seats, teams, offboarding, and cleanup.","url":"https://mcp.market/server/dannykeane-figmanage","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"media","tags":["media"],"presence":{"score":33,"stars":8,"forks":0,"downloads_week":68,"last_push_at":"2026-09-20T09:32:58.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/dannykeane/figmanage","website":null,"version":"1.5.0","remotes":[],"packages":[{"registryType":"npm","identifier":"figmanage","version":"1.5.0","transport":{"type":"stdio"}}],"tools":[{"name":"activity_log","description":"Org audit log. Shows who did what, when. Filter by email for per-user activity. Supports date ranges and cursor pagination.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_comment_reaction","description":"Add an emoji reaction to a comment.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_team_member","description":"Add a member to a team by email. Level: 100 = can view (default), 300 = can edit, 999 = admin.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_user_group_members","description":"Add members to a user group by email.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ai_credit_usage","description":"AI credit usage summary. Provide a team_id and the plan is resolved automatically, or pass plan_id directly.","write_action":false,"price_micros":0,"input_schema":null},{"name":"approve_role_request","description":"Approve a pending file access request by notification ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"billing_overview","description":"Org billing data including invoice history, status, amounts, and billing periods.","write_action":false,"price_micros":0,"input_schema":null},{"name":"branch_cleanup","description":"Find stale branches across a project and optionally archive them. dry_run=true (default) previews which branches would be archived. Archives move branch files to trash (recoverable).","write_action":false,"price_micros":0,"input_schema":null},{"name":"change_seat","description":"Change a user's seat type. Accepts user_id or email to identify the user. Upgrades affect billing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_auth","description":"Check authentication status for both PAT and session cookie","write_action":false,"price_micros":0,"input_schema":null},{"name":"cleanup_stale_files","description":"Find files not modified in N days and optionally trash them. dry_run=true (default) previews which files would be trashed without trashing them. Set dry_run=false to execute.","write_action":false,"price_micros":0,"input_schema":null},{"name":"component_usage","description":"Per-file component usage analytics. Shows which files use a specific component.","write_action":false,"price_micros":0,"input_schema":null},{"name":"contract_rates","description":"Seat pricing for the org. Returns monthly cost per seat type (expert, developer, collaborator).","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_branch","description":"Create a branch from a file.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_dev_resource","description":"Create a dev resource (link/annotation) on a node. Visible in Dev Mode.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_file","description":"Create a new Figma file in a project. Supports design, whiteboard, slides, sites.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_project","description":"Create a new project (folder) in a team.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_team","description":"Create a new team in the org.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_user_group","description":"Create a user group. Provide team_id to auto-resolve the billing plan, or pass plan_id directly.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_branch","description":"Archive (delete) a branch. Uses the branch file key from list_branches.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_comment","description":"Permanently delete a comment. For top-level comments, the entire thread is removed. Cannot be undone.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_dev_resource","description":"Delete a dev resource from a file.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_team","description":"Permanently delete a team and all its projects/files. This cannot be undone. All team members lose access.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_user_groups","description":"Delete one or more user groups by ID.","write_action":true,"price_micros":0,"input_schema":null},{"name":"deny_role_request","description":"Decline a pending file access request by notification ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"duplicate_file","description":"Duplicate a file. Optionally specify a destination project.","write_action":false,"price_micros":0,"input_schema":null},{"name":"edit_comment","description":"Edit the text of an existing comment.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_members","description":"Trigger async CSV export of all org members. The CSV is sent to the admin email on file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_nodes","description":"Export specific nodes from a file as images. Returns temporary URLs (valid ~14 days).","write_action":false,"price_micros":0,"input_schema":null},{"name":"favorite_file","description":"Add or remove a file from your sidebar favorites.","write_action":false,"price_micros":0,"input_schema":null},{"name":"file_summary","description":"Quick overview of a Figma file. Fetches pages, components, styles, and comment counts in parallel.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_file","description":"Read file contents as a node tree. Use depth to limit response size (full trees can be very large). depth=1 returns pages only. To read a branch, use the branch file key from list_branches.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_file_info","description":"Get metadata for a file: name, last modified, editor type, project, team.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_image_fills","description":"Get download URLs for all images used as fills in a file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_nodes","description":"Read specific nodes from a file. Returns the full node tree for each ID including type, name, layout properties, fills, strokes, and children.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_permissions","description":"See who has access to a file, project, or team. Returns users with roles and role IDs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"library_usage","description":"Team-level library adoption metrics. Shows how a published library is used across teams.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_admins","description":"List org admins with their permission levels, seat status, and email validation state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_branches","description":"List branches of a file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_comment_reactions","description":"List emoji reactions on a comment.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_comments","description":"List comments on a file. Returns comment text, author, timestamps, and thread structure.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_dev_resources","description":"List dev resources (links, annotations) attached to nodes in a file. Used in Dev Mode.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_favorites","description":"List your starred/favorited files. Note: may not work on all account types.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_file_components","description":"List components published from a file. Only published library components appear -- local unpublished components are not included.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_file_styles","description":"List styles published from a file. Only published library styles appear.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_files","description":"List files in a project. Returns file keys, names, last modified, editor type. Supports pagination.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_invoices","description":"List open and upcoming invoices for the org.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_local_variables","description":"List local variables and variable collections in a file. Requires Enterprise plan.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_org_libraries","description":"List all design system libraries in the org with sharing group info.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_org_members","description":"List org members with seat type, permission, email, and last active date. Use to resolve org_user_ids for change_seat.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_org_teams","description":"List all teams in the org with member counts, project counts, and access levels.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_orgs","description":"List all Figma workspaces (orgs) you belong to. Shows which is currently active.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_payments","description":"List paid invoices / payment history for the org.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_projects","description":"List projects (folders) in a team. Returns project IDs, names.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_published_variables","description":"List published variables from a library file. Requires Enterprise plan.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_recent_files","description":"List your recently viewed/edited files across all teams.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_role_requests","description":"List pending file access requests. These come through the notification system.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_team_components","description":"List published components across a team. Pass the cursor from the response's pagination object to fetch the next page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_team_members","description":"List members of a team with name, email, avatar, last active date, and role.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_team_styles","description":"List published styles across a team. Pass the cursor from the response's pagination object to fetch the next page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_teams","description":"List all teams you belong to. Returns team IDs and names.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_versions","description":"List version history for a file. Returns named snapshots and auto-saves.","write_action":false,"price_micros":0,"input_schema":null},{"name":"move_files","description":"Move one or more files to a different project. Supports batch moves.","write_action":false,"price_micros":0,"input_schema":null},{"name":"move_project","description":"Move a project to a different team.","write_action":false,"price_micros":0,"input_schema":null},{"name":"offboard_user","description":"Audit and optionally execute user offboarding. Default: read-only audit. Complete nested-folder discovery requires a PAT for the browser account with current_user:read and folders:read. With execute=true: transfers file ownership, removes discovered direct grants, and verifies access and seat changes. Team/folder ownership and retained org admin roles can block execution. Inspect coverage, executi","write_action":false,"price_micros":0,"input_schema":null},{"name":"onboard_user","description":"Invite a user to teams and optionally share files and set seat type. Sends invite emails per team.","write_action":false,"price_micros":0,"input_schema":null},{"name":"open_comments","description":"Aggregated unresolved comments across all files in a project. Checks up to 20 files.","write_action":false,"price_micros":0,"input_schema":null},{"name":"org_domains","description":"Org domain configuration and SSO/SAML settings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"organize_project","description":"Move files into a target project in a single batch. Files are moved (not copied) from their current project.","write_action":false,"price_micros":0,"input_schema":null},{"name":"permission_audit","description":"Audit permissions across a team or project. Scans files for external editors, open link access, and elevated individual permissions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"post_comment","description":"Post a comment on a file. Optionally pin to a specific node or reply to an existing comment.","write_action":true,"price_micros":0,"input_schema":null},{"name":"quarterly_design_ops_report","description":"Org-wide design ops snapshot: seat utilization, team activity, billing, and library adoption over a given period.","write_action":false,"price_micros":0,"input_schema":null},{"name":"remove_comment_reaction","description":"Remove your emoji reaction from a comment.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_org_member","description":"Permanently remove a member from the org. They lose all access to teams, projects, files, and apps. Cannot be undone. Requires confirm: true.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_team_member","description":"Remove a member from a team. The user loses access to all team projects and files.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_user_group_members","description":"Remove members from a user group by user ID.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rename_file","description":"Rename a Figma file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rename_project","description":"Rename a project (folder).","write_action":false,"price_micros":0,"input_schema":null},{"name":"rename_team","description":"Rename an existing team.","write_action":false,"price_micros":0,"input_schema":null},{"name":"resolve_comment","description":"Resolve or unresolve a comment thread. Resolved comments are collapsed in the Figma UI.","write_action":false,"price_micros":0,"input_schema":null},{"name":"restore_files","description":"Restore files from trash.","write_action":false,"price_micros":0,"input_schema":null},{"name":"restore_project","description":"Restore a project from trash.","write_action":false,"price_micros":0,"input_schema":null},{"name":"revoke_access","description":"Remove a user's access to a file, project, or team. The user loses access immediately.","write_action":true,"price_micros":0,"input_schema":null},{"name":"search","description":"Search for files across the workspace. Requires org context for results.","write_action":false,"price_micros":0,"input_schema":null},{"name":"seat_optimization","description":"Identify inactive paid seats and calculate potential savings. Fetches members, seat counts, and pricing to find optimization opportunities.","write_action":false,"price_micros":0,"input_schema":null},{"name":"seat_usage","description":"Seat usage breakdown: permission counts, seat types, activity recency, and account type distribution.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_link_access","description":"Set link access on a file. Use \"inherit\" to remove custom access and fall back to project/team defaults.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_permissions","description":"Change access level for a user on a file, project, or team. Looks up the role by user_id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_project_description","description":"Set or update a project description.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setup_extract_cookies","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setup_project_structure","description":"Create multiple projects in a team from a plan. Optionally set descriptions.","write_action":true,"price_micros":0,"input_schema":null},{"name":"setup_save_pat","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setup_select_account","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setup_status","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"share","description":"Share a file or project with someone by email. Sends an invite.","write_action":false,"price_micros":0,"input_schema":null},{"name":"switch_org","description":"Switch active workspace. Accepts org name (fuzzy match) or ID. Use list_orgs to see available workspaces.","write_action":false,"price_micros":0,"input_schema":null},{"name":"trash_files","description":"Move files to trash (recoverable via restore_files). Supports batch operations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"trash_project","description":"Move a project and all its files to trash. Recoverable via restore_project.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_variables","description":"Bulk create, update, or delete variables, collections, modes, and mode values. Requires Enterprise plan. Each operation object needs an action field (CREATE, UPDATE, or DELETE). Deletions are immediate and cannot be undone -- list variables first to verify IDs.","write_action":true,"price_micros":0,"input_schema":null},{"name":"workspace_overview","description":"Full org snapshot: teams with member/project counts, seat breakdown, and billing summary.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-20T11:35:44.101Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T11:35:44.034Z","components":{"code":{"score":25,"max":25,"notes":["171 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"figmanage","version":"1.5.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":6,"publishedAt":"2026-09-20T09:34:48.823Z","repositoryUrl":"git+https://github.com/dannykeane/figmanage.git","weeklyDownloads":68}],"repo":{"found":true,"owner":"dannykeane","repo":"figmanage","archived":false,"pushedAt":"2026-09-20T09:32:58Z","stars":8,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/425661?v=4","ownerCreatedAt":"2010-10-03T21:02:27Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/425661?v=4&s=128","source":"github"},"presence":{"stars":8,"forks":0,"downloadsWeek":68,"license":"MIT","lastPushAt":"2026-09-20T09:32:58.000Z","score":33}}}},"grade_history":[],"reviews":[]}