Import SVG (icon / vector)
figma_import_svgImport SVG markup into Figma as editable vector layers; scale, recolor via hex or a color variable, and place in a parent frame.
Instructions
Place SVG markup as editable vectors — icons, logos, illustrations. width (or height) scales the drawing with its vectors; color recolours every painted vector, the usual way to put an icon in the brand colour, and colorVariable binds them to a COLOR variable instead, so the icon follows the token (stroke-only icons stay stroke-only). The result lists the painted layers as vectorIds. Place it into a frame by parentId. Editors: Design; unverified: FigJam, Slides.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| svg | Yes | The SVG markup, starting with <svg …>. | |
| name | No | e.g. "Icon / Search". | |
| color | No | ||
| width | No | Scale to this width, keeping proportions. | |
| height | No | Or to this height. | |
| sizing | No | How it sizes, as in Figma's panel: { "horizontal": "fill" } to take the parent column's width; "hug" fits content; "fixed" keeps the number. | |
| session | No | Optional sessionId or file name, to pick a Figma file when more than one is connected. | |
| parentId | No | ||
| colorVariable | No | A COLOR variable name or id, e.g. "color/icon/default". Not with `color`. | |
| 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. |