Skip to main content
Glama
leancoderkavy

Premiere Pro MCP Server

Multiple Undo

multiple_undo

Undo several Premiere Pro project actions via QE, checking each step against the undo-stack index and reporting how many were reversed. Pass the reported stack index as a safety guard.

Instructions

EXPERIMENTAL (undocumented QE DOM: qe.project.undo / undoStackIndex). Undo several Premiere project actions through QE, checking each step against Premiere's undo-stack position (stackVerified; the timeline itself is not read back) and reporting how many were undone. Only actions Premiere records are undoable: QE edits such as razor, insert, lift and extract report undoSteps (and undoStackIndex) in their results; pass that undoSteps as count to reverse exactly that call. A marker receipt with undoTracked:false recorded no undo step: calling Undo for it would reverse an earlier action. Only CEP tool results carry undoSteps; UXP tools and workflows that send several commands are not counted. Always pass expected_undo_stack_index to check the stack position, but matching position alone does not prove which action is on top. Observed marker boundaries refuse the entire request before any step unless acknowledge_untracked_markers:true explicitly permits prior non-marker actions. The barrier persists through server/helper reloads while the CEP engine remains alive; it cannot account for marker writes before observation, after an engine reset, or through UXP, the manual UI, or other clients. Matching the QE index verifies stack position only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNoNumber of undo steps (default: 1)
expected_undo_stack_indexYesRequired safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. The guard compares the position only; matching position cannot prove which action is on top.
acknowledge_untracked_markersNoExplicitly acknowledge that QE steps reverse or restore prior non-marker actions, because marker reversal is not verified. Default false; marker boundaries refuse the entire request before any step.

Output Schema

TableJSON 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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.19.0
    • addedInput schema / properties / acknowledge_untracked_markers
      Added value: +{
      +  "description": "Explicitly acknowledge that QE steps reverse or restore prior non-marker actions, because marker reversal is not verified. Default false; marker boundaries refuse the entire request before any step.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / expected_undo_stack_index / description
      Previous value: -"Optional safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. This compares the position only: if actions were undone and new ones recorded since, the position can match again and undo would reverse the newer action."New value: +"Required safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. The guard compares the position only; matching position cannot prove which action is on top."
    • addedInput schema / required
      Added value: +[
      +  "expected_undo_stack_index"
      +]
  2. Changed3 schema fields changedv1.18.6
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / expected_undo_stack_index
      Added value: +{
      +  "description": "Optional safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. This compares the position only: if actions were undone and new ones recorded since, the position can match again and undo would reverse the newer action.",
      +  "type": "number"
      +}
    • changedOutput schema / properties / data / description
      Previous value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
  3. Changed2 schema fields changedv1.14.4
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "description": "Tool-specific result data when ok is true."
      +    },
      +    "error": {
      +      "description": "Failure detail when ok is false.",
      +      "type": "string"
      +    },
      +    "ok": {
      +      "description": "Whether the tool completed successfully.",
      +      "type": "boolean"
      +    },
      +    "tool": {
      +      "description": "The registered MCP tool name.",
      +      "minLength": 1,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "ok",
      +    "tool"
      +  ],
      +  "type": "object"
      +}
  4. Changed1 schema field changedv1.4.0
    • removedInput schema / additionalProperties
      Removed value: -false
  5. First observedv1.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 annotations by disclosing that this is EXPERIMENTAL on an undocumented QE DOM, that the timeline is not read back (only stack position is verified), that the marker barrier persists through server/helper reloads, that acknowledge_untracked_markers is required to permit non-marker actions, and enumerates the conditions it cannot account for.

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

Conciseness3/5

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

It is front-loaded with the EXPERIMENTAL warning, which is good, but it is a single dense paragraph that repeats the stack-position caveat (the header and the closing sentence both state that matching position verifies position only). The density is somewhat justified by the complexity, but the redundancy and lack of structuring cost it.

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 destructive-capable, QE-dependent mutation tool, the description covers preconditions, safety guards, failure/refusal behavior, and explicit limitations. With an output schema present, return values need not be explained, so nothing an agent needs 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 coverage is 100% so the baseline is 3, but the description adds real meaning the schema lacks: it explains where 'count' comes from (the undoSteps reported by a prior QE tool result) and emphasizes that expected_undo_stack_index must always be passed. It adds interpretation beyond the raw field descriptions.

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+resource (undo several Premiere project actions) and the mechanism used (QE DOM qe.project.undo / undoStackIndex), which distinguishes it from the single-step 'undo' sibling. An agent immediately knows this is a plural, QE-backed undo operation.

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 says what is undoable (only actions Premiere records: QE edits such as razor, insert, lift, extract that report undoSteps) and what is not (UXP tools, multi-command workflows, marker receipts with undoTracked:false). It also gives the exact usage contract: pass undoSteps as count and always pass expected_undo_stack_index.

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