Skip to main content
Glama

Delete nodes

figma_delete_nodes
DestructiveIdempotent

Delete Figma nodes by ID to undo agent-created elements; pass creation-call IDs so one undo restores the original action. Returns per-item success/failure without failing the whole request.

Instructions

Delete nodes by id. This is the correct way to undo agent work: pass the ids the create call returned. One Ctrl+Z reverts the whole original call. In a deck a slide row that still holds slides is refused (delete its slides first); a row its last slide left is reported in emptiedRows. Returns per-item results: items: [{ id, ok, error? }] — one node failing does not fail the call. Editors: Design; unverified: FigJam, Slides.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nodeIdsYes
sessionNoOptional sessionId or file name, to pick a Figma file when more than one is connected.
idempotencyKeyNoCaller-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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the destructive/idempotent annotations: partial-failure semantics ('one node failing does not fail the call'), the Ctrl+Z revert behavior, the slide-row refusal rule, and the emptiedRows side effect. This is exactly the operational context annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and usage before edge cases and return format. Every sentence carries distinct operational value with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description supplies the return shape (items: [{ id, ok, error? }]) and per-item failure behavior. Combined with the destructive annotation and slide edge cases, an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Coverage is 67% with session and idempotencyKey already documented in schema. The description compensates for the undocumented nodeIds by explaining its expected source ('the ids the create call returned'), adding real meaning beyond the bare array type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Delete nodes by id') and distinguishes itself functionally from the similarly-named figma_undo_step by framing itself as 'the correct way to undo agent work.' An agent can tell what it does and why it would choose it over a generic undo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use context ('pass the ids the create call returned') and a concrete precondition (delete slides before deleting a slide row that still holds slides). It stops short of naming the alternative figma_undo_step or stating when NOT to use deletion, so it is clear but not a full comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools