Skip to main content
Glama

License: MIT Node.js 20+ macOS Premiere Pro 2026 MCP

A Model Context Protocol server that lets Claude edit in Adobe Premiere Pro the way a working editor does.

Features · How it works · Quick start · Try it · Studio tools · Safety · Roadmap


MCP Premiere Pro connects Claude (Desktop or Code) to a running copy of Premiere Pro through a small CEP panel. On top of ~280 low-level tools for projects, bins, sequences, clips, effects, keyframes, markers and exports, it adds a set of studio tools built around a real commercial editing workflow: proxies first, a rough cut assembled from the slate calls heard on set, shot search by plain words, music-driven cuts, per-scene colour, captions, aspect versions, a round trip to After Effects, and delivery exports with fixed, tested settings.

Everything runs on your own Mac. Footage never leaves the machine; heavy analysis (speech, vision, beats, loudness) is done locally by a companion footage engine, Dailies.

Features

Area

What you get

Tools

Proxy-first workflow

Half- or quarter-res ProRes Proxy made with the Mac hardware encoder, one file at a time at low priority, attached to the clips automatically. Analysis reads the proxies too.

create_proxies, proxy_status

Cue-based rough cut

Whisper listens to each file's own audio for slate calls (3-2-1, action … cut, ok; English, Vietnamese and more) and lays every take back to back in a new sequence, with a marker per take and red markers on low-confidence ones.

rough_cut_by_cues

Footage inspection

You create the sequence and import the footage; this reads every clip's properties (size after rotation and pixel aspect, shooting frame rate, in-camera slow motion and time-lapse, log such as S-Log3 from the camera's own metadata, VFR) and checks them against your sequence: every clip that is not its size is fit to frame. The rough-cut and selects tools build an empty copy of your sequence (same settings) and fit every clip to it.

inspect_footage

Footage selects

Scores b-roll and general footage about 4 times a second (sharpness on a grid, exposure, camera move, shake) and keeps the usable stretches: a selects sequence with a marker per segment, plus FCP7 XML, FCPXML, EDL and CSV for another editor. An hour of 4K in about 2 minutes.

inspect_footage

score_footage

Best-take scoring

Ranks takes by how they ended, cue confidence, how clearly the lines were spoken and retake calls ("again", "otra vez"…), with reasons; can build a selects sequence.

select_best_takes

Shot description

One-line description, shot size, setting, sharpness, exposure, shake and faces for every clip, written into the Project panel so you can search and sort.

describe_sources

Shot search by text

Type what you want to see ("close-up of a face", "wide shot of the restaurant") in English or Vietnamese. SigLIP 2 compares every second of each proxy with the words; hits come back ranked with in/out, as markers on the source clips and optionally as a "Tìm: …" sequence.

find_shots

Music beats

Tempo, every beat and the first beat of each bar, dropped as markers on the timeline.

detect_beats

Cut to the beat

A copy of the sequence where every cut lands on the nearest beat (every beat, every other, or every bar). Motion is carried over; the original is untouched.

cut_to_beats

Voiceover ducking

Places a VO on a free track and ducks the music only where the voice actually speaks, with editable Volume keyframes.

place_voiceover, setup_ducking

Loudness

Measures every clip in LUFS (only the part used) and sets dialogue and music to their targets, keeping ducking shapes.

normalize_loudness

Captions from speech

Reuses the words already heard during the rough cut, cut to each clip's in/out, written to SRT and added as a caption track.

transcribe_to_captions

Per-scene colour

One Lumetri adjustment layer per source ("Màu <source>"); repeated sources share a name and identical values. Grade one, then sync all its instances.

add_scene_color_layers, sync_color_layers, add_color_layer

Aspect versions

Square, vertical or 4:5 copies of a finished horizontal edit, each clip re-framed from the horizontal frame (face-aware, never showing black edges).

create_aspect_versions

Film Impact transitions

The Film Impact set built into Premiere 2026 (Light Leak, Whip, Push, Flash, Zoom Blur, Glitch…) applied by name, with a knowledge note on when to use which.

batch_add_transitions, add_transition, pr_guide

After Effects round trip

Send one clip to the After Effects MCP as a matching comp, then lay the render back above the original (the original is only disabled).

send_to_after_effects, return_from_after_effects

Export presets

ProRes 422 HQ master from Premiere, then every deliverable via ffmpeg: H.264 High VBR (Full HD 50 Mbps, 4K 20 Mbps), capped at 1 GB, QT Gamma Compensation LUT, −14 LUFS, consistent file names and an export log.

export_deliverables, export_status

Review cut + QC

An editor's pass before showing a cut (pacing, flash frames, jump cuts, footage used twice, off-beat cuts, contact sheet) and a pre-delivery check (offline media, gaps, leftovers, proxies still on, wrong frame).

review_cut, qc_before_export, mako

Project clean-up

After delivery, review what the job no longer uses, then remove it from the project and move the files (and their proxies) to the macOS Trash — never a hard delete.

review_unused_media, clean_unused_media

Housekeeping

Labelled .prproj checkpoints before big changes, tidy numbered bins, solid colour plates without Premiere's blocking colour picker.

checkpoint_project, organize_project_bins, add_color_matte

Related MCP server: Premiere Pro MCP Server

How it works

flowchart LR
    you(["You"]) --> claude["Claude Desktop / Claude Code"]
    claude <-->|"MCP (stdio)"| server["mcp-premiere-pro<br/>Node.js server"]
    server <-->|"command files in<br/>PREMIERE_TEMP_DIR"| panel["CEP panel<br/>MCP Bridge (CEP)"]
    panel <-->|ExtendScript| ppro["Adobe Premiere Pro"]
    server -->|"dailies CLI · JSON"| media["Dailies<br/>selects · Whisper · SigLIP 2 · Qwen VL"]
    server -->|ffmpeg| out["Deliverables<br/>H.264 · ProRes · PNG"]
    server <-->|"handoff JSON"| ae["After Effects MCP"]
    ae <--> aepp["Adobe After Effects"]
  • Server (src/): a TypeScript MCP server. Low-level tools live in src/tools/index.ts, expanded.ts and color.ts; the studio workflow lives in src/tools/studio.ts, beats.ts, cleanup.ts and deliverables.ts.

  • CEP panel (cep-plugin/): runs inside Premiere, picks up command files from the bridge folder and executes them as ExtendScript. It loads with Premiere and starts the bridge on its own.

  • Dailies (Miinwan/dailies): a separate local Python CLI that scores footage and picks selects, does speech-to-text, shot description, text-to-shot search and framing on proxies, and caches its results in a .dailies/ folder next to the footage.

  • Knowledge base (Kiến thức/): Markdown notes on transitions, colour, plugins, exports and clean-up that the pr_guide tool reads at run time. Drop in a new .md and it is available without a rebuild.

Quick start

