Skip to main content
Glama

Delete Multiple Project Items

delete_multiple_project_items
Destructive

Deletes up to 500 project items in one call, checking timeline usage in a single scan and confirming each removal. Used items are refused unless removal from sequences is confirmed.

Instructions

Delete several project items (bins, sequences, clips or files) and read back that each is gone. Every item is checked before any is deleted, against one timeline-usage index built in a single pass over every sequence (the same scan get_unused_media uses), so 100 items cost one scan instead of 100. Deletions then run in chunks of 25 items per host command with per-chunk readback and a progress notification at least every 10 s; up to 500 items per call. A chunk that fails stops the batch and the reply counts what was deleted before it. organize_project_items_uxp with action 'remove' (authenticated UXP bridge) is the preferred, documented route; this CEP fallback deletes clips and files through a temporary bin, which cannot be undone here. Items (or bins whose contents are) used on a timeline are refused unless confirm_remove_from_sequences is true. Nested sequences count as in use on the parent timeline.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "item_ids": "<item_ids>"
    },
    "name": "delete_multiple_project_items"
  }
}

Input Schema

NameRequiredDescriptionDefault
item_idsYesNode IDs or names of items to delete (1-500); duplicates are deleted once
allow_offlineNoAlso delete offline (missing-media) items. Premiere can open a modal while deleting missing media, and the modal blocks every later bridge command until it is closed in Premiere, so these are refused by default (default: false).
idempotency_keyNoOptional client-chosen key (1-128 chars of A-Z a-z 0-9 . _ : -) for this intended edit. Pass a fresh key per edit and reuse it only when retrying that same edit, for example after a client-side timeout. A repeat with the same tool, key and arguments is not run again: while the first call is running it fails with IDEMPOTENCY_IN_PROGRESS (poll get_last_operations); after it finished it returns the original outcome marked replayed. A definite failure with nothing applied (receipt outcome not_applied) may be retried with the same key. Reusing a key with different arguments fails with IDEMPOTENCY_KEY_REUSED. Scoped to this MCP session (the stdio server process, or the HTTP server process when Streamable HTTP is stateless per request) and held in memory only (200 keys, 1 hour); it does not survive a restart or reconnect. Read-only invocations are never deduplicated.
expected_cep_targetNoOptional reviewed CEP sequence/clip identity and exact tick ranges. Checked before every generated command; UXP refuses this CEP-only guard.
expected_project_pathNoOptional absolute saved-project path. Every generated CEP command refuses before its body when the active project differs or is unsaved. UXP commands refuse this CEP-only guard; local-only tools do not inspect Premiere. Omit to keep existing behavior.
confirm_remove_from_sequencesNoDelete even when an item (or something inside a bin) is used in a sequence, which also removes those timeline clips (default: false).

Output Schema

NameRequiredDescriptionDefault
okYesWhether the tool completed successfully.
dataNoTool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it.
toolYesThe registered MCP tool name.
errorNoFailure detail when ok is false.
receiptNoVersioned common mutation receipt; success never implies rendered verification.
idempotencyNoPresent when idempotency_key deduplicated this call: replayed is true when the original outcome was returned instead of running again.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.30.0

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: chunked execution at 25 items per host command, per-chunk readback, progress notifications at least every 10 s, a failing chunk halting the batch with a partial count, a temp-bin deletion path, no undo, and the single-pass timeline-usage index. For a destructiveHint=true tool this is exactly the operational context an agent needs.

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?

Front-loaded with purpose and organized from mechanics to fallback rationale to safety caveats. It is dense and some sentences are long with nested parentheticals, but nearly every clause carries operationally relevant information rather than 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 an output schema present and annotations covering safety, the description fills the remaining gaps: batching behavior, failure semantics, the alternative route, undo limitations, and timeline-usage refusal. Nothing an agent needs to call this destructive batch tool correctly appears to be missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents item_ids, allow_offline, idempotency_key, expected_cep_target, and confirm_remove_from_sequences in detail. The description largely restates those constraints (offline refusal, timeline-use refusal, 500-item limit) rather than adding new parameter semantics, so the baseline 3 applies.

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?

Opens with a specific verb and resource: 'Delete several project items (bins, sequences, clips or files) and read back that each is gone.' The word 'several' and the batch semantics distinguish it from the singular delete_project_item sibling, and the readback commitment is stated up front.

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?

Explicitly names the preferred alternative ('organize_project_items_uxp with action remove (authenticated UXP bridge) is the preferred, documented route') and positions this tool as the CEP fallback. It also states the blocking condition ('Items ... used on a timeline are refused unless confirm_remove_from_sequences is true') and the 500-item cap, so when-to-use and when-not-to-use are both covered.

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