Skip to main content
Glama

Code (destructive)

code_delete
Destructive

Delete code objects in DaVinci Resolve after reviewing a plan and confirming with a token; supports dry-run and snapshot backup.

Instructions

Remove code objects. op.action (params; * = required):

  • run_lua(code*): Run Lua through Fusion.Execute (off by default).

  • run_python(code*): Run Python with resolve/project/fusion globals; set result (off by default). First call returns a plan + confirm_token; repeat it with confirm_token to apply. Calls known in advance (a sequence, the same change on several items): ONE batch_run.

Input Schema

NameRequiredDescriptionDefault
opYes{action, ...params}. Parameters per action: see the description or this server's describe_action tool.
dry_runNotrue: return the planned effect, change nothing.
snapshotNotrue: back up the timeline/project first; omitted: server policy.
confirm_tokenNoFrom the first call's plan; repeat that call with it to apply.

Output Schema

NameRequiredDescriptionDefault
jobNo
planNo
statusYes
receiptNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.0.4
    • addedInput schema / properties / confirm_token / description
      Added value: +"From the first call's plan; repeat that call with it to apply."
    • addedInput schema / properties / dry_run / description
      Added value: +"true: return the planned effect, change nothing."
    • addedInput schema / properties / snapshot / description
      Added value: +"true: back up the timeline/project first; omitted: server policy."
  2. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already carry destructiveHint=true, readOnlyHint=false and idempotentHint=false, so the safety profile is known. The description still adds real value beyond that: both actions are 'off by default' (a capability may be unavailable entirely) and the plan + confirm_token handshake is the only way the operation actually applies, which the annotations say nothing about.

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?

Compact and front-loaded: purpose sentence, then a scannable bullet list of actions, then workflow and batching notes. The only waste is the first line, which costs accuracy rather than length.

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 four-parameter, nested-object tool, the description covers the actions, the confirmation workflow, the batch alternative and the disabled-by-default state; an output schema exists so return values need not be explained. Nothing material an agent needs before invoking it is missing.

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 description coverage is 100%, so the top-level params (dry_run, snapshot, confirm_token) are already documented. The description nonetheless supplies the action-level parameter contract — the required code* argument and the resolve/project/fusion globals plus `result` for run_python — which the schema cannot express because op is an open object that explicitly defers to the description.

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

Purpose3/5

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

The opening sentence says 'Remove code objects,' which reads as a deletion of code artifacts, but the only two actions exposed (run_lua, run_python) actually execute arbitrary code inside the host application. The action list is specific, yet the headline verb points an agent in a different direction than the enum, so the tool is not instantly distinguishable from siblings like fusion_write.

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?

It gives one explicit routing rule — 'Calls known in advance (a sequence, the same change on several items): ONE batch_run' — and describes the required two-step invocation pattern (first call for plan/token, repeat to apply). It does not, however, say when run_lua should be preferred over run_python or over a typed sibling such as fusion_write.

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