Requirements

  • macOS (developed on Apple Silicon)

  • Adobe Premiere Pro 2026 (26.x; tested on 26.5)

  • Node.js 20 or newer

  • ffmpeg on the PATH or in Homebrew's location (exports, beats, loudness)

  • Optional: Dailies, the footage engine (Python, run with uv) for cue-based cuts, shot description and shot search; the After Effects MCP for the AE round trip

1. Install and build

git clone https://github.com/Miinwan/mcp-premiere-pro.git
cd mcp-premiere-pro
npm install
npm run build

2. Install the CEP panel

npm run setup:mac

This copies the panel to ~/Library/Application Support/Adobe/CEP/extensions/MCPBridgeCEP, turns on Adobe's PlayerDebugMode (needed for unsigned panels) and adds a premiere-pro entry to the Claude Desktop config. Check the result with npm run setup:doctor.

Restart Premiere Pro and open Window → Extensions → MCP Bridge (CEP) once. From then on it loads with Premiere and starts the bridge automatically (set "autoStart": false in ~/.premiere-mcp-bridge/config.json to turn that off).

3. Connect Claude

If you skipped the installer, or use a different client, add the server by hand. For Claude Desktop, edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "premiere-pro": {
      "command": "/path/to/node",
      "args": ["/path/to/mcp-premiere-pro/dist/index.js"],
      "env": {
        "PREMIERE_TEMP_DIR": "/tmp/premiere-mcp-bridge",
        "DAILIES_DIR": "/path/to/dailies"
      }
    }
  }
}

For Claude Code:

claude mcp add premiere-pro --env PREMIERE_TEMP_DIR=/tmp/premiere-mcp-bridge -- node /path/to/mcp-premiere-pro/dist/index.js

Restart the client, then ask: "Run verify_premiere_connection and make no changes."

Optional settings

Variable

What it points to

PREMIERE_TEMP_DIR

Bridge folder shared with the CEP panel (default /tmp/premiere-mcp-bridge)

DAILIES_DIR

Folder of the Dailies CLI (MEDIA_DIR still read)

UV_PATH

uv binary, if it is not in ~/.local/bin or Homebrew

FFMPEG_PATH

ffmpeg binary, if it is not in Homebrew's location

MCP_ADOBE_BRIDGE_DIR

Handoff folder shared with the After Effects MCP

PR_GUIDE_DIR

Knowledge-base folder read by pr_guide

MCP_QT_GAMMA_LUT

The QT Gamma Compensation .cube applied to H.264 deliverables

PR_MASTER_EPR

Media Encoder preset used for the ProRes master

Try it

Plain sentences work; Claude picks the tools.

Make proxies for /path/to/Footage/Day 1, then rough-cut it by the slate calls into a 1920×1080 sequence.

Rank the takes in this bin and build a selects sequence with the best one per file.

Find shots of "a waiter pouring wine" and put the top 8 on a new sequence.

Detect the beats of the music on A2 and make a copy of the cut where every cut lands on every second beat.

Put voiceover.wav at the playhead and duck the music under it, then normalise the loudness.

Add one colour layer per scene, I'll grade the first one; then sync the others.

Make 1:1 and 9:16 versions of "Final 16x9", then export YouTube 1080, Reels and a review copy for client "Studio", title "Summer Menu".

Review the cut for a 30-second target and run QC before export.

The job is delivered — show me what's unused before cleaning up.

Studio tools

The 28 tools added on top of the base Premiere tool set (studioToolNames in src/tools/studio.ts):

Tool

What it does

create_proxies

First step of a job: ProRes Proxy (or H.264) at 1/2 or 1/4 resolution with VideoToolbox, saved in <footage>/Proxies/, attached to the clips. Runs in the background.

proxy_status

Progress of a create_proxies job.

checkpoint_project

Save, then keep a labelled copy of the .prproj before a large automated change; list existing checkpoints.

organize_project_bins

Move loose root items into numbered bins (Footage, Audio, Graphics, Sequences, Adjustment, Proxies & renders). Never deletes or renames.

rough_cut_by_cues

Rough-cut footage by the slate calls heard in each file; new sequence, markers per take, low-confidence takes in red.

describe_sources

Describe every shot (description, shot size, quality numbers) and write it into the Project panel's Comment and Log Note columns.

find_shots

Find shots by words (English or Vietnamese) with SigLIP 2; ranked hits with in/out, markers on source clips, optional "Tìm: &lt;query&gt;" sequence.

score_footage

Score footage and keep the usable stretches; selects sequence and XML/FCPXML/EDL/CSV export for another editor.

select_best_takes

Rank takes with reasons; optionally build a selects sequence.

detect_beats

Tempo, beats and bar starts of the music, with timeline markers.

cut_to_beats

Copy of the sequence with every cut moved onto the beat.

place_voiceover

Place a voiceover and duck the music only where the voice speaks.

normalize_loudness

Measure each clip in LUFS and set dialogue/music levels.

transcribe_to_captions

Captions from the words already heard, as SRT plus a caption track.

add_scene_color_layers

One Lumetri adjustment layer per source on a new top track.

sync_color_layers

Copy every Lumetri parameter from one scene layer to the others with the same name.

add_color_layer

One colour layer over the whole sequence or a range (a global look).

add_color_matte

Solid white, black or #RRGGBB plate at sequence size, without Premiere's colour picker.

create_aspect_versions

Square / vertical / 4:5 copies of a horizontal edit, re-framed clip by clip.

mako

Drive the Mako panel: adjustment layers, staircase, freeze frame, fit/fill, nest/unnest, QC markers and more.

send_to_after_effects

Record a timeline clip in a handoff file for the After Effects MCP.

return_from_after_effects

Lay the After Effects render back on the timeline above the original.

pr_guide

Read the knowledge base: transitions, plugins, colour, exports, clean-up.

review_cut

Editor's review of a cut with "Review:" markers and a contact sheet.

qc_before_export

Read-only pre-delivery check with timecodes.

export_deliverables

ProRes master, then every requested deliverable with fixed presets, names and loudness.

export_status

Progress of an export job, with files and measured LUFS.

review_unused_media

Read-only report of unused project items and files after delivery.

clean_unused_media

Act on that report after you approve it: checkpoint, remove from the project, move files to the Trash.

All the base tools (get_project_info, list_sequences, add_to_timeline, apply_effect, set_lumetri_basic, export_frame…) remain available; ask Claude to call get_capabilities for the full list.

Safety

  • Non-destructive by default. Rough cuts, beat cuts, selects and aspect versions are built as new sequences; the AE round trip only disables the original clip.

  • Checkpoints. checkpoint_project saves a copy of the project before large changes; clean_unused_media takes one automatically.

  • Nothing is deleted for good. Clean-up only moves files inside the job folder to the macOS Trash (Put Back works), only after confirm: true, and re-checks usage right before acting.

  • Local only. The server, panel and Dailies run on your machine. Nothing is uploaded.

  • Trust. Any MCP client connected to this server can edit the open project. Use it only with clients you trust. See SECURITY.md.

