Find and replace text
figma_find_replace_textFind and replace text across Figma text layers, sticky notes, shapes, connector labels, table cells, and code blocks, scoped to page, selection, or a node subtree.
Instructions
Find and replace across text: TEXT nodes and, on a board, stickies, shapes, connector labels and table cells (an item names the node, plus cell "row,column"); code blocks with includeCode. Other styled runs in a text are kept. Scope it to the page (default), the selection, or a subtree by nodeId. Returns per-item results: items: [{ id, ok, error? }] — one node failing does not fail the call. Editors: Design; unverified: FigJam, Slides.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| find | Yes | ||
| regex | No | Treat `find` as a regular expression. Default false. | |
| scope | No | Default "page". | |
| nodeId | No | Subtree root when scope is "subtree". | |
| replace | Yes | The new text; "" deletes each match. | |
| session | No | Optional sessionId or file name, to pick a Figma file when more than one is connected. | |
| includeCode | No | Also replace inside code blocks' code. Default false. | |
| caseSensitive | No | Default true. | |
| 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. |