# Scout for Premiere Pro (mcpb · scout-premiere-mcp-0.3.0.mcpb)

Drive Adobe Premiere Pro from an AI agent: transcript search, markers, cuts, exports, 277 tools.

- Trust score: 47/100 (low)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

## Components

- mcpb · `scout-premiere-mcp-0.3.0.mcpb`: 47/100 (this document), [markdown](https://verifymcp.io/servers/tro2789-scout-premiere-mcp/https-github-com-tro2789-scout-premiere-mcp-releases-download-v0-3-0-scout-premi.md), [page](https://verifymcp.io/servers/tro2789-scout-premiere-mcp/https-github-com-tro2789-scout-premiere-mcp-releases-download-v0-3-0-scout-premi)

## Channel facts

- Registry: `mcpb`
- Package: `https://github.com/tro2789/scout-premiere-mcp/releases/download/v0.3.0/scout-premiere-mcp-0.3.0.mcpb`
- Version: `0.3.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-21.

- **Supply Chain Security**: 13/100
  - Malware scan not yet available for this package.
  - Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
  - No install/post-install scripts declared.
  - Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
- **Provenance & Transparency**: 32/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: the license (SEE LICENSE IN https://www.trevorohare.com/policies) isn't a recognized OSI-approved license.
  - Actively maintained (last published 20 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 62/100
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 14753 tokens (~53/item across 277 items; 277 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 67/100
  - Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 19 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "remove_markers" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 277 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

- Download bundle: `https://github.com/tro2789/scout-premiere-mcp/releases/download/v0.3.0/scout-premiere-mcp-0.3.0.mcpb`

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-20 (score 47, +1)

No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-18 (score 46, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-15 (score 45, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-13 (score 44, +1)

No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-11 (score 43, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-09 (score 42, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-08 (score 41, +3)

- [functional improvement] Stability: unverified → 0.23

### 2026-09-01 (score 38)

First indexed and scored.

## MCP tools (277)

### `get_active_sequence` (~108 tokens)

Read structural info about the active Premiere sequence: name, frame rate, total duration in seconds, first-frame timecode (zero point), and per-track summaries (index, name, clip count). No arguments. Use this first to confirm a sequence is open and to learn its duration before asking for transcripts or placing markers. The result always includes activeSequence {name, id} — the sequence this call actually ran against. Compare it across calls to detect the user switching sequences in Premiere mid-session.

### `get_transcript` (~175 tokens)

Get the active sequence's transcript, stitched across all audio source clips and mapped into sequence-time. Each segment has start/end seconds (sequence-relative), text, and optional speaker label. Returns coverage info indicating what window of the sequence has transcript data. Optionally clip to a sequence-time window with startSec / endSec. Note: clips must be transcribed in Premiere first (Window > Text > Transcript > Transcribe sequence) or this returns ok:false. The result always includes activeSequence {name, id} — the sequence this call actually ran against. Compare it across calls to detect the user switching sequences in Premiere mid-session.

Input parameters:

- `endSec` (number): Optional. Filter to segments overlapping [startSec, endSec].
- `startSec` (number): Optional. Filter to segments overlapping [startSec, endSec].

### `find_words` (~297 tokens)

Search the active sequence's transcript for a word or phrase and get WORD-ACCURATE sequence times for each match — the MCP equivalent of clicking a word in Premiere's Text panel. Returns startSec/endSec of the matched words plus timecodes (HH:MM:SS:FF; drop-frame HH:MM:SS;FF on 29.97/59.94 sequences), surrounding context, speaker, and whether the match ends a sentence (eos - a natural cut boundary). Use this to snap marker/cut points precisely instead of relying on get_transcript's sentence-level segment starts. Matching is case- and punctuation-insensitive. Optionally restrict to a sequence-time window with startSec/endSec. Requires transcribed clips, same as get_transcript. The result always includes activeSequence {name, id} — the sequence this call actually ran against. Compare it across calls to detect the user switching sequences in Premiere mid-session.

Input parameters:

- `endSec` (number): Optional. Only match words starting at/before this sequence time.
- `maxMatches` (number): Optional. Max matches to return (default 8). totalMatches in the result reports the full count.
- `query` (string, required): Word or phrase to find, e.g. 'discovering this art by accident'. Multi-word queries match consecutive spoken words.
- `startSec` (number): Optional. Only match words starting at/after this sequence time.

### `list_markers` (~110 tokens)

List markers on the active sequence with start seconds, duration seconds, name, comment, type, and color index. Optionally filter by name prefix (e.g. 'Scout/Social:' to see only Social Clips markers added by Scout). The result always includes activeSequence {name, id} — the sequence this call actually ran against. Compare it across calls to detect the user switching sequences in Premiere mid-session.

Input parameters:

- `prefix` (string): Optional. Only return markers whose name starts with this string.

### `place_markers` (~198 tokens)

Add markers to the active sequence. Each marker has startSec (required) and optional endSec (omit for a point marker, include for a duration marker). All markers in one call share a single colorName. Use the Scout namespace convention for `name` (e.g. 'Scout/Social: Hook intro', 'Scout/Cleanup: Dead air', 'Scout/Key: Topic shift') so other tools and the panel UI can find them by prefix later. Markers are added non-destructively — existing markers are not touched. The result always includes activeSequence {name, id} — the sequence this call actually ran against. Compare it across calls to detect the user switching sequences in Premiere mid-session.

Input parameters:

- `colorName` (string): Color applied to all markers in this batch. Defaults to GREEN. Note Adobe's enum spells magenta 'MAGNETA' — typo in the constants.
- `markers` (array, required)

### `apply_cleanup` (~423 tokens)

DESTRUCTIVE — applies Lift or Extract to every 'Scout/Cleanup:' marker range on the active sequence. Lift removes the content within each range and leaves a gap; Extract removes it AND ripples later content left to close the gap. A backup clone of the sequence is created FIRST (look for '<sequence name> — backup' in the Project panel) so this is recoverable. If the backup cannot be confirmed, the tool ABORTS before touching the timeline and returns an error; only after the user explicitly accepts the risk may you retry with allowNoBackup: true. Acts ONLY on markers whose name starts with 'Scout/Cleanup:' — to apply over markers you placed in another namespace, first rename them via remove_markers + place_markers. Requires the CEP helper to be running (see cep-helper/README.md). Confirm with the user before invoking — this changes their timeline. Extract mode also leaves a GREEN point marker (prefix 'Scout/Edit:') at each join location so the user can navigate via the Markers panel and audit each cut. Listable/removable via list_markers/remove_markers with prefix='Scout/Edit:'. Lift mode does NOT place these (the gap is already the visual breadcrumb). The result includes a log:[...] array of internal diagnostic lines — check it (especially the backup line) and surface anything alarming to the user. The result always includes activeSequence {name, id} — the sequence this call actually ran against. Compare it across calls to detect the user switching sequences in Premiere mid-session.

Input parameters:

- `allowNoBackup` (boolean): Optional, default false. By default the tool ABORTS (before any razor/remove) when the pre-apply backup clone cannot be confirmed — createCloneAction sometimes returns null (cause unknown; see the to…
- `mode` (string, required): lift = remove content, leave gap. extract = remove content AND ripple later content left.

### `create_chapter_markers` (~123 tokens)

Convert duration markers under the given prefix into POINT markers of type MARKER_TYPE_CHAPTER (duration 0). Used to turn 'Scout/Key:' moments into YouTube/podcast chapter markers. Originals are removed after the chapter markers are created. Default prefix is 'Scout/Key:'. The result always includes activeSequence {name, id} — the sequence this call actually ran against. Compare it across calls to detect the user switching sequences in Premiere mid-session.

Input parameters:

- `prefix` (string): Marker name prefix to convert. Default 'Scout/Key:'.

### `export_markers_csv` (~182 tokens)

Write a CSV of every marker matching `prefix` to a file in the Scout plugin's UXP data folder. Columns: startSec, endSec, durationSec, startTimecode (HH:MM:SS), label, reason. Returns the absolute path of the written file. Common usage: prefix='Scout/Quote:' filename='scout-quotes.csv' for quote pulls, or prefix='Scout/Broll:' filename='scout-broll-cues.csv' for B-roll cues. The result always includes activeSequence {name, id} — the sequence this call actually ran against. Compare it across calls to detect the user switching sequences in Premiere mid-session.

Input parameters:

- `filename` (string): Output filename in the UXP data folder. Default 'scout-markers.csv'.
- `prefix` (string, required): Marker name prefix to include (required).

### `razor_at` (~386 tokens)

Cut tracks in the active sequence at each provided sequence-time (in seconds). Produces no content removal — just adds cut boundaries, the same effect as Premiere's Razor tool (Ctrl+K) applied at each point. Reversible with Ctrl+Z in Premiere. Requires the CEP helper to be running. Optional `scope` selects which tracks are cut: 'all' (default — every video AND audio track), 'video' (every video track only), 'audio' (every audio track only), or 'track' (one specific track — `trackType` and `trackIndex` are then REQUIRED; they are invalid with any other scope; enforced in the handler since the schema cannot express the pairing). CAVEAT: per-track cuts (scope video/audio/track) unlink audio from video on the cut clips — Premiere's QE per-track razor behaves that way; scope 'all' cuts through everything at once. Use this when Claude needs to introduce cuts without the full Lift/Extract flow — e.g., 'cut the timeline at the 10 speaker transitions' followed by a manual review. The result always includes activeSequence {name, id} — the sequence this call actually ran against. Compare it across calls to detect the user switching sequences in Premiere mid-session.

Input parameters:

- `scope` (string): Which tracks to cut. Default 'all'. 'video'/'audio' cut every track of that type; 'track' cuts exactly one track (requires trackType + trackIndex).
- `seconds` (array, required): Sequence-time positions (in seconds) at which to cut.
- `trackIndex` (integer): Required when scope='track', invalid otherwise. 0-based track index (V1 = video 0, A1 = audio 0).
- `trackType` (string): Required when scope='track', invalid otherwise. Type of the single track to cut.

### `enable_all_clips` (~153 tokens)

Enable every clip on every video and audio track of the active sequence (sets disabled=false). Useful when a previous Multi-Cam edit, Lift, or manual disable left a bunch of clips muted/hidden and the user wants to restore them all at once instead of clicking each. The whole batch is a single undo entry (Ctrl+Z rolls it back). Calling on a clip that's already enabled is a no-op, so this is safe to run on any sequence — there is no 'enabled some, disabled some' mode. No arguments. The result always includes activeSequence {name, id} — the sequence this call actually ran against. Compare it across calls to detect the user switching sequences in Premiere mid-session.

### `remove_markers` (~200 tokens)

Remove markers from the active sequence. Provide AT LEAST ONE filter: `prefix` (removes every marker whose name starts with the prefix — common case for cleaning up a batch you placed earlier) and/or `startSecMatches` (an array of start times in seconds; matches within ±0.05s tolerance — useful for surgical removal of specific markers identified via list_markers). At least one filter is required; the call fails if both are omitted (no wildcard remove-all). When both are given, a marker only needs to match ONE of them to be removed. The result always includes activeSequence {name, id} — the sequence this call actually ran against. Compare it across calls to detect the user switching sequences in Premiere mid-session.

Input parameters:

- `prefix` (string): Remove all markers whose name starts with this prefix.
- `startSecMatches` (array): Remove markers whose start time matches one of these (±0.05s).

### `execute_extendscript` (~135 tokens)

Run arbitrary ExtendScript inside Premiere Pro via the Scout CEP helper and return the script's string result. The QE DOM is available (app.enableQE() has been called). The script must be self-contained — each call is an independent eval with no shared state beyond Premiere's DOM. Return a JSON-shaped string for structured results. POWER TOOL: this can do anything Premiere scripting can, including destructive changes with no undo grouping — prefer the named tools when one exists, and back up the sequence before structural timeline edits.

Input parameters:

- `script` (string, required): ExtendScript source to evaluate. Its final expression's string coercion is the result.

### `list_project_items` (~67 tokens)

Lists all media items, bins, and assets in the current Premiere Pro project. Use this to discover available media before performing operations.

Input parameters:

- `includeBins` (boolean): Whether to include bin information in the results
- `includeMetadata` (boolean): Whether to include detailed metadata for each item

### `list_sequences` (~27 tokens)

Lists all sequences in the current Premiere Pro project with their IDs, names, and basic properties.

### `list_sequence_tracks` (~59 tokens)

Lists all video and audio tracks in a specific sequence with their properties and clips.

Input parameters:

- `sequenceId` (string, required): The sequence ID (GUID) to list tracks for, as returned in the "id" field by list_sequences or get_active_sequence

### `get_project_info` (~26 tokens)

Gets comprehensive information about the current project including name, path, settings, and status.

### `verify_premiere_connection` (~52 tokens)

Read-only readiness check for the live CEP bridge and Premiere Pro host. Run this before an editing workflow to confirm the bridge responds and report the Premiere version, project, and active sequence without changing the project.

### `get_capabilities` (~89 tokens)

Reports the local MCP runtime, installed bridge status, tool/resource/prompt catalog sizes, and supported versus experimental integration surfaces. Set checkConnection to true to run the read-only live Premiere connection check; otherwise no Premiere request is made.

Input parameters:

- `checkConnection` (boolean): When true, run verify_premiere_connection and include its live result. Defaults to false so capability discovery is fast and non-invasive.

### `validate_project_for_export` (~167 tokens)

Runs a non-destructive export readiness audit for the active or requested sequence. Checks timeline content, offline media, missing export preset/output folder inputs, gaps, markers, and basic audio/video track state before an agent queues an export.

Input parameters:

- `checkGaps` (boolean): When true, timeline gaps are reported as warnings. Defaults to true.
- `outputPath` (string): Optional intended export output path. When provided, the parent folder is checked.
- `presetPath` (string): Optional Adobe Media Encoder .epr preset path. When provided, the file is checked.
- `requireNonEmptyTimeline` (boolean): When true, an empty timeline is an error. Defaults to true.
- `sequenceId` (string): Optional sequence ID to validate. Defaults to the active sequence.

### `build_motion_graphics_demo` (~65 tokens)

Generates clean demo stills, creates a sequence, lays the shots out on the timeline, adds dissolves, and applies subtle scale animation for a polished minimalist ad-style demo.

Input parameters:

- `sequenceName` (string): Optional sequence name. Defaults to "Apple Like Motion Demo".

### `assemble_product_spot` (~234 tokens)

Builds a production-oriented promo timeline from real media assets. Supports either template defaults or an explicit clipPlan for LLM-directed pacing, transitions, motion, trims, and per-clip effects.

Input parameters:

- `assetPaths` (array, required): Absolute paths to video or image assets in playback order
- `clipDuration` (number): Default placement duration in seconds for stills and rough spacing for assets. Defaults to 4.0
- `clipPlan` (array): Optional explicit edit plan. When provided, each step can override timing, track, transition, motion, trim, effects, and color.
- `motionStyle` (string): Fallback motion style when clipPlan does not override it. Defaults to "alternate" in template mode.
- `sequenceName` (string, required): Name for the new sequence
- `transitionDuration` (number): Transition duration in seconds. Defaults to 0.5
- `transitionName` (string): Default transition when clipPlan does not override it. Defaults to "Cross Dissolve" in template mode.
- `videoTrackIndex` (number): Target video track index. Defaults to 0

### `build_brand_spot_from_mogrt_and_assets` (~327 tokens)

Builds a branded ad assembly from real media assets, supports optional MOGRT overlay, and allows explicit clipPlan control. Default polish is optional so creative direction can come from LLM planning instead of hardcoded passes.

Input parameters:

- `applyDefaultPolish` (boolean): Whether to apply the legacy light polish pass (blur + small color tweak). Defaults to false.
- `assetPaths` (array, required): Absolute paths to source assets in edit order
- `clipDuration` (number): Default spacing in seconds for asset placement. Defaults to 4.0
- `clipPlan` (array): Optional explicit edit plan. Reuses assemble_product_spot clipPlan semantics.
- `mogrtPath` (string): Optional absolute path to a .mogrt title or branding template
- `motionStyle` (string): Fallback motion style when clipPlan does not override it. Defaults to "alternate" in template mode.
- `sequenceName` (string, required): Name for the new sequence
- `titleStartTime` (number): Timeline start time in seconds for the optional MOGRT. Defaults to 0.4
- `titleTrackIndex` (number): Video track for the optional MOGRT overlay. Defaults to 1
- `transitionDuration` (number): Transition duration in seconds. Defaults to 0.5
- `transitionName` (string): Default transition when clipPlan does not override it. Defaults to "Cross Dissolve" in template mode.
- `videoTrackIndex` (number): Base video track for the main assets. Defaults to 0

### `create_project` (~81 tokens)

Creates a new Adobe Premiere Pro project. Use this when the user wants to start a new video editing project from scratch.

Input parameters:

- `location` (string, required): The absolute directory path where the project file should be saved, e.g., "/Users/user/Documents/Videos"
- `name` (string, required): The name for the new project, e.g., "My Summer Vacation"

### `open_project` (~39 tokens)

Opens an existing Adobe Premiere Pro project from a specified file path.

Input parameters:

- `path` (string, required): The absolute path to the .prproj file to open

### `save_project` (~17 tokens)

Saves the currently active Adobe Premiere Pro project.

### `save_project_as` (~50 tokens)

Saves the current project with a new name and location.

Input parameters:

- `location` (string, required): The absolute directory path where the project should be saved
- `name` (string, required): The new name for the project

### `import_media` (~73 tokens)

Imports a media file (video, audio, image) into the current Premiere Pro project.

Input parameters:

- `binName` (string): The name of the bin to import the media into. If not provided, it will be imported into the root.
- `filePath` (string, required): The absolute path to the media file to import

### `import_fcp_xml` (~106 tokens)

Imports a Final Cut Pro 7 XML (XMEML) file into the current project. Premiere creates a new sequence with the cuts/clips defined in the XML. The import requests Premiere UI suppression, but malformed or unsupported XML can still be rejected by Premiere. Use legacy FCP7 XML, not modern FCPXML 1.x from Final Cut Pro X.

Input parameters:

- `filePath` (string, required): The absolute path to the FCP7 XML file (.xml extension typical)

### `import_edl` (~72 tokens)

Reports that CMX 3600 EDL import is unavailable through this dialog-safe MCP server. Premiere's EDL API opens an interactive sequence/source-media dialog that blocks CEP. Use import_fcp_xml for unattended timeline interchange instead.

Input parameters:

- `filePath` (string, required): The absolute path to the .edl file

### `import_folder` (~71 tokens)

Imports all media files from a folder into the current Premiere Pro project.

Input parameters:

- `binName` (string): The name of the bin to import the media into
- `folderPath` (string, required): The absolute path to the folder containing media files
- `recursive` (boolean): Whether to import from subfolders recursively

### `create_bin` (~56 tokens)

Creates a new bin (folder) in the project panel to organize media.

Input parameters:

- `name` (string, required): The name for the new bin
- `parentBinName` (string): The name of the parent bin to create this bin inside

### `create_sequence` (~103 tokens)

Creates a new sequence from a specific installed .sqpreset file without opening Premiere's New Sequence dialog. For footage-driven edits, prefer create_sequence_from_clips; for an empty copy of an existing sequence, use duplicate_sequence with clearContents=true.

Input parameters:

- `name` (string, required): The name for the new sequence
- `presetPath` (string, required): Absolute path to an installed Premiere .sqpreset sequence preset. Required so Premiere does not show the native New Sequence dialog.

### `duplicate_sequence` (~137 tokens)

Creates a copy of an existing sequence with a new name. Set clearContents=true to get an EMPTY copy that inherits the source sequence's exact settings (frame rate, resolution, track layout) — the reliable way to auto-create a correctly-specced blank target, since create_sequence ignores frame rate.

Input parameters:

- `clearContents` (boolean): When true, remove all clips from the copy so it is empty but keeps the source's frame rate/resolution/track layout. Default false (full copy).
- `newName` (string, required): The name for the new sequence copy
- `sequenceId` (string, required): The ID of the sequence to duplicate

### `delete_sequence` (~30 tokens)

Deletes a sequence from the project.

Input parameters:

- `sequenceId` (string, required): The ID of the sequence to delete

### `add_to_timeline` (~296 tokens)

Adds a media clip from the project panel to a sequence timeline at a specific track and time.

Input parameters:

- `insertMode` (string): Whether to overwrite existing content or insert and shift
- `linkAudio` (boolean): When false, removes the auto-linked audio counterpart that Premiere places on audio tracks for video-track clips. Useful for video overlays whose source media (e.g. Remotion .mov outputs) carry silen…
- `projectItemId` (string, required): The ID of the project item (clip) to add
- `sequenceId` (string, required): The ID of the sequence (timeline) to add the clip to
- `sourceInPoint` (number): Source IN point in seconds — the start of the sub-range to pull from the source (footage or sequence). Replicates marking an in point in the Source monitor. Requires sourceOutPoint. When omitted, the…
- `sourceOutPoint` (number): Source OUT point in seconds — the end of the sub-range to pull from the source. Replicates marking an out point in the Source monitor. Requires sourceInPoint.
- `time` (number, required): The time in seconds where the clip should be placed on the timeline
- `trackIndex` (number, required): The index of the video or audio track (0-based)

### `add_to_timeline_batch` (~193 tokens)

Places MANY clips onto one sequence in a single round-trip — the fast path for rebuilding a whole edit (e.g. a Descript/EDL stringout). Equivalent to calling add_to_timeline (overwrite) once per clip, but ~50x faster because it loops inside one ExtendScript pass instead of one file round-trip per clip. Each clip supports per-clip linkAudio and sourceInPoint/sourceOutPoint (Source-monitor in/out). Returns a per-clip result array so one bad clip does not sink the batch, plus an aggregate status: top-level success is true ONLY when every clip placed; status is "success" | "partial" | "failure" with placed/failed/total counts.

Input parameters:

- `clips` (array, required): Ordered list of clips to place. All use overwrite mode.
- `sequenceId` (string, required): The ID of the sequence (timeline) to add clips to

### `remove_from_timeline` (~100 tokens)

Removes a clip from the timeline. Pass sequenceId when the clip ID came from list_sequence_tracks for a non-active sequence.

Input parameters:

- `clipId` (string, required): The ID of the clip on the timeline to remove
- `deleteMode` (string): Whether to ripple delete (close gap) or lift (leave gap)
- `sequenceId` (string): Optional sequence ID to search. If omitted, searches the active sequence first, then all sequences.

### `move_clip` (~106 tokens)

Moves a clip along the timeline, keeping it on its current track. To move a clip to a different track, use move_clip_to_track: on this Premiere build that is a remove-and-reinsert, which can overwrite whatever occupies the destination and gives the clip a new id, so it is deliberately a separate call rather than an option here.

Input parameters:

- `clipId` (string, required): The ID of the clip to move
- `newTime` (number, required): The new time position in seconds

### `trim_clip` (~113 tokens)

Adjusts the in and out points of a clip on the timeline, effectively shortening it.

Input parameters:

- `clipId` (string, required): The ID of the clip on the timeline to trim
- `duration` (number): Alternative: set the desired timeline duration in seconds; cannot be combined with outPoint
- `inPoint` (number): The new in point in seconds from the start of the clip
- `outPoint` (number): The new out point in seconds from the start of the clip; cannot be combined with duration

### `split_clip` (~55 tokens)

Splits a clip at a specific time point, creating two separate clips.

Input parameters:

- `clipId` (string, required): The ID of the clip to split
- `splitTime` (number, required): The time in seconds where to split the clip

### `razor_timeline_at_time` (~115 tokens)

Cuts across multiple tracks in a sequence at an absolute timeline time. If no track arrays are provided, all video and audio tracks are cut.

Input parameters:

- `audioTrackIndices` (array): Optional audio track indices to cut. Defaults to all audio tracks.
- `sequenceId` (string): Optional sequence ID. Defaults to the active sequence.
- `time` (number, required): Absolute timeline time in seconds where the cut should occur.
- `videoTrackIndices` (array): Optional video track indices to cut. Defaults to all video tracks.

### `apply_effect` (~91 tokens)

Applies a visual or audio effect to a clip, identifies the exact newly created component, and verifies parameter readbacks.

Input parameters:

- `clipId` (string, required): The ID of the clip to apply the effect to
- `effectName` (string, required): The name of the effect to apply (e.g., "Gaussian Blur", "Lumetri Color")
- `parameters` (object): Key-value pairs for the effect's parameters

### `crop_clip` (~173 tokens)

Crops a timeline clip using Premiere Pro's built-in Crop video effect. Reuses an existing Crop effect on the clip when present; otherwise adds one. Omitted parameters keep their current/default values.

Input parameters:

- `bottom` (number): Percent to crop from the bottom edge (0-100)
- `clipId` (string, required): The ID of the timeline video clip to crop
- `edgeFeather` (number): Edge Feather amount in pixels
- `left` (number): Percent to crop from the left edge (0-100)
- `right` (number): Percent to crop from the right edge (0-100)
- `top` (number): Percent to crop from the top edge (0-100)
- `zoom` (boolean): Crop effect Zoom toggle: scales the cropped image back up to fill the frame

### `adjust_audio_levels` (~64 tokens)

Adjusts the volume (gain) of an audio clip on the timeline.

Input parameters:

- `clipId` (string, required): The ID of the audio clip to adjust
- `level` (number, required): The new audio level in decibels (dB). Can be positive or negative.

### `detect_silence` (~234 tokens)

Analyzes a media file's audio for silent stretches using ffmpeg's silencedetect filter, run locally via child_process -- NOT via Premiere's scripting API, which has no audio-level/RMS reading capability at all (confirmed: every audio tool in this codebase only writes levels, never reads them). Requires ffmpeg on PATH; returns an explicit error if it is not found rather than failing silently. This is DETECTION ONLY -- it does not cut or modify anything. Use the returned intervals with split_clip/ripple_delete/razor_timeline_at_time if you want to remove the silence.

Input parameters:

- `mediaPath` (string): Direct filesystem path to the media file to analyze
- `minDurationSeconds` (number): Minimum duration in seconds for a quiet stretch to be reported as silence (default 1.5)
- `noiseThresholdDb` (number): Silence threshold in dBFS, e.g. -30 (default -30). Audio quieter than this is considered silent.
- `projectItemId` (string): Project item ID to resolve to a media path instead of passing mediaPath directly

### `add_audio_keyframes` (~48 tokens)

Adds keyframes to audio levels for dynamic volume changes.

Input parameters:

- `clipId` (string, required): The ID of the audio clip
- `keyframes` (array, required): Array of keyframe data

### `setup_ducking` (~248 tokens)

High-level wrapper around add_audio_keyframes that builds a ducking curve from a base level + ducking windows. Computes 4 keyframes per window (pre-fade, duck-in, duck-out, post-fade) plus boundary keyframes at clip start/end. Replaces the manual "8 keyframes per video" pattern from Sprint 3. Times are clip-source-time absolute (same convention as add_audio_keyframes).

Input parameters:

- `baseDb` (number, required): Sustained level in dB (e.g. -25 for music bed under voice)
- `clipEndTime` (number): Clip end time anchor for last keyframe; if omitted, last duck window endTime + 1s is used
- `clipId` (string, required): The ID of the music/SFX clip to apply ducking to
- `clipStartTime` (number): Clip start time anchor for first keyframe (default 0)
- `duckingWindows` (array, required): Windows where the clip should duck below baseDb. Empty array = sustained baseDb only.
- `fadeSeconds` (number): Ramp time for each transition (default 0.2s = 6 frames @30fps)

### `mute_track` (~66 tokens)

Mutes or unmutes an entire audio track.

Input parameters:

- `muted` (boolean, required): Whether to mute (true) or unmute (false) the track
- `sequenceId` (string, required): The ID of the sequence
- `trackIndex` (number, required): The index of the audio track

### `add_text_overlay` (~395 tokens)

Adds a text layer (title) over the video timeline. Requires a MOGRT (.mogrt) template file path. Supports up to 4 text fields (text, text2, text3, text4) — each populates the Nth "AE.ADBE Text" component in the MOGRT (e.g., for Basic Lower Third: text=main title, text2=subtitle).

Input parameters:

- `duration` (number, required): How long the text should remain on screen in seconds (best-effort; the MOGRT's natural duration may take precedence)
- `mogrtPath` (string): Absolute path to a .mogrt template file (required for text overlays)
- `rollbackOnTextFailure` (boolean): If true, remove the imported timeline Graphic when every requested text write fails. Defaults to false; the imported project item may remain in the Project panel.
- `sequenceId` (string, required): The sequence to add the text to
- `startTime` (number, required): The time in seconds when the text should appear
- `text` (string, required): Text for the first AE text component in the MOGRT (typically the main title)
- `text2` (string): Text for the second AE text component (e.g., subtitle of a lower third)
- `text3` (string): Text for the third AE text component (if present)
- `text4` (string): Text for the fourth AE text component (if present)
- `textPropertyName` (string): Override: explicit displayName of the property to write into. When set, only `text` is written (text2/text3/text4 are ignored) and the call fails if no property with that displayName exists. Use only…
- `trackIndex` (number, required): The video track to place the text on (0-indexed; create the track first via add_track if needed)

### `color_correct` (~163 tokens)

Applies basic color correction adjustments to a video clip.

Input parameters:

- `brightness` (number): Brightness adjustment (-100 to 100)
- `clipId` (string, required): The ID of the clip to color correct
- `contrast` (number): Contrast adjustment (-100 to 100)
- `highlights` (number): Adjustment for the brightest parts of the image (-100 to 100)
- `hue` (number): Hue adjustment in degrees (-180 to 180)
- `saturation` (number): Saturation adjustment (-100 to 100)
- `shadows` (number): Adjustment for the darkest parts of the image (-100 to 100)
- `temperature` (number): Color temperature adjustment (-100 to 100)
- `tint` (number): Tint adjustment (-100 to 100)

### `apply_lut` (~72 tokens)

Applies a Look-Up Table (LUT) to a clip for color grading.

Input parameters:

- `clipId` (string, required): The ID of the clip
- `intensity` (number): LUT intensity (0-100)
- `lutPath` (string, required): The absolute path to the .cube or .3dl LUT file

### `export_sequence` (~238 tokens)

Renders and exports a sequence to a video file. This is for creating the final video.

Input parameters:

- `allowOverwrite` (boolean): Allow writing to an existing output file. Defaults to false.
- `format` (string): Deprecated hint only; the .epr preset controls codec/container.
- `outputPath` (string, required): The absolute path where the final video file will be saved
- `presetName` (string): Exact user preset display name or filename stem. Must resolve to exactly one discovered .epr preset.
- `presetPath` (string): Absolute path to an export preset file (.epr). Required unless presetName uniquely resolves through get_encoder_presets.
- `quality` (string): Deprecated hint only; the .epr preset controls quality.
- `removeOnCompletion` (boolean): Pass AME removeOnCompletion. Defaults to true to preserve existing queue behavior.
- `resolution` (string): Deprecated hint only; the .epr preset controls resolution.
- `sequenceId` (string, required): The ID of the sequence to export
- `sourceRange` (string): Export source range. Defaults to entire. Requested ranges are never silently substituted.

### `export_frame` (~78 tokens)

Exports a single frame from a sequence as an image file.

Input parameters:

- `format` (string): The image format
- `outputPath` (string, required): The absolute path where the image file will be saved
- `sequenceId` (string, required): The ID of the sequence
- `time` (number, required): The time in seconds to export the frame from

### `add_marker` (~168 tokens)

Adds a marker to the specified sequence for navigation or notes. The sequence does not have to be the active one.

Input parameters:

- `color`: Marker colour — a name (green, red, purple, orange, yellow, white, blue, cyan) or an index 0-7. Defaults to green.
- `comment` (string): Optional comment or description for the marker
- `duration` (number): Duration in seconds for a span marker (0 for point marker)
- `name` (string, required): The name/label for the marker
- `sequenceId` (string, required): The sequence ID (GUID) to add the marker to, as returned in the "id" field by list_sequences or get_active_sequence
- `time` (number, required): The time in seconds where the marker should be placed

### `delete_marker` (~71 tokens)

Deletes a marker from the specified sequence. The sequence does not have to be the active one.

Input parameters:

- `markerId` (string, required): The ID of the marker to delete
- `sequenceId` (string, required): The sequence ID (GUID) as returned in the "id" field by list_sequences or get_active_sequence

### `update_marker` (~136 tokens)

Updates an existing marker's properties in the specified sequence. The sequence does not have to be the active one.

Input parameters:

- `color`: New colour. Marker colour — a name (green, red, purple, orange, yellow, white, blue, cyan) or an index 0-7. Defaults to green.
- `comment` (string): New comment
- `markerId` (string, required): The ID of the marker to update
- `name` (string): New name for the marker
- `sequenceId` (string, required): The sequence ID (GUID) as returned in the "id" field by list_sequences or get_active_sequence

### `lock_track` (~101 tokens)

Locks or unlocks a track to prevent/allow editing. The sequence does not have to be the active one.

Input parameters:

- `locked` (boolean, required): Whether to lock (true) or unlock (false)
- `sequenceId` (string, required): The sequence ID (GUID) as returned in the "id" field by list_sequences or get_active_sequence
- `trackIndex` (number, required): The index of the track
- `trackType` (string, required): Type of track

### `toggle_track_visibility` (~123 tokens)

Shows or hides a video track by toggling its output (the eye icon) in the specified sequence. The sequence does not have to be the active one. This is track OUTPUT, not track targeting -- use set_target_track for the V1/A1 patch buttons.

Input parameters:

- `sequenceId` (string, required): The sequence ID (GUID) as returned in the "id" field by list_sequences or get_active_sequence
- `trackIndex` (number, required): The index of the video track
- `visible` (boolean, required): Whether to show (true) or hide (false)

### `link_audio_video` (~51 tokens)

Links or unlinks audio and video components of a clip.

Input parameters:

- `clipId` (string, required): The ID of the clip
- `linked` (boolean, required): Whether to link (true) or unlink (false)

### `apply_audio_effect` (~67 tokens)

Applies an audio effect to a clip.

Input parameters:

- `clipId` (string, required): The ID of the audio clip
- `effectName` (string, required): Name of the audio effect (e.g., "Compressor", "EQ", "Reverb")
- `parameters` (object): Effect parameters

### `apply_audio_effect_to_all_clips` (~117 tokens)

Bulk: applies a single audio effect to ALL audio clips of a sequence in one ExtendScript call. Returns per-clip results. Saves N MCP roundtrips when calibrating or applying same chain.

Input parameters:

- `effectName` (string, required): Audio effect display name (e.g., "Limitador forzado", "Compresor multibanda")
- `parameters` (object): Effect parameters by displayName (exact or normalized)
- `sequenceId` (string, required): Target sequence ID (must be the active sequence in Premiere)

### `duplicate_clip` (~53 tokens)

Duplicates a clip on the timeline.

Input parameters:

- `clipId` (string, required): The ID of the clip to duplicate
- `offset` (number): Time offset in seconds for the duplicate (default: places immediately after original)

### `reverse_clip` (~50 tokens)

Reverses the playback of a clip.

Input parameters:

- `clipId` (string, required): The ID of the clip to reverse
- `maintainAudioPitch` (boolean): Whether to maintain audio pitch (default: true)

### `enable_disable_clip` (~48 tokens)

Enables or disables a clip on the timeline.

Input parameters:

- `clipId` (string, required): The ID of the clip
- `enabled` (boolean, required): Whether to enable (true) or disable (false)

### `replace_clip` (~72 tokens)

Replaces a clip on the timeline with another media item.

Input parameters:

- `clipId` (string, required): The ID of the clip to replace
- `newProjectItemId` (string, required): The ID of the new project item to use
- `preserveEffects` (boolean): Whether to keep effects and settings (default: true)

### `get_sequence_settings` (~36 tokens)

Gets the settings for a sequence (resolution, framerate, etc.).

Input parameters:

- `sequenceId` (string, required): The ID of the sequence

### `set_sequence_settings` (~84 tokens)

Updates sequence settings. Applies width, height, frameRate and pixelAspectRatio, reads the values back afterwards, and reports any field Premiere accepted but did not actually change. Frame size CAN be changed after creation, contrary to an earlier note in this codebase.

Input parameters:

- `sequenceId` (string, required): The ID of the sequence
- `settings` (object, required): Settings to update

### `get_clip_properties` (~122 tokens)

Gets detailed properties of a clip, INCLUDING current Motion values (opacity/scale/rotation/position). Position is returned both normalized (0..1) and in PIXELS (`motion.position`, using the sequence frame size) so you can verify or copy framing without exporting a frame. Pass sequenceId when the clip ID came from list_sequence_tracks for a non-active sequence.

Input parameters:

- `clipId` (string, required): The ID of the clip
- `sequenceId` (string): Optional sequence ID to search. If omitted, searches the active sequence first, then all sequences.

### `set_clip_properties` (~47 tokens)

Sets Motion properties of a clip (opacity, scale, rotation, position).

Input parameters:

- `clipId` (string, required): The ID of the clip
- `properties` (object, required): Properties to set

### `set_clip_properties_batch` (~125 tokens)

Applies Motion properties (opacity/scale/rotation/position) to MANY clips in a single round-trip — the fast path for per-speaker framing across a whole rebuilt edit. ~50x faster than one set_clip_properties call per clip. Returns a per-clip result array; each result carries an `applied` map ({opacity,scale,rotation,position}) and `success` is true only when EVERY requested property was actually found and set (a missing Motion property is reported, not silently ignored).

Input parameters:

- `items` (array, required): List of clip + properties pairs

### `add_to_render_queue` (~156 tokens)

Adds a sequence to the Adobe Media Encoder render queue.

Input parameters:

- `allowOverwrite` (boolean): Allow writing to an existing output file. Defaults to false.
- `outputPath` (string, required): Output file path
- `presetName` (string): Exact user preset display name or filename stem. Must resolve to exactly one discovered .epr preset.
- `presetPath` (string): Export preset file path
- `removeOnCompletion` (boolean): Pass AME removeOnCompletion. Defaults to true.
- `sequenceId` (string, required): The ID of the sequence to render
- `sourceRange` (string): Export source range. Defaults to entire.
- `startImmediately` (boolean): Whether to start rendering immediately (default: false)

### `get_render_queue_status` (~32 tokens)

Reports whether render queue monitoring is available. This currently returns guidance for Adobe Media Encoder rather than live queue telemetry.

### `stabilize_clip` (~57 tokens)

Applies video stabilization to reduce camera shake.

Input parameters:

- `clipId` (string, required): The ID of the clip to stabilize
- `method` (string): Stabilization method
- `smoothness` (number): Stabilization smoothness (0-100)

### `speed_change` (~73 tokens)

Changes the playback speed of a clip.

Input parameters:

- `clipId` (string, required): The ID of the clip
- `maintainAudio` (boolean): Whether to maintain audio pitch when changing speed
- `speed` (number, required): Speed multiplier (0.1 = 10% speed, 2.0 = 200% speed)

### `get_playhead_position` (~38 tokens)

Gets the current playhead (CTI) position in the specified sequence.

Input parameters:

- `sequenceId` (string, required): The ID of the sequence

### `set_playhead_position` (~54 tokens)

Sets the playhead (CTI) position in the specified sequence.

Input parameters:

- `sequenceId` (string, required): The ID of the sequence
- `time` (number, required): The time in seconds to move the playhead to

### `get_selected_clips` (~33 tokens)

Gets all currently selected clips in the specified sequence.

Input parameters:

- `sequenceId` (string, required): The ID of the sequence

### `list_available_effects` (~19 tokens)

Lists all available video effects in Premiere Pro.

### `list_available_transitions` (~19 tokens)

Lists all available video transitions in Premiere Pro.

### `list_available_audio_effects` (~20 tokens)

Lists all available audio effects in Premiere Pro.

### `list_available_audio_transitions` (~20 tokens)

Lists all available audio transitions in Premiere Pro.

### `add_keyframe` (~112 tokens)

Adds a keyframe to a clip component parameter at a specific time.

Input parameters:

- `clipId` (string, required): The ID of the clip
- `componentName` (string, required): The display name of the component (e.g., "Motion", "Opacity")
- `paramName` (string, required): The display name of the parameter (e.g., "Position", "Scale")
- `time` (number, required): The time in seconds for the keyframe
- `value` (number, required): The value to set at this keyframe

### `remove_keyframe` (~81 tokens)

Removes a keyframe from a clip component parameter at a specific time.

Input parameters:

- `clipId` (string, required): The ID of the clip
- `componentName` (string, required): The display name of the component
- `paramName` (string, required): The display name of the parameter
- `time` (number, required): The time in seconds of the keyframe to remove

### `get_keyframes` (~60 tokens)

Gets all keyframes for a clip component parameter.

Input parameters:

- `clipId` (string, required): The ID of the clip
- `componentName` (string, required): The display name of the component
- `paramName` (string, required): The display name of the parameter

### `set_work_area` (~59 tokens)

Sets the work area in/out points for a sequence.

Input parameters:

- `inPoint` (number, required): The in point in seconds
- `outPoint` (number, required): The out point in seconds
- `sequenceId` (string, required): The ID of the sequence

### `find_project_item_by_name` (~58 tokens)

Searches for project items by name. Useful for finding media files, sequences, or bins.

Input parameters:

- `name` (string, required): The name to search for (case-insensitive partial match)
- `type` (string): Filter by item type

### `move_item_to_bin` (~53 tokens)

Moves a project item into a different bin (folder).

Input parameters:

- `projectItemId` (string, required): The ID of the project item to move
- `targetBinId` (string, required): The ID of the destination bin

### `set_active_sequence` (~32 tokens)

Sets the active sequence in the project.

Input parameters:

- `sequenceId` (string, required): The ID of the sequence to activate

### `get_clip_at_position` (~73 tokens)

Gets the clip at a specific time position on a track.

Input parameters:

- `sequenceId` (string, required): The ID of the sequence
- `time` (number, required): The time position in seconds
- `trackIndex` (number, required): The track index (0-based)
- `trackType` (string, required): The type of track

### `auto_reframe_sequence` (~110 tokens)

Automatically reframes a sequence to a new aspect ratio using AI-powered motion tracking.

Input parameters:

- `denominator` (number, required): Aspect ratio denominator (e.g., 16 for 9:16)
- `motionPreset` (string): Motion tracking speed preset
- `newName` (string): Name for the reframed sequence
- `numerator` (number, required): Aspect ratio numerator (e.g., 9 for 9:16)
- `sequenceId` (string, required): The ID of the sequence to reframe

### `detect_scene_edits` (~115 tokens)

Detects scene changes in selected clips and optionally adds cuts or markers.

Input parameters:

- `action` (string): Action to take at detected edit points
- `allowUnsafeSynchronous` (boolean): Actually invoke Premiere scene detection synchronously; can block CEP for a long time
- `applyCutsToLinkedAudio` (boolean): Whether to apply cuts to linked audio
- `sensitivity` (string): Detection sensitivity (e.g., "Low", "Medium", "High")
- `sequenceId` (string, required): The ID of the sequence

### `create_caption_track` (~159 tokens)

Creates a caption track on a sequence from an imported caption/subtitle file (e.g. an .srt imported via import_media). Pass the SRT project item ID directly.

Input parameters:

- `captionFormat` (string): Optional caption format. Omit for subtitles (default, correct for .srt). Accepts: "subtitle", "608", "708", "teletext", "open ebu", "op42", "op47".
- `projectItemId` (string, required): The ID of the caption file project item (e.g. an imported .srt)
- `sequenceId` (string, required): The ID of the sequence
- `startTime` (number): Offset in seconds from the start of the sequence. Defaults to 0.

### `read_sequence_captions` (~131 tokens)

Reads caption tracks of a sequence, returning each caption clip as { start, end, text } in seconds. IMPORTANT: Premiere Pro exposes no caption-read API in its scripting DOM, so in practice this returns trackCount:0 / captions:[] even when the sequence HAS a working caption track. The response field captionReadSupported:false (plus note) signals this — a 0 result does NOT mean the sequence has no captions. To read cue text/timing, parse the source .srt file directly instead.

Input parameters:

- `sequenceId` (string): Optional sequence ID. Defaults to the active sequence.

### `rename_project_item` (~74 tokens)

Renames a project item (sequence, bin, clip) by setting its name. Use this when duplicate_sequence does not propagate the new name to the project panel.

Input parameters:

- `newName` (string, required): The new name for the project item
- `projectItemId` (string, required): The ID of the project item to rename

### `create_subclip` (~125 tokens)

Creates a subclip from a project item with specified in/out points.

Input parameters:

- `endTime` (number, required): Out point in seconds
- `hasHardBoundaries` (boolean): Whether boundaries are hard (cannot be extended)
- `name` (string, required): Name for the subclip
- `projectItemId` (string, required): The ID of the source project item
- `startTime` (number, required): In point in seconds
- `takeAudio` (boolean): Whether to include audio (default: true)
- `takeVideo` (boolean): Whether to include video (default: true)

### `relink_media` (~59 tokens)

Relinks an offline or moved media file to a new file path.

Input parameters:

- `newFilePath` (string, required): The new absolute file path to relink to
- `projectItemId` (string, required): The ID of the project item to relink

### `set_color_label` (~135 tokens)

Sets the color label on a project item.

Input parameters:

- `colorIndex` (number, required): Color label index 0-15 (0=Violet, 1=Iris, 2=Caribbean, 3=Lavender, 4=Cerulean, 5=Forest, 6=Rose, 7=Mango, 8=Purple, 9=Blue, 10=Teal, 11=Magenta, 12=Tan, 13=Green, 14=Brown, 15=Yellow)
- `projectItemId` (string, required): The ID of the project item

### `get_color_label` (~34 tokens)

Gets the color label index of a project item.

Input parameters:

- `projectItemId` (string, required): The ID of the project item

### `get_metadata` (~35 tokens)

Gets project metadata and XMP metadata for a project item.

Input parameters:

- `projectItemId` (string, required): The ID of the project item

### `set_metadata` (~58 tokens)

Sets a project metadata value on a project item.

Input parameters:

- `key` (string, required): The metadata key/field name
- `projectItemId` (string, required): The ID of the project item
- `value` (string, required): The metadata value to set

### `get_footage_interpretation` (~51 tokens)

Gets the footage interpretation settings (frame rate, pixel aspect ratio, field type, etc.) for a project item.

Input parameters:

- `projectItemId` (string, required): The ID of the project item

### `set_footage_interpretation` (~69 tokens)

Sets footage interpretation settings (frame rate, pixel aspect ratio) for a project item.

Input parameters:

- `frameRate` (number): Override frame rate
- `pixelAspectRatio` (number): Override pixel aspect ratio
- `projectItemId` (string, required): The ID of the project item

### `check_offline_media` (~27 tokens)

Checks all project items and returns a list of any that are offline (missing media).

### `export_as_fcp_xml` (~53 tokens)

Exports a sequence as Final Cut Pro XML.

Input parameters:

- `outputPath` (string, required): The absolute file path for the exported XML file
- `sequenceId` (string, required): The ID of the sequence to export

### `undo` (~15 tokens)

Performs an undo operation in Premiere Pro.

### `set_sequence_in_out_points` (~62 tokens)

Sets the in and/or out points on a sequence timeline.

Input parameters:

- `inPoint` (number): The in point in seconds
- `outPoint` (number): The out point in seconds
- `sequenceId` (string, required): The ID of the sequence

### `get_sequence_in_out_points` (~35 tokens)

Gets the in and out points of a sequence timeline.

Input parameters:

- `sequenceId` (string, required): The ID of the sequence

### `export_aaf` (~131 tokens)

Exports a sequence as an AAF file for interchange with other editing/audio applications.

Input parameters:

- `bitsPerSample` (number): Audio bits per sample (default: 16)
- `explodeToMono` (boolean): Whether to explode audio to mono (default: false)
- `mixDownVideo` (boolean): Whether to mix down video (default: true)
- `outputPath` (string, required): The absolute file path for the exported AAF file
- `sampleRate` (number): Audio sample rate (default: 48000)
- `sequenceId` (string, required): The ID of the sequence to export

### `consolidate_duplicates` (~17 tokens)

Consolidates duplicate media items in the project.

### `refresh_media` (~40 tokens)

Refreshes the media for a project item, reloading it from disk.

Input parameters:

- `projectItemId` (string, required): The ID of the project item to refresh

### `import_sequences_from_project` (~55 tokens)

Imports sequences from another Premiere Pro project file.

Input parameters:

- `projectPath` (string, required): The absolute path to the source .prproj file
- `sequenceIds` (array, required): Array of sequence IDs to import from the source project

### `create_subsequence` (~55 tokens)

Creates a subsequence from the in/out points of a sequence.

Input parameters:

- `ignoreTrackTargeting` (boolean): Whether to ignore track targeting (default: false)
- `sequenceId` (string, required): The ID of the source sequence

### `import_mogrt` (~110 tokens)

Imports a Motion Graphics Template (.mogrt) file into a sequence.

Input parameters:

- `audioTrackIndex` (number): The audio track index (default: 0)
- `mogrtPath` (string, required): The absolute path to the .mogrt file
- `sequenceId` (string, required): The ID of the sequence
- `time` (number, required): The time in seconds where the MOGRT should be placed
- `videoTrackIndex` (number): The video track index (default: 0)

### `import_mogrt_from_library` (~125 tokens)

Imports a Motion Graphics Template from a Creative Cloud Library.

Input parameters:

- `audioTrackIndex` (number): The audio track index (default: 0)
- `libraryName` (string, required): The name of the Creative Cloud Library
- `mogrtName` (string, required): The name of the MOGRT in the library
- `sequenceId` (string, required): The ID of the sequence
- `time` (number, required): The time in seconds where the MOGRT should be placed
- `videoTrackIndex` (number): The video track index (default: 0)

### `find_items_by_media_path` (~22 tokens)

Premiere Pro expanded operation: find items by media path.

### `get_insertion_bin` (~19 tokens)

Premiere Pro expanded operation: get insertion bin.

### `get_project_panel_metadata` (~20 tokens)

Premiere Pro expanded operation: get project panel metadata.

### `get_graphics_white_luminance` (~24 tokens)

Premiere Pro expanded operation: get graphics white luminance.

### `get_item_info` (~18 tokens)

Premiere Pro expanded operation: get item info.

### `get_xmp_metadata` (~20 tokens)

Premiere Pro expanded operation: get xmp metadata.

### `get_color_space` (~18 tokens)

Premiere Pro expanded operation: get color space.

### `rename_clip` (~16 tokens)

Premiere Pro expanded operation: rename clip.

### `get_clip_speed` (~18 tokens)

Premiere Pro expanded operation: get clip speed.

### `set_clip_selection` (~18 tokens)

Premiere Pro expanded operation: set clip selection.

### `link_selection` (~16 tokens)

Premiere Pro expanded operation: link selection.

### `unlink_selection` (~16 tokens)

Premiere Pro expanded operation: unlink selection.

### `inspect_dom_object` (~18 tokens)

Premiere Pro expanded operation: inspect dom object.

### `list_clip_effects` (~19 tokens)

Premiere Pro expanded operation: list clip effects.

### `get_sequence_structure` (~18 tokens)

Premiere Pro expanded operation: get sequence structure.

### `get_premiere_state` (~20 tokens)

Premiere Pro expanded operation: get premiere state.

### `get_full_project_overview` (~21 tokens)

Premiere Pro expanded operation: get full project overview.

### `get_bin_contents` (~18 tokens)

Premiere Pro expanded operation: get bin contents.

### `get_full_sequence_info` (~20 tokens)

Premiere Pro expanded operation: get full sequence info.

### `get_full_clip_info` (~20 tokens)

Premiere Pro expanded operation: get full clip info.

### `get_project_item_info` (~20 tokens)

Premiere Pro expanded operation: get project item info.

### `search_project_items` (~18 tokens)

Premiere Pro expanded operation: search project items.

### `get_timeline_gaps` (~20 tokens)

Premiere Pro expanded operation: get timeline gaps.

### `get_timeline_summary` (~19 tokens)

Premiere Pro expanded operation: get timeline summary.

### `get_offline_media` (~19 tokens)

Premiere Pro expanded operation: get offline media.

### `get_used_media_report` (~20 tokens)

Premiere Pro expanded operation: get used media report.

### `select_clips_by_name` (~21 tokens)

Premiere Pro expanded operation: select clips by name.

### `select_all_clips` (~19 tokens)

Premiere Pro expanded operation: select all clips.

### `deselect_all_clips` (~21 tokens)

Premiere Pro expanded operation: deselect all clips.

### `select_clips_in_range` (~21 tokens)

Premiere Pro expanded operation: select clips in range.

### `select_disabled_clips` (~19 tokens)

Premiere Pro expanded operation: select disabled clips.

### `open_in_source` (~18 tokens)

Premiere Pro expanded operation: open in source.

### `close_source_monitor` (~18 tokens)

Premiere Pro expanded operation: close source monitor.

### `close_all_source_clips` (~21 tokens)

Premiere Pro expanded operation: close all source clips.

### `set_source_in_out` (~20 tokens)

Premiere Pro expanded operation: set source in out.

### `insert_from_source` (~18 tokens)

Premiere Pro expanded operation: insert from source.

### `overwrite_from_source` (~18 tokens)

Premiere Pro expanded operation: overwrite from source.

### `get_source_monitor_info` (~20 tokens)

Premiere Pro expanded operation: get source monitor info.

### `set_target_track` (~18 tokens)

Premiere Pro expanded operation: set target track.

### `get_target_tracks` (~18 tokens)

Premiere Pro expanded operation: get target tracks.

### `rename_track` (~16 tokens)

Premiere Pro expanded operation: rename track.

### `get_track_info` (~18 tokens)

Premiere Pro expanded operation: get track info.

### `clear_item_in_out` (~20 tokens)

Premiere Pro expanded operation: clear item in out.

### `set_item_in_out` (~20 tokens)

Premiere Pro expanded operation: set item in out.

### `remove_selected_clips` (~19 tokens)

Premiere Pro expanded operation: remove selected clips.

### `redo` (~14 tokens)

Premiere Pro expanded operation: redo.

### `multiple_undo` (~17 tokens)

Premiere Pro expanded operation: multiple undo.

### `get_version_info` (~18 tokens)

Premiere Pro expanded operation: get version info.

### `get_all_project_paths` (~20 tokens)

Premiere Pro expanded operation: get all project paths.

### `lift_selection` (~16 tokens)

Premiere Pro expanded operation: lift selection.

### `extract_selection` (~16 tokens)

Premiere Pro expanded operation: extract selection.

### `get_project_scratch_disks` (~22 tokens)

Premiere Pro expanded operation: get project scratch disks.

### `get_sequence_count` (~18 tokens)

Premiere Pro expanded operation: get sequence count.

### `get_total_clip_count` (~20 tokens)

Premiere Pro expanded operation: get total clip count.

### `match_frame` (~16 tokens)

Premiere Pro expanded operation: match frame.

### `ping` (~14 tokens)

Premiere Pro expanded operation: ping.

### `get_workspaces` (~18 tokens)

Premiere Pro expanded operation: get workspaces.

### `set_workspace` (~16 tokens)

Premiere Pro expanded operation: set workspace.

### `play_timeline` (~17 tokens)

Premiere Pro expanded operation: play timeline.

### `stop_playback` (~17 tokens)

Premiere Pro expanded operation: stop playback.

### `play_source_monitor` (~18 tokens)

Premiere Pro expanded operation: play source monitor.

### `get_source_monitor_position` (~20 tokens)

Premiere Pro expanded operation: get source monitor position.

### `close_project` (~16 tokens)

Premiere Pro expanded operation: close project.

### `delete_bin` (~16 tokens)

Premiere Pro expanded operation: delete bin.

### `rename_bin` (~16 tokens)

Premiere Pro expanded operation: rename bin.

### `create_smart_bin` (~19 tokens)

Premiere Pro expanded operation: create smart bin.

### `start_batch_encode` (~18 tokens)

Premiere Pro expanded operation: start batch encode.

### `add_custom_metadata_field` (~20 tokens)

Premiere Pro expanded operation: add custom metadata field.

### `import_sequences` (~16 tokens)

Premiere Pro expanded operation: import sequences.

### `create_bars_and_tone` (~22 tokens)

Premiere Pro expanded operation: create bars and tone.

### `set_transcode_on_ingest` (~23 tokens)

Premiere Pro expanded operation: set transcode on ingest.

### `set_project_panel_metadata` (~20 tokens)

Premiere Pro expanded operation: set project panel metadata.

### `set_graphics_white_luminance` (~24 tokens)

Premiere Pro expanded operation: set graphics white luminance.

### `set_scratch_disk_path` (~21 tokens)

Premiere Pro expanded operation: set scratch disk path.

### `set_offline` (~17 tokens)

Premiere Pro expanded operation: set offline.

### `has_proxy` (~16 tokens)

Premiere Pro expanded operation: has proxy.

### `detach_proxy` (~16 tokens)

Premiere Pro expanded operation: detach proxy.

### `set_override_frame_rate` (~20 tokens)

Premiere Pro expanded operation: set override frame rate.

### `set_override_pixel_aspect_ratio` (~23 tokens)

Premiere Pro expanded operation: set override pixel aspect ratio.

### `set_scale_to_frame_size` (~22 tokens)

Premiere Pro expanded operation: set scale to frame size.

### `select_item` (~16 tokens)

Premiere Pro expanded operation: select item.

### `set_start_time` (~18 tokens)

Premiere Pro expanded operation: set start time.

### `unnest_sequence` (~18 tokens)

Premiere Pro expanded operation: unnest sequence.

### `create_sequence_from_preset` (~21 tokens)

Premiere Pro expanded operation: create sequence from preset.

### `attach_custom_property` (~18 tokens)

Premiere Pro expanded operation: attach custom property.

### `get_export_file_extension` (~20 tokens)

Premiere Pro expanded operation: get export file extension.

### `remove_effect` (~16 tokens)

Premiere Pro expanded operation: remove effect.

### `set_xmp_metadata` (~20 tokens)

Premiere Pro expanded operation: set xmp metadata.

### `export_omf` (~19 tokens)

Premiere Pro expanded operation: export omf.

### `encode_project_item` (~18 tokens)

Premiere Pro expanded operation: encode project item.

### `encode_file` (~16 tokens)

Premiere Pro expanded operation: encode file.

### `ripple_delete` (~16 tokens)

Premiere Pro expanded operation: ripple delete.

### `roll_edit` (~16 tokens)

Premiere Pro expanded operation: roll edit.

### `slide_edit` (~16 tokens)

Premiere Pro expanded operation: slide edit.

### `slip_edit` (~16 tokens)

Premiere Pro expanded operation: slip edit.

### `move_clip_to_track` (~20 tokens)

Premiere Pro expanded operation: move clip to track.

### `remove_all_effects` (~19 tokens)

Premiere Pro expanded operation: remove all effects.

### `set_clip_speed_qe` (~21 tokens)

Premiere Pro expanded operation: set clip speed qe.

### `set_frame_blend` (~19 tokens)

Premiere Pro expanded operation: set frame blend.

### `set_time_interpolation` (~19 tokens)

Premiere Pro expanded operation: set time interpolation.

### `overwrite_clip` (~16 tokens)

Premiere Pro expanded operation: overwrite clip.

### `create_sequence_from_clips` (~21 tokens)

Premiere Pro expanded operation: create sequence from clips.

### `close_sequence` (~16 tokens)

Premiere Pro expanded operation: close sequence.

### `export_as_project` (~18 tokens)

Premiere Pro expanded operation: export as project.

### `set_zero_point` (~18 tokens)

Premiere Pro expanded operation: set zero point.

### `scene_edit_detection` (~18 tokens)

Premiere Pro expanded operation: scene edit detection.

### `delete_preview_files` (~18 tokens)

Premiere Pro expanded operation: delete preview files.

### `add_tracks` (~16 tokens)

Premiere Pro expanded operation: add tracks.

### `set_color_value` (~18 tokens)

Premiere Pro expanded operation: set color value.

### `get_clip_adjustment_layer` (~21 tokens)

Premiere Pro expanded operation: get clip adjustment layer.

### `get_linked_items` (~19 tokens)

Premiere Pro expanded operation: get linked items.

### `get_mogrt_component` (~21 tokens)

Premiere Pro expanded operation: get mogrt component.

### `get_effect_properties` (~18 tokens)

Premiere Pro expanded operation: get effect properties.

### `set_effect_property` (~18 tokens)

Premiere Pro expanded operation: set effect property.

### `remove_keyframe_range` (~20 tokens)

Premiere Pro expanded operation: remove keyframe range.

### `set_keyframe_interpolation` (~21 tokens)

Premiere Pro expanded operation: set keyframe interpolation.

### `get_value_at_time` (~20 tokens)

Premiere Pro expanded operation: get value at time.

### `select_clips_by_color` (~21 tokens)

Premiere Pro expanded operation: select clips by color.

### `invert_selection` (~16 tokens)

Premiere Pro expanded operation: invert selection.

### `copy_effects_between_clips` (~22 tokens)

Premiere Pro expanded operation: copy effects between clips.

### `copy_effect_values` (~18 tokens)

Premiere Pro expanded operation: copy effect values.

### `replace_clip_media` (~18 tokens)

Premiere Pro expanded operation: replace clip media.

### `batch_apply_effect` (~18 tokens)

Premiere Pro expanded operation: batch apply effect.

### `remove_effect_by_name` (~20 tokens)

Premiere Pro expanded operation: remove effect by name.

### `set_blend_mode` (~19 tokens)

Premiere Pro expanded operation: set blend mode.

### `set_all_tracks_targeted` (~21 tokens)

Premiere Pro expanded operation: set all tracks targeted.

### `razor_all_tracks` (~18 tokens)

Premiere Pro expanded operation: razor all tracks.

### `set_clip_start_time` (~20 tokens)

Premiere Pro expanded operation: set clip start time.

### `import_image_sequence` (~18 tokens)

Premiere Pro expanded operation: import image sequence.

### `set_clip_position` (~18 tokens)

Premiere Pro expanded operation: set clip position.

### `set_clip_scale` (~18 tokens)

Premiere Pro expanded operation: set clip scale.

### `set_clip_rotation` (~18 tokens)

Premiere Pro expanded operation: set clip rotation.

### `set_clip_anchor_point` (~20 tokens)

Premiere Pro expanded operation: set clip anchor point.

### `set_clip_opacity` (~19 tokens)

Premiere Pro expanded operation: set clip opacity.

### `set_clip_volume` (~18 tokens)

Premiere Pro expanded operation: set clip volume.

### `set_clip_pan` (~18 tokens)

Premiere Pro expanded operation: set clip pan.

### `batch_rename_clips` (~20 tokens)

Premiere Pro expanded operation: batch rename clips.

### `batch_enable_disable` (~18 tokens)

Premiere Pro expanded operation: batch enable disable.

### `clear_sequence_in_out` (~20 tokens)

Premiere Pro expanded operation: clear sequence in out.

### `get_qe_clip_info` (~21 tokens)

Premiere Pro expanded operation: get qe clip info.

### `set_poster_frame` (~19 tokens)

Premiere Pro expanded operation: set poster frame.

### `move_items_to_bin` (~20 tokens)

Premiere Pro expanded operation: move items to bin.

### `set_anti_alias_quality` (~21 tokens)

Premiere Pro expanded operation: set anti alias quality.

### `set_uniform_scale` (~18 tokens)

Premiere Pro expanded operation: set uniform scale.

### `set_scale_width_height` (~20 tokens)

Premiere Pro expanded operation: set scale width height.

### `delete_multiple_project_items` (~20 tokens)

Premiere Pro expanded operation: delete multiple project items.

### `freeze_frame` (~16 tokens)

Premiere Pro expanded operation: freeze frame.

### `set_sequence_resolution` (~18 tokens)

Premiere Pro expanded operation: set sequence resolution.

### `set_sequence_audio_settings` (~20 tokens)

Premiere Pro expanded operation: set sequence audio settings.

### `set_sequence_pixel_aspect_ratio` (~23 tokens)

Premiere Pro expanded operation: set sequence pixel aspect ratio.

### `set_sequence_field_type` (~20 tokens)

Premiere Pro expanded operation: set sequence field type.

### `get_unused_media` (~18 tokens)

Premiere Pro expanded operation: get unused media.

### `get_duplicate_media` (~18 tokens)

Premiere Pro expanded operation: get duplicate media.

### `get_clip_links` (~18 tokens)

Premiere Pro expanded operation: get clip links.

### `get_sequence_markers_by_type` (~23 tokens)

Premiere Pro expanded operation: get sequence markers by type.

### `get_clip_markers` (~19 tokens)

Premiere Pro expanded operation: get clip markers.

### `set_sequence_display_format` (~20 tokens)

Premiere Pro expanded operation: set sequence display format.

### `get_clip_at_playhead` (~22 tokens)

Premiere Pro expanded operation: get clip at playhead.

### `get_next_edit_point` (~20 tokens)

Premiere Pro expanded operation: get next edit point.

### `move_playhead_to_edit` (~22 tokens)

Premiere Pro expanded operation: move playhead to edit.

### `set_project_scratch_disk` (~21 tokens)

Premiere Pro expanded operation: set project scratch disk.

### `nest_clips` (~17 tokens)

Premiere Pro expanded operation: nest clips.

### `consolidate_and_transfer` (~18 tokens)

Premiere Pro expanded operation: consolidate and transfer.

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/tro2789-scout-premiere-mcp/https-github-com-tro2789-scout-premiere-mcp-releases-download-v0-3-0-scout-premi#diagnostics

## Score history

- 2026-09-21: 47
- 2026-09-20: 47
- 2026-09-19: 46
- 2026-09-18: 46
- 2026-09-17: 45
- 2026-09-16: 45
- 2026-09-15: 45
- 2026-09-14: 44
- 2026-09-13: 44
- 2026-09-12: 43
- 2026-09-11: 43
- 2026-09-10: 42
- 2026-09-09: 42
- 2026-09-08: 41
- 2026-09-07: 38
- 2026-09-06: 38
- 2026-09-05: 38
- 2026-09-04: 38
- 2026-09-03: 38
- 2026-09-02: 38
- 2026-09-01: 38

## Common questions

### What is the Scout for Premiere Pro MCP server?

Scout for Premiere Pro is an MCP server listed in the public MCP registry as io.github.tro2789/scout-premiere-mcp. Drive Adobe Premiere Pro from an AI agent: transcript search, markers, cuts, exports, 277 tools. This page covers its MCPB bundle (https://github.com/tro2789/scout-premiere-mcp/releases/download/v0.3.0/scout-premiere-mcp-0.3.0.mcpb).

### Is the Scout for Premiere Pro MCP server safe to use?

Scout for Premiere Pro scores 47 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Scout for Premiere Pro MCP server expose?

Scout for Premiere Pro exposes 277 tools: get_active_sequence, get_transcript, find_words, list_markers, place_markers, and 272 more. Their descriptions and schemas cost roughly 14,753 tokens of context every time the server is loaded.

## Links

- Repository: https://github.com/tro2789/scout-premiere-mcp
- Website: https://www.trevorohare.com/dev
- Changelog RSS feed: https://verifymcp.io/servers/tro2789-scout-premiere-mcp/https-github-com-tro2789-scout-premiere-mcp-releases-download-v0-3-0-scout-premi.xml
- Changelog JSON feed: https://verifymcp.io/servers/tro2789-scout-premiere-mcp/https-github-com-tro2789-scout-premiere-mcp-releases-download-v0-3-0-scout-premi.json
- HTML version of this page: https://verifymcp.io/servers/tro2789-scout-premiere-mcp/https-github-com-tro2789-scout-premiere-mcp-releases-download-v0-3-0-scout-premi