Roadmap

  • Proxy-first workflow, cue-based rough cut, take ranking

  • Shot description and text-to-shot search

  • Beats, cut to beats, voiceover ducking, loudness

  • Per-scene colour layers, aspect versions, After Effects round trip

  • Delivery presets, review cut, QC, project clean-up

  • Knowledge base with sub-folders in pr_guide

  • Silence removal driven by Dailies

  • Windows support for the studio tools

Credits

The low-level Premiere tool set and the CEP bridge started from an open-source MIT project; see LICENSE.md for the original copyright notice. Film Impact, Mako, Lumetri, Premiere Pro and After Effects are trademarks of their respective owners.

License

MIT

Available Tools

317 tools
add_adjustment_layerC

Premiere Pro expanded operation: add adjustment layer.

add_audio_keyframesA

Adds keyframes to audio levels for dynamic volume changes.

Inputs: clipId (required), keyframes (required).

add_color_layerA

One colour layer over the whole sequence or a time range (a global look). For per-scene grading use add_scene_color_layers. Lays a colour-grading adjustment layer over the whole sequence (or a time range) on its own top track, with Lumetri Color ready to grade — the colour layer an editor puts above the cut. Uses the project's Adjustment Layer item, importing one from Mako's template when the project has none (Premiere has no scripting call that creates one). Optional Lumetri Basic values (temperature, tint, exposure, contrast, highlights, shadows, whites, blacks, saturation, vibrance) and a Lumetri preset/LUT look.

Inputs: end, name, basic, start, +2 more.

add_color_matteA

Put a solid colour background on the timeline without Premiere's colour picker (which blocks scripting): white or black by default — the plate a logo sits on — or any #RRGGBB. Made at the sequence frame size, saved next to the project in "MCP mattes" (reused, never in a temp folder that could go offline), imported into a "Nền màu" bin and placed on the given track for the given span (default: the whole sequence on track, which is V1 when that span is free there, else a new track at the top so you can drag it under).

Inputs: end, name, color, start, +3 more.

add_custom_metadata_fieldD

Premiere Pro expanded operation: add custom metadata field.

add_keyframeB

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

Inputs: time (required), value (required), clipId (required), paramName (required), +1 more.

add_markerA

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

Inputs: name (required), time (required), sequenceId (required), color, +2 more.

add_marker_to_project_itemA

Premiere Pro expanded operation: add marker to project item.

add_scene_color_layersA

Grade per scene: one adjustment layer with Lumetri Color per SOURCE on a new top track, named "Màu ". Neighbouring clips from the same source share one layer; the same source used again elsewhere on the timeline gets a layer with the same name and the same Lumetri values (keep them identical with sync_color_layers after grading one); a different source always gets its own layer. Titles/adjustment layers/graphics are skipped. Optional Lumetri Basic values for all (basic) or per source file name (perSource).

Inputs: basic, perSource, sequenceId, sourceTrack, +1 more.

add_text_overlayA

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

Inputs: text (required), duration (required), startTime (required), sequenceId (required), +7 more.

add_to_render_queueB

Adds a sequence to the Adobe Media Encoder render queue.

Inputs: outputPath (required), sequenceId (required), presetName, presetPath, +4 more.

add_to_timelineA

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

Inputs: time (required), sequenceId (required), trackIndex (required), projectItemId (required), +4 more.

add_to_timeline_batchA

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.

Inputs: clips (required), sequenceId (required).

add_trackC

Adds a new video or audio track to the sequence.

Inputs: trackType (required), sequenceId (required), position.

add_tracksC

Premiere Pro expanded operation: add tracks.

add_transitionB

Adds a transition (e.g., cross dissolve) between two adjacent clips on the timeline.

Inputs: clipId1 (required), clipId2 (required), duration (required), transitionName (required).

add_transition_to_clipA

Adds a transition to the beginning or end of a single clip. Check status and verified in the result: accepted_unverified means Premiere accepted the command but inspection could not prove the edit, so do not retry automatically.

Inputs: clipId (required), duration (required), position (required), transitionName (required).

adjust_audio_levelsC

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

Inputs: level (required), clipId (required).

apply_audio_effectC

Applies an audio effect to a clip.

Inputs: clipId (required), effectName (required), parameters.

apply_audio_effect_to_all_clipsA

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.

Inputs: effectName (required), sequenceId (required), parameters.

apply_effectA

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

Inputs: clipId (required), effectName (required), parameters.

apply_lutB

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

Inputs: clipId (required), lutPath (required), intensity.

assemble_product_spotA

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.

Inputs: assetPaths (required), sequenceName (required), clipPlan, motionStyle, +4 more.

attach_custom_propertyD

Premiere Pro expanded operation: attach custom property.

auto_reframe_sequenceB

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

Inputs: numerator (required), sequenceId (required), denominator (required), newName, +1 more.

batch_add_transitionsA

Adds a transition to all clip boundaries on a track. Useful for quickly adding cross dissolves or other transitions between every clip.

Inputs: duration (required), sequenceId (required), trackIndex (required), transitionName (required).

batch_apply_effectC

Premiere Pro expanded operation: batch apply effect.

batch_enable_disableD

Premiere Pro expanded operation: batch enable disable.

batch_rename_clipsD

Premiere Pro expanded operation: batch rename clips.

build_brand_spot_from_mogrt_and_assetsB

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.

Inputs: assetPaths (required), sequenceName (required), clipPlan, mogrtPath, +8 more.

build_motion_graphics_demoB

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.

Inputs: sequenceName.

build_scene_adjustment_layersA

Creates one adjustment layer per scene above the source track: consecutive clips from the same source share one layer, a different source/camera gets its own. Each layer gets a Lumetri with (optionally) the clip grade transferred + a base look, and is named after its source so it can be fine-tuned per scene.

Inputs: look, namePrefix, sequenceId, sourceTrack, +5 more.

capture_frameC

Premiere Pro expanded operation: capture frame.

check_offline_mediaA

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

Inputs: no named parameters.

checkpoint_projectA

Save the project, then copy the .prproj into " checkpoints/ .prproj" next to it. Premiere has no undo group for scripts, so take one before any large automated change (rough cut, aspect versions, colour layers); restore by opening the copy. Lists existing checkpoints with list: true.

Inputs: list, label.

clean_unused_mediaA

Act on a review_unused_media report after the user has read it: saves a checkpoint of the project, checks usage again right now (anything used since the report is skipped), removes the unused items from the Premiere project (plus bins left empty by it) and saves, then moves the unused files to the macOS Trash with Finder (Put Back works; nothing is deleted for good — the user empties the Trash). confirm must be true. Needs Finder automation permission the first time.

Inputs: report (required), confirm (required), trashFiles, removeFromProject.

clear_item_in_outC

Premiere Pro expanded operation: clear item in out.

clear_sequence_in_outB

Premiere Pro expanded operation: clear sequence in out.

close_all_source_clipsC

Premiere Pro expanded operation: close all source clips.

close_projectC

Premiere Pro expanded operation: close project.

close_sequenceC

Premiere Pro expanded operation: close sequence.

close_source_monitorC

Premiere Pro expanded operation: close source monitor.

