Skip to main content
Glama

batch_nodes

Destructive

Move, copy, trash, or restore up to 100 nodes with independent per-item results, plus dry-run simulation and idempotency keys for safe retries.

Instructions

Move, copy, trash, or restore up to 100 nodes with individual success/error results. Unlike move_nodes, copy_nodes, trash_nodes and restore_nodes, which are all-or-nothing, each item here succeeds or fails on its own. dry_run simulates then rolls back; preview IDs are not usable. idempotency_key replays the original entire result; use a new key to retry failed items.

Input Schema

NameRequiredDescriptionDefault
pathsNoabsolute source paths; use IDs from list_trash for restore
dry_runNovalidate and simulate the entire batch then roll back; preview IDs are not usable
node_idsNosource node UUIDs; do not combine with paths; maximum 100
operationYesmove, copy, trash, or restore
target_pathNodestination path instead of target_folder_id
idempotency_keyNostable retry key; retries replay all per-item results, including failures
target_folder_idNodestination for move/copy; omit for root

Output Schema

NameRequiredDescriptionDefault
itemsYes
failedYes
dry_runYes
succeededYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

The single annotation (destructiveHint: true) only flags danger; the description adds substantive behavior beyond it — partial failure with per-item errors, dry_run validation with full rollback, and the fact that preview IDs from a dry run cannot be reused. It does not say whether trashed items are recoverable or what permissions are required, which is the remaining gap for a destructive tool.

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

Conciseness4/5

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

Four sentences, front-loaded with what the tool does and followed by the sibling contrast and the two behavioral gotchas. A little space is spent repeating the dry_run/preview wording already present in the schema, but nothing is genuinely wasteful.

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?

For a seven-parameter destructive batch tool, the description covers batch limits, per-item result shape, dry-run rollback, and idempotent replay semantics; return values are covered by the output schema. An agent has what it needs to invoke this correctly and safely.

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?

Schema coverage is 100%, so the baseline is 3, and the description earns above that by adding consequences the schema lacks: an idempotency_key replays the original entire result including failures, so a new key is needed to retry failed items. It does partly restate schema text for dry_run and preview IDs rather than extending it.

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?

The first sentence names four specific verbs (move, copy, trash, restore), the resource (nodes), and the batch limit (100) with per-item results. It then explicitly distinguishes itself from the four single-operation siblings by naming them.

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

Usage Guidelines5/5

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

The description states the selection rule directly: use this tool when each item should succeed or fail independently, and use move_nodes, copy_nodes, trash_nodes, or restore_nodes when all-or-nothing semantics are wanted. That is an explicit alternative plus the condition that selects it.

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