MCP Premiere Pro
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Premiere Pro create proxies for all clips in this project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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. |
|
Cue-based rough cut | Whisper listens to each file's own audio for slate calls ( |
|
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. |
|
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. |
|
| ||
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. |
|
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. |
|
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. |
|
Music beats | Tempo, every beat and the first beat of each bar, dropped as markers on the timeline. |
|
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. |
|
Voiceover ducking | Places a VO on a free track and ducks the music only where the voice actually speaks, with editable Volume keyframes. |
|
Loudness | Measures every clip in LUFS (only the part used) and sets dialogue and music to their targets, keeping ducking shapes. |
|
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. |
|
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. |
|
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). |
|
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. |
|
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). |
|
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. |
|
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). |
|
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. |
|
Housekeeping | Labelled |
|
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 insrc/tools/index.ts,expanded.tsandcolor.ts; the studio workflow lives insrc/tools/studio.ts,beats.ts,cleanup.tsanddeliverables.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 thepr_guidetool reads at run time. Drop in a new.mdand 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
PATHor 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 build2. Install the CEP panel
npm run setup:macThis 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.jsRestart the client, then ask: "Run verify_premiere_connection and make no changes."
Optional settings
Variable | What it points to |
| Bridge folder shared with the CEP panel (default |
| Folder of the Dailies CLI ( |
|
|
|
|
| Handoff folder shared with the After Effects MCP |
| Knowledge-base folder read by |
| The QT Gamma Compensation |
| 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.wavat 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 |
| First step of a job: ProRes Proxy (or H.264) at 1/2 or 1/4 resolution with VideoToolbox, saved in |
| Progress of a |
| Save, then keep a labelled copy of the |
| Move loose root items into numbered bins (Footage, Audio, Graphics, Sequences, Adjustment, Proxies & renders). Never deletes or renames. |
| Rough-cut footage by the slate calls heard in each file; new sequence, markers per take, low-confidence takes in red. |
| Describe every shot (description, shot size, quality numbers) and write it into the Project panel's Comment and Log Note columns. |
| Find shots by words (English or Vietnamese) with SigLIP 2; ranked hits with in/out, markers on source clips, optional "Tìm: <query>" sequence. |
| Score footage and keep the usable stretches; selects sequence and XML/FCPXML/EDL/CSV export for another editor. |
| Rank takes with reasons; optionally build a selects sequence. |
| Tempo, beats and bar starts of the music, with timeline markers. |
| Copy of the sequence with every cut moved onto the beat. |
| Place a voiceover and duck the music only where the voice speaks. |
| Measure each clip in LUFS and set dialogue/music levels. |
| Captions from the words already heard, as SRT plus a caption track. |
| One Lumetri adjustment layer per source on a new top track. |
| Copy every Lumetri parameter from one scene layer to the others with the same name. |
| One colour layer over the whole sequence or a range (a global look). |
| Solid white, black or |
| Square / vertical / 4:5 copies of a horizontal edit, re-framed clip by clip. |
| Drive the Mako panel: adjustment layers, staircase, freeze frame, fit/fill, nest/unnest, QC markers and more. |
| Record a timeline clip in a handoff file for the After Effects MCP. |
| Lay the After Effects render back on the timeline above the original. |
| Read the knowledge base: transitions, plugins, colour, exports, clean-up. |
| Editor's review of a cut with "Review:" markers and a contact sheet. |
| Read-only pre-delivery check with timecodes. |
| ProRes master, then every requested deliverable with fixed presets, names and loudness. |
| Progress of an export job, with files and measured LUFS. |
| Read-only report of unused project items and files after delivery. |
| 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_projectsaves a copy of the project before large changes;clean_unused_mediatakes 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_guideSilence 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
Available Tools
317 toolsadd_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_linksC
Premiere Pro expanded operation: get clip links.
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.
link_audio_videoA
Links or unlinks audio and video components of a clip.
Inputs: clipId (required), linked (required).
link_selectionC
Premiere Pro expanded operation: link 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).
relink_mediaB
Relinks an offline or moved media file to a new file path.
Inputs: newFilePath (required), 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.
unlink_selectionD
Premiere Pro expanded operation: unlink selection.
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
Scored across 317 tools
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.
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.
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.
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
Related MCP Connectors
The agentic video editor for ChatGPT and Claude. Ask in your chat and it cuts, captions, adds music, titles and motion graphics on a real timeline you can open and adjust.
Compose, edit and render video with your AI agent. Turn footage into finished edits with content-aware reframing, word-timed captions and motion graphics. Hosted MCP with OAuth sign-in; cloud processing uses credits.
A film studio inside your own Claude: your Claude plans, writes, makes, checks and finishes films, pictures, voices and music with you, on your own provider keys.
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Related MCP Servers
- AlicenseCqualityCmaintenanceEnables control of Adobe Premiere Pro through Claude using over 170 tools for editing, effects, and timeline management. It supports advanced project operations, automated captions, and AI-generated voiceovers via ElevenLabs integration.1808,356 npm48MIT
- AlicenseAqualityDmaintenanceEnables Claude to drive Adobe Premiere Pro directly through natural-language requests, supporting import, timeline editing, markers, effects, transitions, and export.238,356 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables prompt-driven video editing in Adobe Premiere Pro, allowing Claude to transcribe footage, decide cuts, build motion graphics, and assemble timelines via natural language.-
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible AI assistants to control Adobe Premiere Pro through natural language, automating project and media management, timeline editing, color and audio adjustments, titles and markers, and batch exports via a local bridge.8,356 npm1MIT