color_correctB

Applies basic color correction adjustments to a video clip.

Inputs: clipId (required), hue, tint, shadows, +5 more.

compare_framesA

Scriptable Comparison View: exports a reference frame and a target frame (same or different sequences) and writes them side by side into one image, with skin/midtone color measurements for both. Use before and after match_color.

Inputs: refTime (required), outputPath (required), targetTime (required), region, +3 more.

consolidate_and_transferD

Premiere Pro expanded operation: consolidate and transfer.

consolidate_duplicatesC

Consolidates duplicate media items in the project.

Inputs: no named parameters.

copy_effects_between_clipsB

Premiere Pro expanded operation: copy effects between clips.

copy_effect_valuesD

Premiere Pro expanded operation: copy effect values.

create_aspect_versionsA

Make square and vertical versions of a finished horizontal edit, the way an editor does it by hand: duplicates the sequence as " 1x1" / " 9x16" (cuts, order, tracks, audio, titles unchanged), changes the frame, and re-frames every video clip from the horizontal version as already adjusted (media bo-cuc: a window cut out of the horizontal frame, centred on faces when there are any, never showing black edges or anything cropped away). Only Motion Scale and Position change; Anchor Point, Rotation and Crop stay. Adjustment layers keep all their effects and are scaled to cover the new frame. Titles/graphics are left as they are and listed for a manual check.

Inputs: aspects, replace, sequenceId, sequenceName.

create_bars_and_toneC

Premiere Pro expanded operation: create bars and tone.

create_binB

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

Inputs: name (required), parentBinName.

create_caption_trackA

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.

Inputs: sequenceId (required), projectItemId (required), startTime, captionFormat.

create_projectA

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

Inputs: name (required), location (required).

create_proxiesA

FIRST STEP of a job: make edit proxies for every video in a footage folder so Premiere (and the media engine) work on light files instead of 4K. ProRes Proxy with the Mac hardware encoder (VideoToolbox, cool and fast), half resolution by default (4K → 1080p), same fps, duration and audio channels so Premiere accepts them; saved as "/Proxies/_Proxy.mov", one file at a time at low priority so the machine stays cool. Existing proxies are reused. When done, attaches each proxy to its clip in the open project (Toggle Proxies in Premiere switches). Runs in the background: check with proxy_status.

Inputs: sourceFolder (required), size, codec, attach, +1 more.

create_sequenceA

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.

Inputs: name (required), presetPath (required).

create_sequence_from_clipsB

Premiere Pro expanded operation: create sequence from clips.

create_sequence_from_presetD

Premiere Pro expanded operation: create sequence from preset.

create_smart_binC

Premiere Pro expanded operation: create smart bin.

create_subclipB

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

Inputs: name (required), endTime (required), startTime (required), projectItemId (required), +3 more.

create_subsequenceB

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

Inputs: sequenceId (required), ignoreTrackTargeting.

crop_clipA

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.

Inputs: clipId (required), top, left, zoom, +3 more.

cut_to_beatsA

Re-time a cut to the music: a copy of the sequence (" (theo nhịp)", i.e. "on the beat") where every clip on the video track keeps its in point and its end moves to the nearest beat (every: 1 = each beat, 2 = every other, 4 = each bar), so all cuts land on the beat. Motion (scale/position/rotation) is carried over; music and other tracks stay. The original sequence is not changed. dryRun shows the plan first.

Inputs: every, dryRun, minShot, musicTrack, +4 more.

delete_binC

Premiere Pro expanded operation: delete bin.

delete_markerA

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

Inputs: markerId (required), sequenceId (required).

delete_multiple_project_itemsB

Premiere Pro expanded operation: delete multiple project items.

delete_preview_filesC

Premiere Pro expanded operation: delete preview files.

delete_project_itemD

Premiere Pro expanded operation: delete project item.

delete_sequenceB

Deletes a sequence from the project.

Inputs: sequenceId (required).

delete_trackA

Deletes a video or audio track from the specified sequence. The sequence does not have to be the active one, but it does have to be open in Premiere: there is no DOM track-deletion API, so this falls through to the QE DOM, which only reaches sequences Premiere has open. A sequence QE cannot address is reported by name rather than deleted from the wrong timeline. Caption track deletion is accepted by the schema but returns an explicit unsupported result because Premiere Pro exposes no caption-track delete/read API to scripting.

Inputs: trackType (required), sequenceId (required), trackIndex (required).

describe_sourcesA

Describe every shot (file) in a footage folder through the media engine: one-line description (in Vietnamese), shot size, setting, content labels, sharpness, exposure, shake, faces, a beauty score. mode "fast" needs no download; "deep" adds a local vision model (Qwen3.5 2B MLX) for natural sentences. With writeToProject, the description goes into each imported clip's Comment column and the quality numbers into Log Note, so they can be searched and sorted in the Project panel.

Inputs: bin, mode, waitSeconds, sourceFolder, +2 more.

deselect_all_clipsB

Premiere Pro expanded operation: deselect all clips.

detach_proxyD

Premiere Pro expanded operation: detach proxy.

detect_beatsA

Find the beat of the music: tempo (BPM), every beat and the first beat of each bar. Give a file, or let it read the music already on the timeline (audio-only clips that are not named like a voiceover) and drop cyan markers "Nhịp 1" (bar 1) on each bar (markers: "beats" for every beat, "none" for no markers). Results are cached in /.media. Check by ear: tempo can come out at half or double on sparse music.

Inputs: file, force, markers, musicTrack, +2 more.

detect_scene_editsB

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

Inputs: sequenceId (required), action, sensitivity, allowUnsafeSynchronous, +1 more.

detect_silenceA

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.

Inputs: mediaPath, projectItemId, noiseThresholdDb, minDurationSeconds.

duplicate_clipB

Duplicates a clip on the timeline.

Inputs: clipId (required), offset.

duplicate_sequenceA

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.

Inputs: newName (required), sequenceId (required), clearContents.

enable_disable_clipB

Enables or disables a clip on the timeline.

Inputs: clipId (required), enabled (required).

encode_fileD

Premiere Pro expanded operation: encode file.

encode_project_itemD

Premiere Pro expanded operation: encode project item.

evaluate_expressionD

Premiere Pro expanded operation: evaluate expression.

execute_extendscriptD

Premiere Pro expanded operation: execute extendscript.

export_aafB

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

Inputs: outputPath (required), sequenceId (required), sampleRate, mixDownVideo, +2 more.

export_as_fcp_xmlB

Exports a sequence as Final Cut Pro XML.

Inputs: outputPath (required), sequenceId (required).

export_as_projectC

Premiere Pro expanded operation: export as project.

export_deliverablesA

