Skip to main content
Stanislaw Lis
New Member
October 20, 2026
Question

Add a bulk “Update all” action for library components to Figma MCP

When a published design system library changes, designers must open each file and use Manage libraries → Updates → Update all to apply the pending component updates. This is repetitive across many files, and an MCP agent currently cannot reliably run this native action in the background.

Please add an MCP tool that can apply all pending updates from selected published libraries across every page of a Figma file, using the same update and override-preservation behavior as Figma’s native Update all action.

A typical workflow would let an agent receive a list of Figma file URLs and process each file independently, returning a clear result for every file. For example:

  • figma-file-01: updated 12 library components; 0 failures

  • figma-file-01: updated 8 library components; 2 instances could not be matched

  • figma-file-01: no pending updates

The tool should:

  • Update all pending component and icon changes from the selected libraries across all pages.

  • Preserve instance overrides according to Figma’s existing update behavior.

  • Provide a dry-run option to list pending updates without changing the file.

  • Report updated, skipped, and failed instances, including the page and component name.

  • Clearly identify components that could not be matched to their published source.

It would also be useful to include an override audit grouped by component and page. The report should show the source value and the instance value, for example:

Component: Button / Primary
Page: Checkout

Colors
- Label / fill: color/text/primary (#111111) → #FF0000

Spacing
- Content / padding-left: 16 px → 24 px
- Icon / gap: 8 px → 12 px

Color overrides should be reported and preserved by default. An optional policy could reset selected override types, such as margin, padding, or gap, to the source component’s defaults.

If the API cannot determine whether a value is an override when it matches the source default, please report it as indeterminate rather than silently classifying or changing it.