Update style
figma_update_styleUpdate a local Figma style in place by ID or name so every node using it follows. Change colors, text, effects, grids, or variable bindings without detaching nodes.
Instructions
Change a local style IN PLACE — every node using it follows; deleting and recreating would detach them all. By styleId or styleName (+ type when a name is shared). Any kind: name, description. Paint: color or fills, with opacity; opacity alone fades every paint and keeps bound colours. A gradient style's angle is exact only on a square node — a style has no size; for an exact CSS angle on a known node use figma_set_fills, or give transform. Text: font, size, line height, letter spacing, case, decoration, paragraph spacing/indent. Effect: effects. Grid: grids. variables binds tokens inside the style: text fields by name (fontSize, fontFamily…), a paint's "color", "effect.color" / "effect.radius" …, "grid.count" …, with index for the entry. A field that does not fit the style's kind, and a library style, are refused before anything changes. Editors: Design; unverified: FigJam, Slides.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | ||
| name | No | Rename the style. | |
| type | No | Only to tell same-named styles apart. | |
| color | No | A solid colour. Give this or `fills`. | |
| fills | No | Several paints or a gradient, entries as in figma_set_fills. | |
| grids | No | Replaces the grids; entries as in figma_set_layout_grids. | |
| weight | No | Font weight as a number ("600") or a Figma style name ("Semi Bold" — Inter uses spaces, not "SemiBold"). | |
| effects | No | Replaces the effects; entries as in figma_set_effects. | |
| opacity | No | ||
| session | No | Optional sessionId or file name, to pick a Figma file when more than one is connected. | |
| styleId | No | A style id from figma_get_styles. | |
| fontSize | No | ||
| styleName | No | Or its exact name, e.g. "Heading/H1". | |
| variables | No | ||
| decoration | No | ||
| fontFamily | No | Default Inter (create); the style's own family (update). | |
| lineHeight | No | "auto", px ("32") or percent ("150%"). A string, not a number. | |
| description | No | What the style is for — shown in Figma's style picker. | |
| letterSpacing | No | px ("0.5") or percent ("-2%"). A string, not a number. | |
| idempotencyKey | No | Caller-owned retry key, ≤128 chars. Re-calling with the same key never executes twice: it returns the existing result, or waits for the op still in flight. Supply your own for anything large — if the MCP client times out (rather than the bridge), only a key you chose can be used to retry safely. | |
| paragraphIndent | No | px of first-line indent. | |
| paragraphSpacing | No | px between paragraphs. |