Export a sequence for delivery: one ProRes 422 HQ master straight from Premiere (exportAsMediaDirect with the built-in "Match Source - Apple ProRes 422 HQ" preset), then every requested deliverable from it — youtube_4k, youtube_1080, reels (1080x1920), feed_4x5, square, led (screen width/height), review (720p, watermark + timecode), master, png_alpha — with sizes, bitrates and -14 LUFS loudness from pr_guide "Xuất file". Files are named " V" (next free version) and logged with the measured LUFS in "Kết quả xuất.md" (export log). Export the 9x16 / 1x1 sequences for vertical and square (create_aspect_versions) — another aspect is letterboxed.

Inputs: title (required), client (required), presets (required), width, +7 more.

export_frameB

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

Inputs: time (required), outputPath (required), sequenceId (required), format.

export_omfD

Premiere Pro expanded operation: export omf.

export_sequenceB

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

Inputs: outputPath (required), sequenceId (required), format, quality, +6 more.

export_statusA

Progress of an export_deliverables job: waiting for the Media Encoder master, encoding (which deliverable), done or failed, with the finished files and their measured LUFS.

Inputs: jobId (required), waitSeconds.

extract_selectionD

Premiere Pro expanded operation: extract selection.

find_items_by_media_pathD

Premiere Pro expanded operation: find items by media path.

find_project_item_by_nameB

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

Inputs: name (required), type.

find_shotsA

Find shots by what is in the picture, in English or Vietnamese ("close-up of a face", "wide shot of the restaurant", "waiter in a red shirt", or "cô gái cầm menu"), through the media engine (SigLIP 2, local): every second of each clip's proxy is compared with the words, the best stretches come back ranked with in/out and a score. Each hit becomes a marker on the source clip in the Project panel (open the clip in the Source Monitor to see it; searching the same words again replaces those markers). With placeOnTimeline, also builds a sequence "Tìm: " with the hits in rank order. Uses the clips kept in the project with their proxies, like describe_sources. The first search on a folder reads the images (about 30 s for 5 minutes of footage); later searches take a few seconds.

Inputs: query (required), bin, top, markers, +4 more.

freeze_frameC

Premiere Pro expanded operation: freeze frame.

get_active_sequenceA

Gets information about the currently active sequence.

Inputs: no named parameters.

get_all_project_pathsC

Premiere Pro expanded operation: get all project paths.

get_bin_contentsD

Premiere Pro expanded operation: get bin contents.

get_capabilitiesA

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.

Inputs: checkConnection.

get_clip_adjustment_layerC

Premiere Pro expanded operation: get clip adjustment layer.

get_clip_at_playheadC

Premiere Pro expanded operation: get clip at playhead.

get_clip_at_positionB

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

Inputs: time (required), trackType (required), sequenceId (required), trackIndex (required).

get_clip_markersD

Premiere Pro expanded operation: get clip markers.

get_clip_propertiesA

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.

Inputs: clipId (required), sequenceId.

get_clip_speedC

Premiere Pro expanded operation: get clip speed.

get_color_labelC

Gets the color label index of a project item.

Inputs: projectItemId (required).

get_color_spaceD

Premiere Pro expanded operation: get color space.

get_duplicate_mediaD

Premiere Pro expanded operation: get duplicate media.

get_effect_propertiesC

Premiere Pro expanded operation: get effect properties.

get_encoder_presetsA

Discovers readable user Adobe Media Encoder .epr presets from local AME preset folders. Factory preset enumeration is not claimed complete.

Inputs: directories.

get_export_file_extensionD

Premiere Pro expanded operation: get export file extension.

get_footage_interpretationA

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

Inputs: projectItemId (required).

get_full_clip_infoC

Premiere Pro expanded operation: get full clip info.

get_full_project_overviewC

Premiere Pro expanded operation: get full project overview.

get_full_sequence_infoC

Premiere Pro expanded operation: get full sequence info.

get_graphics_white_luminanceC

Premiere Pro expanded operation: get graphics white luminance.

get_insertion_binC

Premiere Pro expanded operation: get insertion bin.

get_item_infoC

Premiere Pro expanded operation: get item info.

get_keyframesB

Gets all keyframes for a clip component parameter.

Inputs: clipId (required), paramName (required), componentName (required).

get_linked_itemsD

Premiere Pro expanded operation: get linked items.

get_lumetri_basicC

Reads Lumetri Basic Correction values of a clip.

Inputs: clipIndex (required), sequenceId, videoTrack, sequenceName.

get_metadataB

Gets project metadata and XMP metadata for a project item.

Inputs: projectItemId (required).

get_mogrt_componentC

Premiere Pro expanded operation: get mogrt component.

get_next_edit_pointC

Premiere Pro expanded operation: get next edit point.

get_offline_mediaD

Premiere Pro expanded operation: get offline media.

get_playhead_positionA

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

Inputs: sequenceId (required).

get_premiere_stateC

Premiere Pro expanded operation: get premiere state.

get_project_infoB

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

Inputs: no named parameters.

get_project_item_infoC

Premiere Pro expanded operation: get project item info.

get_project_panel_metadataD

Premiere Pro expanded operation: get project panel metadata.

get_project_scratch_disksD

Premiere Pro expanded operation: get project scratch disks.

get_qe_clip_infoD

Premiere Pro expanded operation: get qe clip info.

get_render_queue_statusA

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

Inputs: no named parameters.

get_selected_clipsA

Gets all currently selected clips in the specified sequence.

Inputs: sequenceId (required).

get_sequence_countC

Premiere Pro expanded operation: get sequence count.

get_sequence_in_out_pointsB

Gets the in and out points of a sequence timeline.

Inputs: sequenceId (required).

get_sequence_markers_by_typeC

Premiere Pro expanded operation: get sequence markers by type.

get_sequence_settingsB

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

Inputs: sequenceId (required).

get_sequence_structureC

Premiere Pro expanded operation: get sequence structure.

get_source_monitor_infoD

Premiere Pro expanded operation: get source monitor info.

get_source_monitor_positionC

Premiere Pro expanded operation: get source monitor position.

get_target_tracksC

Premiere Pro expanded operation: get target tracks.

get_timeline_gapsC

Premiere Pro expanded operation: get timeline gaps.

get_timeline_summaryC

Premiere Pro expanded operation: get timeline summary.

get_total_clip_countB

Premiere Pro expanded operation: get total clip count.

get_track_infoD

Premiere Pro expanded operation: get track info.

get_unused_mediaC

Premiere Pro expanded operation: get unused media.

get_used_media_reportD

Premiere Pro expanded operation: get used media report.

get_value_at_timeD

Premiere Pro expanded operation: get value at time.

get_version_infoC

Premiere Pro expanded operation: get version info.

get_work_areaC

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

Inputs: sequenceId (required).

get_workspacesD

Premiere Pro expanded operation: get workspaces.

get_xmp_metadataD

Premiere Pro expanded operation: get xmp metadata.

has_proxyC

Premiere Pro expanded operation: has proxy.

import_edlA

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.

Inputs: filePath (required).

import_fcp_xmlA

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.

Inputs: filePath (required).

import_folderA

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

Inputs: folderPath (required), binName, recursive.

import_image_sequenceC

Premiere Pro expanded operation: import image sequence.

import_mediaB

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

Inputs: filePath (required), binName.

import_mogrtB

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

Inputs: time (required), mogrtPath (required), sequenceId (required), audioTrackIndex, +1 more.

import_mogrt_from_libraryB

Imports a Motion Graphics Template from a Creative Cloud Library.

Inputs: time (required), mogrtName (required), sequenceId (required), libraryName (required), +2 more.

import_sequencesD

Premiere Pro expanded operation: import sequences.

import_sequences_from_projectB

Imports sequences from another Premiere Pro project file.

Inputs: projectPath (required), sequenceIds (required).

insert_from_sourceD

Premiere Pro expanded operation: insert from source.

inspect_dom_objectC

Premiere Pro expanded operation: inspect dom object.

invert_selectionC

Premiere Pro expanded operation: invert selection.

is_work_area_enabledD

Premiere Pro expanded operation: is work area enabled.

lift_selectionC

Premiere Pro expanded operation: lift selection.

list_available_audio_effectsA

Lists all available audio effects in Premiere Pro.

Inputs: no named parameters.

list_available_audio_transitionsB

Lists all available audio transitions in Premiere Pro.

Inputs: no named parameters.

list_available_effectsA

Lists all available video effects in Premiere Pro.

Inputs: no named parameters.

list_available_transitionsA

Lists all available video transitions in Premiere Pro.

Inputs: no named parameters.

list_clip_effectsD

Premiere Pro expanded operation: list clip effects.

list_markersA

Lists all markers in the specified sequence. The sequence does not have to be the active one.

Inputs: sequenceId (required).

list_project_itemsA

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

Inputs: includeBins, includeMetadata.

list_sequencesB

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

Inputs: no named parameters.

list_sequence_tracksB

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

Inputs: sequenceId (required).

lock_trackA

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

Inputs: locked (required), trackType (required), sequenceId (required), trackIndex (required).

makoA

Run a Mako (Basics Studio panel, installed) shortcut on the open sequence, on clips you select first: adjustment_layer (mode "" over the selection/sequence, "clips" one per clip, "cuts" short ones on every cut), staircase / unstaircase (spread clips onto stacked tracks and back), freeze_frame (mode "" whole selected clips, "hold" holdSeconds from the playhead), fit_frame (mode "" fit, "fill" fill the frame), nest / unnest (rebuilds Nest with effects, transitions and markers kept), clear_effects (resetMotion), quality_check (marks gaps red, offline media orange, disabled clips yellow, 1–2 frame leftovers purple; fix closes gaps; mode "clear" removes the markers), delete_empty_tracks, new_sequence, transparency_grid. select: "all" (every clip), "none" (leave the selection as it is) or { track, clips: [indexes] } / { from, to } in seconds on video tracks. Requires the Mako panel to have loaded once in this Premiere session.

Inputs: action (required), fix, mode, select, +4 more.

manage_proxiesB

Checks proxy status, attaches a proxy file, or gets the proxy path for a project item.

Inputs: action (required), projectItemId (required), proxyPath.

match_colorA

Scriptable Apply Match. Matches a target clip to a reference clip by iteratively adjusting Lumetri exposure, temperature and tint (on the clip itself or on the adjustment layer above it) until skin/midtone luma and warmth match. Returns the measurement log.

Inputs: refClipIndex (required), targetClipIndex (required), region, applyTo, +8 more.

match_frameD

Premiere Pro expanded operation: match frame.

measure_frame_colorB

Exports a sequence frame and returns luma (Y) and R/G, B/G ratios of skin tones (or a given region / midtones).

Inputs: time (required), region, sequenceId, sequenceName.

move_clipA

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.

Inputs: clipId (required), newTime (required).

move_clip_to_trackC

Premiere Pro expanded operation: move clip to track.

move_items_to_binC

Premiere Pro expanded operation: move items to bin.

move_item_to_binC

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

Inputs: targetBinId (required), projectItemId (required).

move_playhead_to_editB

Premiere Pro expanded operation: move playhead to edit.

multiple_undoD

Premiere Pro expanded operation: multiple undo.

mute_trackB

Mutes or unmutes an entire audio track.

Inputs: muted (required), sequenceId (required), trackIndex (required).

nest_clipsC

Premiere Pro expanded operation: nest clips.

normalize_loudnessA

Even out clip loudness on the timeline: each audio clip is measured (LUFS, only the part used) and its Volume level set so dialogue and voiceover sit at target (default -16) and music sits under the voice (musicTarget, default -26; music alone goes to target). Clips with ducking keyframes keep their shape, the whole curve is shifted. Gains are capped at +15 dB. dryRun shows the measurements first. The final mix is still normalised per platform by export_deliverables.

Inputs: dryRun, target, tracks, sequenceId, +4 more.

open_in_sourceD

Premiere Pro expanded operation: open in source.

open_projectA

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

Inputs: path (required).

organize_project_binsA

Tidy the Project panel the way an editor keeps it: bins "01 Footage" (video), "02 Audio" (music, VO, SFX), "03 Graphics" (images, PSD, AI, MOGRT), "04 Sequences", "05 Adjustment" (adjustment layers, mattes), "06 Proxies & renders" (AE renders, exports). Only moves items that sit loose in the root (dryRun to preview); never deletes or renames media.

Inputs: all, dryRun.

overwrite_clipD

Premiere Pro expanded operation: overwrite clip.

overwrite_from_sourceC

Premiere Pro expanded operation: overwrite from source.

pingD

Premiere Pro expanded operation: ping.

place_voiceoverA

Put a voiceover file on the timeline (at the playhead or at seconds) on the first free audio track and duck the music under it: Volume keyframes only where the voice actually speaks (silences longer than 0.35 s let the music back up), with short fades. Music = audio-only clips on other tracks, or the tracks in duckTracks. Keyframes stay editable in Effect Controls. To record a voice first, use a text-to-speech tool or skill.

Inputs: file (required), at, track, duckDb, +6 more.

play_source_monitorB

Premiere Pro expanded operation: play source monitor.

play_timelineB

Premiere Pro expanded operation: play timeline.

pr_guideA

Premiere knowledge base (folder Premiere/Kiến thức — drop .md files there, no build): which transitions exist and when to use them (Film Impact is built into Premiere 2026), which plugins/panels MCP can drive (Mako) and which are manual (Animation/Premiere Composer), export rules. Call with no topic to list topics, then with a topic name to read it. Read it before choosing transitions or plugins.

Inputs: topic.

proxy_statusB

Progress of a create_proxies job: files done, current file, attached proxies, failures.

Inputs: jobId (required), waitSeconds.

qc_before_exportA

Check a sequence before delivery and report problems with their timecode: offline media, disabled clips, gaps (black frames), 1–2 frame leftover clips, clips still pointing at proxies? (reminder to toggle proxies off), red "low confidence" markers left from the rough cut, empty tracks, audio clips muted, sequence frame vs the intended delivery. Read-only; fix with mako (quality_check fix closes gaps), or by hand.

Inputs: sequenceId, expectFrame, sequenceName.

razor_all_tracksD

Premiere Pro expanded operation: razor all tracks.

razor_timeline_at_timeA

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.

Inputs: time (required), sequenceId, audioTrackIndices, videoTrackIndices.

read_sequence_captionsA

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.

Inputs: sequenceId.

redoC

Premiere Pro expanded operation: redo.

refresh_mediaA

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

Inputs: projectItemId (required).

remove_all_effectsD

Premiere Pro expanded operation: remove all effects.

remove_effectD

Premiere Pro expanded operation: remove effect.

remove_effect_by_nameB

Premiere Pro expanded operation: remove effect by name.

remove_from_timelineA

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

Inputs: clipId (required), deleteMode, sequenceId.

remove_keyframeA

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

Inputs: time (required), clipId (required), paramName (required), componentName (required).

remove_keyframe_rangeC

Premiere Pro expanded operation: remove keyframe range.

remove_selected_clipsC

Premiere Pro expanded operation: remove selected clips.

rename_binD

Premiere Pro expanded operation: rename bin.

rename_clipB

Premiere Pro expanded operation: rename clip.

rename_project_itemA

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.

Inputs: newName (required), projectItemId (required).

rename_trackC

Premiere Pro expanded operation: rename track.

replace_clipB

Replaces a clip on the timeline with another media item.

Inputs: clipId (required), newProjectItemId (required), preserveEffects.

replace_clip_mediaC

Premiere Pro expanded operation: replace clip media.

return_from_after_effectsA

Bring an After Effects render back to the timeline: imports the file rendered by bridge.to_premiere (or refreshes it when it was already brought back once — re-render in AE and call again), lays it on the track above the original at the same time and length (handles hidden but kept for trimming), names it "AE · ", and disables the original underneath (re-enable it to compare). Nothing is deleted.

Inputs: handoff (required), targetTrack, disableOriginal.

reverse_clipB

Reverses the playback of a clip.

Inputs: clipId (required), maintainAudioPitch.

review_cutA

Look over a cut like an editor before showing it: shot count and pacing (average, shortest, longest, first shot for the hook), flash frames, shots held too long (maxShot, default 5 s), gaps, jump cuts inside the same shot, footage used twice, cuts off the music beat (when music is on the timeline), length against targetSeconds. Drops orange "Review:" markers (old ones replaced) and makes a contact sheet of one frame per shot (from proxies when present) in "/Review//contact sheet.jpg".

Inputs: markers, maxShot, checkBeats, musicTrack, +5 more.

review_unused_mediaA

After delivery: find everything the job no longer uses, without changing anything. Usage is read from the timelines (nested sequences and multicam included): project items on no timeline (video, audio, stills, mattes, captions…), and on disk the unused imported files, their proxies, and media files sitting in the source folders that were never used. Delivery/render folders (Edited, Export, Xuất file, Render, Final, Bàn giao…) and the files in use with their proxies are always kept. keepSequences: only these sequences count as the job (the others are listed for removal too). Writes a report in ~/Library/Application Support/MCP Adobe/Don dep and returns a summary for the user to check. Then clean_unused_media.

Inputs: jobFolder, scanFolders, keepSequences, trashProxiesOfUsed.

ripple_deleteD

Premiere Pro expanded operation: ripple delete.

roll_editD

Premiere Pro expanded operation: roll edit.

rough_cut_by_cuesA

Rough-cut a folder of raw footage by the slate cues called on set ("3, 2, 1", "action", "diễn", "đi" to start; "cắt", "cut", "ok", "được rồi" to end), heard by Whisper in each file's own audio through the MCP Adobe media engine. One source can give many takes. Builds a NEW sequence with every take back to back, a→z by file then time, so the editor can reorder them; each take gets a sequence marker (take id, cue heard, dialogue, confidence) and low-confidence takes a red marker. Files with no cue are kept whole (unless dropNoCue). Analysis is cached next to the footage (.media/); a long first run returns status "running" — call again with the same arguments to pick up the result.

Inputs: bin, fast, frame, model, +8 more.

save_projectA

Saves the currently active Adobe Premiere Pro project.

Inputs: no named parameters.

save_project_asC

Saves the current project with a new name and location.

Inputs: name (required), location (required).

scene_edit_detectionD

Premiere Pro expanded operation: scene edit detection.

search_project_itemsC

Premiere Pro expanded operation: search project items.

select_all_clipsB

Premiere Pro expanded operation: select all clips.

select_best_takesA

Rank the takes of a footage folder from what the media engine heard: ended on a cut call, cue confidence, how clearly the lines were spoken, retake calls ("otra vez", "again", "lại đi"…) in or right after the take, very short takes, later takes slightly preferred. Returns the ranking with reasons per file (groupBy "file") or overall ("none"); with sequenceName it also builds a selects sequence of the best take(s) with the score on each marker. Uses the same cache as rough_cut_by_cues. Always check the picks by eye.

Inputs: bin, fast, keep, frame, +6 more.

select_clips_by_colorB

Premiere Pro expanded operation: select clips by color.

select_clips_by_nameD

Premiere Pro expanded operation: select clips by name.

select_clips_in_rangeD

Premiere Pro expanded operation: select clips in range.

select_disabled_clipsB

Premiere Pro expanded operation: select disabled clips.

select_itemC

Premiere Pro expanded operation: select item.

send_to_after_effectsA

Send one timeline clip to After Effects for effects work: records the clip (media file, source in/out, handles, timeline position, sequence size and fps, Motion position/scale/rotation) in a handoff JSON and returns its id. Then call the After Effects MCP: ae_do bridge.from_premiere { handoff: } builds a matching comp (same size, fps, framing, handles marked); after the effect work, ae_do bridge.to_premiere { handoff } renders it; finally return_from_after_effects { handoff } puts the render back on the timeline.

Inputs: note, handles, clipIndex, sequenceId, +2 more.

set_active_sequenceC

Sets the active sequence in the project.

Inputs: sequenceId (required).

set_all_tracks_targetedC

Premiere Pro expanded operation: set all tracks targeted.

set_anti_alias_qualityC

Premiere Pro expanded operation: set anti alias quality.

set_blend_modeD

Premiere Pro expanded operation: set blend mode.

set_clip_anchor_pointC

Premiere Pro expanded operation: set clip anchor point.

set_clip_opacityD

Premiere Pro expanded operation: set clip opacity.

set_clip_panD

Premiere Pro expanded operation: set clip pan.

set_clip_positionD

Premiere Pro expanded operation: set clip position.

set_clip_propertiesB

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

Inputs: clipId (required), properties (required).

set_clip_properties_batchA

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

Inputs: items (required).

set_clip_rotationC

Premiere Pro expanded operation: set clip rotation.

set_clip_scaleC

Premiere Pro expanded operation: set clip scale.

set_clip_selectionD

Premiere Pro expanded operation: set clip selection.

set_clip_speed_qeD

Premiere Pro expanded operation: set clip speed qe.

set_clip_start_timeD

Premiere Pro expanded operation: set clip start time.

set_clip_volumeC

Premiere Pro expanded operation: set clip volume.

set_color_labelB

Sets the color label on a project item.

Inputs: colorIndex (required), projectItemId (required).

set_color_valueD

Premiere Pro expanded operation: set color value.

set_effect_propertyC

Premiere Pro expanded operation: set effect property.

set_footage_interpretationB

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

Inputs: projectItemId (required), frameRate, pixelAspectRatio.

set_frame_blendD

Premiere Pro expanded operation: set frame blend.

set_graphics_white_luminanceB

Premiere Pro expanded operation: set graphics white luminance.

set_item_in_outD

Premiere Pro expanded operation: set item in out.

set_keyframe_interpolationD

Premiere Pro expanded operation: set keyframe interpolation.

set_lumetri_basicA

Sets (or offsets) Lumetri Basic Correction values of a clip; adds Lumetri if missing.

Inputs: params (required), clipIndex (required), mode, sequenceId, +2 more.

set_metadataB

Sets a project metadata value on a project item.

Inputs: key (required), value (required), projectItemId (required).

set_offlineD

Premiere Pro expanded operation: set offline.

set_override_frame_rateC

Premiere Pro expanded operation: set override frame rate.

set_override_pixel_aspect_ratioC

Premiere Pro expanded operation: set override pixel aspect ratio.

set_playhead_positionA

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

Inputs: time (required), sequenceId (required).

set_poster_frameD

Premiere Pro expanded operation: set poster frame.

set_project_panel_metadataD

Premiere Pro expanded operation: set project panel metadata.

set_project_scratch_diskC

Premiere Pro expanded operation: set project scratch disk.

set_scale_to_frame_sizeB

Premiere Pro expanded operation: set scale to frame size.

set_scale_width_heightC

Premiere Pro expanded operation: set scale width height.

set_scratch_disk_pathC

Premiere Pro expanded operation: set scratch disk path.

set_sequence_audio_settingsD

Premiere Pro expanded operation: set sequence audio settings.

set_sequence_display_formatB

Premiere Pro expanded operation: set sequence display format.

set_sequence_field_typeD

Premiere Pro expanded operation: set sequence field type.

set_sequence_frame_rateC

Premiere Pro expanded operation: set sequence frame rate.

set_sequence_in_out_pointsA

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

Inputs: sequenceId (required), inPoint, outPoint.

set_sequence_pixel_aspect_ratioC

Premiere Pro expanded operation: set sequence pixel aspect ratio.

set_sequence_resolutionD

Premiere Pro expanded operation: set sequence resolution.

set_sequence_settingsA

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.

Inputs: settings (required), sequenceId (required).

set_source_in_outD

Premiere Pro expanded operation: set source in out.

set_start_timeD

Premiere Pro expanded operation: set start time.

set_target_trackC

Premiere Pro expanded operation: set target track.

set_time_interpolationC

Premiere Pro expanded operation: set time interpolation.

set_transcode_on_ingestC

Premiere Pro expanded operation: set transcode on ingest.

set_uniform_scaleD

Premiere Pro expanded operation: set uniform scale.

setup_duckingA

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

Inputs: baseDb (required), clipId (required), duckingWindows (required), clipEndTime, +2 more.

set_work_areaC

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

Inputs: inPoint (required), outPoint (required), sequenceId (required).

set_workspaceD

Premiere Pro expanded operation: set workspace.

set_xmp_metadataC

Premiere Pro expanded operation: set xmp metadata.

set_zero_pointD

Premiere Pro expanded operation: set zero point.

slide_editC

Premiere Pro expanded operation: slide edit.

slip_editC

Premiere Pro expanded operation: slip edit.

speed_changeC

Changes the playback speed of a clip.

Inputs: speed (required), clipId (required), maintainAudio.

split_clipC

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

Inputs: clipId (required), splitTime (required).

stabilize_clipB

Applies video stabilization to reduce camera shake.

Inputs: clipId (required), method, smoothness.

start_batch_encodeD

Premiere Pro expanded operation: start batch encode.

stop_playbackC

Premiere Pro expanded operation: stop playback.

sync_color_layersA

Make every colour layer of the same scene identical again after grading one of them: for each "Màu " name, copies ALL Lumetri Color parameters (basic, creative, curves, wheels, HSL, vignette) from the master instance to the other instances of that name. master: a clip name + index or the instance under the playhead; default the first instance of each name. Different sources are never touched by each other.

Inputs: name, sequenceId, fromPlayhead, sequenceName.

toggle_track_visibilityA

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.

Inputs: visible (required), sequenceId (required), trackIndex (required).

transcribe_to_captionsA

Make captions for a cut from what the media engine already heard (word timings in /.media, written by rough_cut_by_cues or describe_sources): for every clip on the source track, the words inside its in/out are placed at its timeline position, split into lines of at most maxChars, written to "/Phụ đề/.srt" and added as a caption track. Spoken language is whatever was heard (Vietnamese, English…); slate calls outside the takes are not included. Edit the text in Premiere's Text panel afterwards.

Inputs: addTrack, maxChars, sequenceId, sourceTrack, +1 more.

trim_clipA

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

Inputs: clipId (required), inPoint, duration, outPoint.

undoB

Performs an undo operation in Premiere Pro.

Inputs: no named parameters.

unnest_sequenceD

Premiere Pro expanded operation: unnest sequence.

update_markerA

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

Inputs: markerId (required), sequenceId (required), name, color, +1 more.

validate_project_for_exportA

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.

Inputs: checkGaps, outputPath, presetPath, sequenceId, +1 more.

verify_premiere_connectionA

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.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.3/5.0

    Scored across 317 tools

    Disambiguation2/5

    With 317 tools, many overlap heavily: create_sequence, create_sequence_from_clips, create_sequence_from_preset, and duplicate_sequence all create sequences; add_transition, add_transition_to_clip, and batch_add_transitions all add transitions; remove_effect, remove_effect_by_name, and remove_all_effects overlap. Numerous one-line 'expanded operation' tools and get/full/get_properties variants make boundaries hard to infer.

    Naming Consistency3/5

    Most names are snake_case, but the verb pattern is inconsistent: set_/get_/list_/add_ mix with noun-only names like mako, pr_guide, checkpoint_project, and qc_before_export. The expanded-operation names are readable but sometimes vague, making the set feel mixed rather than systematically named.

    Tool Count1/5

    317 tools is an extreme mismatch for any single MCP server surface and far exceeds typical well-scoped ranges. The set includes many low-level, aliased, batch, high-level workflow, and expanded-operation tools that could be consolidated.

    Completeness5/5

    The surface covers project/sequence/clip CRUD, media import and bins, effects, transitions, audio keyframes/ducking, captions, markers, proxies, color correction, exports, review, and After Effects handoff. Despite some explicitly unsupported operations, the overall Premiere automation lifecycle is exceptionally complete.

    Maintenance

    ActivityNo data
    ResponsivenessSyncing

    Related MCP Connectors

    Related MCP Servers