Skip to main content
Glama

MCP Bridge for Adobe Premiere Pro

Operate local Adobe Premiere Pro projects through MCP.

284 tools, 13 context resources, and 10 guided prompts for Codex, Claude Code, Claude Desktop, and other MCP clients. CEP handles editing; the optional UXP helper reads Premiere Speech-to-Text transcripts.

License: MIT Node.js MCP npm CEP UXP

Languages: English | 日本語 | Tiếng Việt | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | ភាសាខ្មែរ

Start here: install the local bridge, open it in Premiere, then run verify_premiere_connection before editing.

Install | Codex plugin | Claude Code plugin | Verify | Privacy Policy | Terms of Service | Security

Install

The supported bridge is the included CEP panel. Install the npm package on the same computer as Premiere Pro and your MCP client:

npm install -g @compimprove/adobe-premiere-mcp
premiere-pro-mcp --install-cep
premiere-pro-mcp --doctor

--install-cep installs the CEP bridge, enables the required Adobe CEP debug setting, prepares the bridge directory, and configures supported local MCP clients. --doctor verifies the server build, CEP installation, bridge directory, debug setting, and client configuration.

Then restart Premiere Pro, open Window > Extensions > MCP Bridge (CEP), set the bridge directory shown by the installer, and start the bridge.

Requirements:

  • Node.js 20+

  • Adobe Premiere Pro 2020+

  • Premiere Pro, the MCP client, and this package on the same computer

The bundled uxp-plugin is an independent Premiere 25.6+ transcript helper. It does not replace the CEP editing bridge and is not installed by the CLI yet.

Codex plugin

From a clone of this repository, install the Codex plugin that bundles the MCP configuration and Premiere editing skill:

codex plugin marketplace add .
codex plugin add premiere-pro-mcp@adobe-premiere-pro-mcp

The plugin still requires the local CEP bridge. Run premiere-pro-mcp --install-cep, restart Premiere, start Window > Extensions > MCP Bridge (CEP), then ask Codex to run get_capabilities followed by verify_premiere_connection.

Claude Code plugin

From a clone of this repository:

/plugin marketplace add .
/plugin install premiere-pro-mcp@adobe-premiere-pro-mcp

Install and start the CEP bridge with the same steps as above before using the plugin.

Claude Desktop one-click bundle

Each GitHub release includes an .mcpb bundle for Claude Desktop. Download the matching adobe-premiere-pro-mcp-<version>.mcpb asset and open it in Claude Desktop to install the local MCP server. Its first launch installs the bundled CEP bridge for the current user.

Restart Premiere Pro, open Window > Extensions > MCP Bridge (CEP), set the bridge directory, and start the bridge. Then ask Claude:

Run verify_premiere_connection. Make no changes.

The MCPB bundle is unsigned. Install it only from this repository's GitHub Releases. CEP release archives are labeled accurately as unsigned or self-signed; self-signed does not mean Adobe Marketplace trusted.

MCP client configuration

The installer configures Claude Desktop on macOS and Claude Desktop plus GitHub Copilot in VS Code on Windows. For another MCP client, configure it to run:

{
  "mcpServers": {
    "premiere-pro": {
      "command": "premiere-pro-mcp"
    }
  }
}

Install from source

Use source setup when developing the MCP, modifying the CEP panel, or troubleshooting a package install:

git clone https://github.com/compimprove/adobe-premiere-mcp.git
cd adobe-premiere-mcp
npm install
npm run build
npm run setup:mac # macOS

On Windows, use npm run setup:win from PowerShell after npm install and npm run build.


Current MCP Bridge (CEP) panel

Current CEP panel UI inside Premiere Pro, using the refreshed bridge controls and status layout.

Related MCP server: YoloCut

Current Status

This repository is currently validated for:

  • macOS

  • Windows installer/config smoke checks through GitHub Actions

  • Adobe Premiere Pro 2020+ (actively used and tested on Premiere Pro 26.0)

  • Node.js 20+

  • MCP v2 server transport with modern stateless protocol discovery

  • the included macOS installer path for Claude Desktop

  • the included Windows installer path for GitHub Copilot in VS Code and Claude Desktop config

  • manual MCP registration for Codex, Claude Code, and similar MCP clients

Current catalog status as of August 5, 2026:

  • 284 MCP tools are exposed for AI-driven video editing

  • coverage spans project setup, media ingest, bins, sequences, timeline editing, transitions, effects, keyframes, captions, markers, metadata, proxies, multicam, color, audio, exports, and higher-level assembly workflows

  • the catalog includes practical agent workflows such as product-spot assembly, motion-graphics demos, timeline razoring, caption reads, audio ducking, scene edit detection, EDL import, export readiness validation, and linked audio/video operations

Most recent completed local live validation:

  • 284 active tools are exposed; get_capabilities reports local installation and optional live connection state, while verify_premiere_connection is the canonical read-only bridge and host readiness check

  • 0 known parked or placeholder tools are advertised

  • import_ae_comps is intentionally not advertised because Premiere returned false for real .aep fixtures in this environment and a generic .aep import can wedge the CEP bridge

The full live sweep output is written to /tmp/premiere-mcp-bridge/live-tool-sweep.json when you run the verifier.

What You Get

The server covers project operations, ingest, sequence creation, timeline editing, transitions, effects, keyframes, metadata, exports, and higher-level assembly workflows.

Example prompts:

  • "List all sequences and show me which one is active."

  • "Import these three shots and build a rough product spot."

  • "Add cross dissolves to every cut on video track 1."

  • "Apply Gaussian Blur to the middle clip."

  • "Apply the Black & White effect to the active short-form clip."

  • "Razor the interview sequence at 12.5 seconds across all audio and video tracks."

  • "Export the active sequence as FCP XML."

For monochrome looks, prefer apply_effect with Black & White instead of trying to force black and white through generic saturation-only adjustments.

Before editing, you can also attach the premiere://config/get_instructions resource to give the model Premiere-specific operating guidance.

For a predictable start to every session, first run verify_premiere_connection. It confirms that the CEP bridge responded and returns the Premiere build, open project, and active sequence without modifying the project.

High-level workflow tools included:

  • build_motion_graphics_demo

  • assemble_product_spot

  • build_brand_spot_from_mogrt_and_assets

assemble_product_spot and build_brand_spot_from_mogrt_and_assets now support an optional clipPlan argument so an LLM can direct per-clip timing, track placement, transitions, motion, trims, effects, and color adjustments instead of relying on fixed template defaults.

Agent Skill

If you want Codex, Claude Code, or another agent to handle installation, verification, and day-to-day usage correctly, install the included Agent Skill:

npx skills add compimprove/adobe-premiere-mcp --skill premiere-pro-mcp

Or install directly from the skill path:

npx skills add https://github.com/compimprove/adobe-premiere-mcp/tree/main/skills/premiere-pro-mcp

The skill teaches agents how to install the MCP, start and verify the CEP bridge, use the Premiere tools safely, import real media before editing, prefer sequence-aware operations, and run diagnostics when something fails.

Advanced Setup and Verification

For source installs, client-specific MCP configuration, Windows installer flags, diagnostics, and the live tool sweep, use QUICKSTART.md. It is the canonical setup guide and keeps this page focused on choosing and using the product.

The short version:

  1. Install with npm install -g @compimprove/adobe-premiere-mcp, then run premiere-pro-mcp --install-cep.

  2. Restart Premiere Pro and your MCP client, then start Window > Extensions > MCP Bridge (CEP).

  3. Run premiere-pro-mcp --doctor, then ask the client to call verify_premiere_connection without making changes.

For manual registration in any MCP client, use the global command after npm installation:

{
  "mcpServers": {
    "premiere-pro": {
      "command": "premiere-pro-mcp"
    }
  }
}

CEP remains the editing bridge. If Premiere does not expose the extension, enable UXP Plugins > Enable developer mode in Premiere preferences, restart Premiere, and reopen the CEP panel. The separate UXP panel is required only for Speech-to-Text transcript reads.

For a real-host sweep, use a disposable Premiere project and run node scripts/live-tool-sweep.mjs; it creates temporary Sweep ... sequences in the current project.

For source installs that enable the optional transcript bridge, the setup also:

  • install dependencies

  • build dist/index.js

  • enable Adobe CEP debug mode

  • install the MCP Bridge (CEP) extension

  • create /tmp/premiere-mcp-bridge

  • prepare the UXP transcript command queue

  • add the premiere-pro MCP entry to Claude Desktop

Important:

  • MCP Bridge (CEP) remains the supported bridge for the existing editing tools

  • MCP Transcript Bridge (UXP) is an optional helper used only by read_sequence_transcription

  • the installer enables Adobe CEP debug mode automatically

  • if Premiere does not expose the extension cleanly on your machine, enable UXP Plugins > Enable developer mode in Premiere Pro preferences before opening the bridge panel

  • npm run setup:mac is the easiest path for Claude Desktop on macOS because it updates Claude Desktop config automatically

After the installer finishes:

  1. Quit and reopen your MCP client if it reads config on startup. If you used the installer, that means Claude Desktop.

  2. Quit and reopen Premiere Pro.

  3. In Premiere Pro on macOS, open Premiere Pro > Preferences > Plugins and enable UXP Plugins > Enable developer mode.

  4. Restart Premiere Pro if the setting was changed.

  5. Open Window > Extensions > MCP Bridge (CEP).

  6. Set Temp Directory to /tmp/premiere-mcp-bridge.

  7. Click Save Configuration.

  8. Click Start Bridge.

  9. To enable transcription reading, load the repository's uxp-plugin folder in Adobe UXP Developer Tool, then open Window > UXP Plugins > MCP Transcript Bridge.

  10. In the UXP panel, enter /tmp/premiere-mcp-bridge as the bridge root, click Save bridge root, then click Start Bridge.

  11. Connect from Codex, Claude Code, Claude Desktop, or another MCP client using the same temp directory.

  12. If CEP commands fail, click Run Diagnostics and send back /tmp/premiere-mcp-bridge/premiere-mcp-diagnostics-latest.json.

If you need a visual reference for the developer mode toggle, it looks like this:

Enable UXP developer mode in Premiere Pro

If the panel reports that Premiere is ready after Start Bridge, the bridge is live.

Install By Client

Claude Desktop

On macOS, use:

npm run setup:mac

That is the only path in this repo that automatically writes the MCP entry for you.

Codex

Build the server first:

npm install
npm run build

Then add the MCP server on a single line:

codex mcp add premiere_pro --env PREMIERE_TEMP_DIR=/tmp/premiere-mcp-bridge -- node /absolute/path/to/Adobe_Premiere_Pro_MCP/dist/index.js

Claude Code

Build the server the same way:

npm install
npm run build

Then register the MCP server in Claude Code using the same built dist/index.js entrypoint and the same temp directory:

command: node /absolute/path/to/Adobe_Premiere_Pro_MCP/dist/index.js
env: PREMIERE_TEMP_DIR=/tmp/premiere-mcp-bridge

If you use a local MCP config file instead of a helper command, point it at the same dist/index.js and set the same env var.

Other MCP Clients

Use the same manual registration approach as Claude Code:

command: node /absolute/path/to/Adobe_Premiere_Pro_MCP/dist/index.js
env: PREMIERE_TEMP_DIR=/tmp/premiere-mcp-bridge

Important for all manual client setups:

  • keep the command on one line

  • use the real absolute path to dist/index.js

  • restart the client after adding or updating the MCP entry

  • start the CEP bridge inside Premiere and confirm the temp directory is exactly /tmp/premiere-mcp-bridge

  • for read_sequence_transcription, also start the UXP Transcript Bridge with that same root folder

Verify the Install

Run the built-in checks:

npm run setup:doctor

That validates:

  • Node.js version

  • built server output

  • CEP extension install

  • /tmp/premiere-mcp-bridge

  • Adobe CEP debug mode

  • the Claude Desktop config entry when you use the installer path

  • CEP panel diagnostics written to /tmp/premiere-mcp-bridge/premiere-mcp-diagnostics-latest.json

  • UXP transcript-helper heartbeat at /tmp/premiere-mcp-bridge/uxp/status.json when the optional helper is running

For a deeper end-to-end check, use a disposable Premiere project and run:

node scripts/live-tool-sweep.mjs

This creates temporary Sweep ... sequences in the currently open project so the toolchain is exercised against real data.

How the Bridge Works

+-----------+        +-----------+        +-----------+
|  Client   |  MCP   | Node.js   | Files  | CEP Panel |
| (Codex+)  |<------>| MCP Server|<------>| edits     |
+-----------+        +-----------+        +-----------+
                                  |
                                  | Files: uxp/commands + uxp/responses
                                  v
                           +-----------+
                           | UXP panel |
                           | transcripts|
                           +-----------+
  1. The client calls an MCP tool.

  2. Existing editing tools generate ExtendScript and use the CEP panel's command files.

  3. read_sequence_transcription writes a versioned UXP request to uxp/commands.

  4. The UXP panel reads source-clip Speech-to-Text transcripts through Premiere's UXP API and writes a normalized response to uxp/responses.

  5. The server returns structured JSON to the MCP client. CEP and UXP do not call one another.

Tools

All 284 advertised tools have an implementation. Tool schemas are available through MCP discovery; this catalog explains the editing surface in human terms. Start with verify_premiere_connection, then inspect the project before asking an agent to mutate it.

Discovery and project inspection

The catalog covers:

  • Discovery and project inspection

  • Project and sequence management

  • Media import and bin management

  • Timeline placement and clip operations

  • Effects, transitions, color, and keyframes

  • Markers, metadata, labels, and work-area control

  • Export and interchange helpers

  • MOGRT, captions, proxies, and relink helpers

  • Speech-to-Text transcript reading (Premiere 25.6+ with the optional UXP helper)

  • High-level ad / promo assembly workflows

Tools

What they do

verify_premiere_connection / get_capabilities

Read-only host readiness and local runtime capability checks.

get_project_info / list_project_items / list_sequences

Inspect the current project, media/bin inventory, and sequences.

get_active_sequence / list_sequence_tracks / get_sequence_settings

Read the current timeline, its clips/tracks, and sequence settings.

get_full_project_overview / get_full_sequence_info / get_full_clip_info

Return deeper project, sequence, or clip snapshots for planning.

search_project_items / find_project_item_by_name / find_items_by_media_path

Locate project items by name or media path.

get_timeline_summary / get_timeline_gaps / get_used_media_report

Summarize the edit, detect gaps, and report media in use.

get_offline_media / check_offline_media / get_unused_media / get_duplicate_media

Find missing, unused, or duplicated media before an edit or export.

get_clip_properties / get_clip_speed / get_clip_at_position / get_clip_at_playhead

Inspect clip framing, speed, and timeline position.

get_premiere_state / get_version_info / ping

Read a broad host state, Premiere version, or bridge health.

Projects, media, and bins

Tools

What they do

create_project / open_project / save_project / save_project_as / close_project

Project lifecycle and file operations.

import_media / import_folder / import_image_sequence

Bring video, audio, stills, or image sequences into the project.

import_fcp_xml / import_sequences_from_project / import_sequences

Import supported timeline interchange or sequences from another project.

create_bin / rename_bin / delete_bin / create_smart_bin

Create and organize project-panel bins.

move_item_to_bin / move_items_to_bin / rename_project_item / rename_clip

Organize and rename existing project items.

delete_project_item / delete_multiple_project_items

Remove project items explicitly. These are destructive operations.

create_subclip / refresh_media / relink_media / replace_clip_media

Create source ranges, refresh media, relink missing files, or replace clip media.

get_metadata / set_metadata / get_xmp_metadata / set_xmp_metadata

Read and write project metadata and XMP fields.

get_footage_interpretation / set_footage_interpretation

Inspect or change footage frame-rate and pixel-aspect interpretation.

set_color_label / get_color_label / set_project_panel_metadata

Label and annotate project-panel items.

Sequences and tracks

Tools

What they do

create_sequence / create_sequence_from_preset

Make an empty sequence from an installed .sqpreset without triggering Premiere's New Sequence dialog.

create_sequence_from_clips

Derive a sequence from pre-imported media when the clip settings should define the sequence.

duplicate_sequence

Copy a sequence; clearContents: true makes an empty reusable template with the source settings.

delete_sequence / close_sequence / set_active_sequence

Manage which sequence is open or active.

get_sequence_structure / get_sequence_count

Inspect a sequence layout or count project sequences.

set_sequence_settings / set_sequence_frame_rate / set_sequence_resolution

Change supported sequence settings. Verify results because Premiere can quantize or reject changes.

set_sequence_audio_settings / set_sequence_pixel_aspect_ratio / set_sequence_field_type

Adjust supported audio, pixel-aspect, and field settings.

add_track / add_tracks / delete_track / rename_track

Create, remove, and name audio/video tracks. Caption-track deletion returns an explicit unsupported result.

lock_track / toggle_track_visibility / set_target_track / set_all_tracks_targeted

Control edit protection, visibility, and track targeting.

get_track_info / get_target_tracks / get_sequence_in_out_points

Inspect tracks, targeting, and sequence in/out ranges.

Timeline editing and trim operations

Tools

What they do

add_to_timeline / add_to_timeline_batch

Place one or many project clips with per-clip source ranges and link-audio control. Batch placement returns per-clip results.

insert_from_source / overwrite_from_source / overwrite_clip

Perform three-point insert or overwrite editing from the Source monitor.

remove_from_timeline / remove_selected_clips / ripple_delete

Remove timeline clips. Ripple deletion closes the gap when the host supports it.

move_clip / move_clip_to_track / set_clip_start_time

Reposition a clip in time or on another track.

split_clip / razor_timeline_at_time / razor_all_tracks

Cut one clip or multiple tracks at a requested timeline point.

trim_clip / roll_edit / slide_edit / slip_edit

Adjust edit points and clip content timing. Structural QE edits are read back rather than trusted blindly.

lift_selection / extract_selection / nest_clips / unnest_sequence

Lift/extract a selected range or create/remove nests.

duplicate_clip / replace_clip / enable_disable_clip / freeze_frame

Duplicate, replace, enable, or freeze timeline material.

link_audio_video / link_selection / unlink_selection / get_linked_items

Manage audio/video link relationships.

undo / redo / multiple_undo

Revert or reapply recent Premiere operations.

Effects, color, motion, and keyframes

Tools

What they do

list_available_effects / list_clip_effects / get_effect_properties

Discover installed effects, applied effects, and their properties.

apply_effect / remove_effect / remove_effect_by_name / remove_all_effects

Add or remove visual/audio effect components. apply_effect identifies and reads back the new component.

batch_apply_effect / copy_effects_between_clips / copy_effect_values

Apply or copy effect treatments across clips.

set_effect_property / set_color_value / set_blend_mode

Change supported effect parameters, color values, and blend modes.

color_correct / apply_lut / stabilize_clip

Apply basic correction, LUTs, or Warp Stabilizer.

crop_clip / add_adjustment_layer / get_clip_adjustment_layer

Crop a clip or use an adjustment layer for shared treatment.

set_clip_properties / set_clip_properties_batch

Set opacity, scale, rotation, and position with verified per-property output.

set_clip_position / set_clip_scale / set_clip_rotation / set_clip_anchor_point

Address individual Motion transform values.

add_keyframe / get_keyframes / remove_keyframe / remove_keyframe_range

Create, inspect, and remove parameter keyframes.

set_keyframe_interpolation / get_value_at_time

Set interpolation or query a parameter value at a given time.

Audio, transitions, and captions

Tools

What they do

adjust_audio_levels / set_clip_volume / set_clip_pan

Set clip gain, volume, or pan.

add_audio_keyframes / setup_ducking

Build volume automation or a full ducking curve from supplied windows.

mute_track / apply_audio_effect / apply_audio_effect_to_all_clips

Mute a track or apply audio processing to one or many clips.

detect_silence

Analyze a local media file with ffmpeg and return silence ranges. It does not edit the timeline.

list_available_transitions / list_available_audio_transitions

Discover installed transition names.

add_transition / add_transition_to_clip / batch_add_transitions

Add one or many transitions. Results distinguish verified changes from accepted-but-unverified host responses.

create_caption_track

Create a caption track from an imported subtitle project item, such as an SRT.

read_sequence_captions

Reports scripting-visible caption data and explicitly flags that Premiere's DOM often cannot read existing caption text.

Markers, selection, navigation, and playback

Tools

What they do

add_marker / update_marker / delete_marker / list_markers

Create and manage timeline markers.

add_marker_to_project_item / get_clip_markers / get_sequence_markers_by_type

Work with markers on project items, clips, or sequences.

set_sequence_in_out_points / clear_sequence_in_out / set_work_area / get_work_area

Set or inspect sequence in/out points and work area.

get_playhead_position / set_playhead_position / get_next_edit_point / move_playhead_to_edit

Inspect and navigate the CTI/playhead.

get_selected_clips / select_clips_by_name / select_clips_in_range

Inspect or create targeted timeline selections.

select_all_clips / deselect_all_clips / select_disabled_clips / invert_selection

Broader selection controls.

open_in_source / close_source_monitor / set_source_in_out / clear_item_in_out

Control Source monitor media and source in/out points.

play_timeline / stop_playback / play_source_monitor

Start or stop timeline and source playback.

Delivery, interchange, and media management

Tools

What they do

validate_project_for_export / get_encoder_presets / get_export_file_extension

Validate a delivery, discover readable user .epr presets, and resolve output extensions.

export_sequence / add_to_render_queue

Queue a sequence through Adobe Media Encoder using a real preset path or exact preset name.

get_render_queue_status / start_batch_encode

Report queue-monitoring availability or start supported batch encoding.

export_frame / capture_frame

Write a still image from a sequence or capture a frame.

export_as_fcp_xml / export_aaf / export_omf

Export supported interchange formats.

encode_project_item / encode_file / export_as_project

Encode a source item/file or export a project representation.

manage_proxies / has_proxy / detach_proxy

Inspect, attach, or detach proxies.

set_offline / refresh_media / set_scale_to_frame_size

Change offline status, refresh media, or apply frame-size scaling.

consolidate_duplicates / consolidate_and_transfer

Consolidate duplicate items or prepare a transfer workflow.

Graphics, workflows, workspace, and advanced operations

Tools

What they do

add_text_overlay / import_mogrt / import_mogrt_from_library

Add a MOGRT and optionally populate supported text fields.

get_mogrt_component / get_graphics_white_luminance / set_graphics_white_luminance

Inspect Motion Graphics components and graphics white luminance.

build_motion_graphics_demo

Create a complete demo sequence with generated assets, dissolves, and subtle animation.

assemble_product_spot / build_brand_spot_from_mogrt_and_assets

Assemble real media into a directed product/brand edit with optional clip plans and MOGRT overlays.

auto_reframe_sequence / detect_scene_edits / scene_edit_detection

Use Premiere-assisted reframing or scene-change detection where the host supports it.

get_workspaces / set_workspace

Inspect and switch Premiere workspace layouts.

create_bars_and_tone / set_transcode_on_ingest / set_scratch_disk_path

Generate utility media or manage ingest and scratch-disk behavior.

execute_extendscript / evaluate_expression / inspect_dom_object

Advanced diagnostic and scripting operations. Use only with trusted inputs and explicit user intent.

Additional supported operations

The remaining catalog covers lower-level control of media properties, project settings, display formats, anti-aliasing, poster frames, color labels, selection, track targeting, project paths, and project counts. It includes set_override_frame_rate, set_override_pixel_aspect_ratio, set_frame_blend, set_time_interpolation, set_poster_frame, set_anti_alias_quality, set_uniform_scale, set_scale_width_height, set_sequence_display_format, set_project_scratch_disk, get_project_scratch_disks, get_all_project_paths, get_total_clip_count, get_insertion_bin, is_work_area_enabled, and match_frame.

Use MCP introspection in your client for each tool's exact input schema and return shape. An agent should inspect first, make a focused mutation, and read back the affected state before continuing a multi-step edit.

Real Limits

  • A self-signed CEP .zxp confirms archive integrity but is not Adobe Marketplace approval or a public trust guarantee. The reproducible signing workflow requires private certificate secrets and target-platform Premiere validation.

This project is much more usable than the original prototype, but it is not magic.

  • Premiere scripting still does not expose every UI operation cleanly.

  • Caption tracks are not the same as Speech-to-Text transcripts: read_sequence_captions remains unavailable through CEP, while read_sequence_transcription reads source-clip transcripts through UXP.

  • Professional title design still depends on real MOGRT assets or external graphics workflows.

  • get_render_queue_status is only useful when Adobe Media Encoder integration is available.

  • The best results come from real source footage, real audio, and real brand assets. The automation layer assembles and manipulates them; it does not replace editorial judgment.

Troubleshooting

If the tools are visible but calls fail:

  1. Confirm Premiere Pro is open with a project loaded.

  2. Open Window > Extensions > MCP Bridge (CEP).

  3. Confirm the temp directory is exactly /tmp/premiere-mcp-bridge.

  4. Click Start Bridge.

  5. If you updated the bridge code, right-click the panel and choose Reload.

  6. Retry the command.

If read_sequence_transcription reports that the UXP bridge is unavailable:

  1. Use Premiere Pro 25.6 or later.

  2. Enable Plugins > Enable Developer Mode, then load uxp-plugin with Adobe UXP Developer Tool.

  3. Open Window > UXP Plugins > MCP Transcript Bridge.

  4. Enter /tmp/premiere-mcp-bridge, click Save bridge root, then click Start Bridge.

  5. Ensure the source clips in the sequence were transcribed in Premiere's Text panel. The tool returns a partial result when some source clips have no transcript.

If the MCP client cannot find the server:

  1. Verify the absolute path to dist/index.js.

  2. Verify PREMIERE_TEMP_DIR=/tmp/premiere-mcp-bridge.

  3. Restart the MCP client after changing config.

  4. Run npm run setup:doctor.

Developer Notes

Useful commands:

npm run build
npm test -- --runInBand
npm run setup:doctor
node scripts/live-tool-sweep.mjs

See:

  • QUICKSTART.md for the shortest install path

  • KNOWN_ISSUES.md for current limits

  • CONTRIBUTING.md for development workflow

Available Tools

284 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_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_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.

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.

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.

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

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

deselect_all_clipsB

Premiere Pro expanded operation: deselect all clips.

detach_proxyD

Premiere Pro expanded operation: detach proxy.

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

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.

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

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_frameD

Premiere Pro expanded operation: match frame.

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.

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

overwrite_clipD

Premiere Pro expanded operation: overwrite clip.

overwrite_from_sourceC

Premiere Pro expanded operation: overwrite from source.

pingD

Premiere Pro expanded operation: ping.

play_source_monitorB

Premiere Pro expanded operation: play source monitor.

play_timelineB

Premiere Pro expanded operation: play timeline.

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.

read_sequence_transcriptionA

Reads Premiere Speech-to-Text transcripts from the source clips used by a sequence. Requires the optional MCP Transcript Bridge (UXP) panel in Premiere Pro 25.6+. Returns timeline-timed segments plus missing/unsupported source-clip diagnostics; it does not read caption tracks.

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.

reverse_clipB

Reverses the playback of a clip.

Inputs: clipId (required), maintainAudioPitch.

ripple_deleteD

Premiere Pro expanded operation: ripple delete.

roll_editD

Premiere Pro expanded operation: roll edit.

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

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

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

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.2/5.0

    Scored across 284 tools

    Disambiguation2/5

    With 284 tools there is substantial overlap: check_offline_media/get_offline_media, add_track/add_tracks, import_sequences/import_sequences_from_project, set_clip_properties and the many set_clip_* granular tools, plus multiple get_clip_info/get_item_info variants. An agent would struggle to reliably pick the intended tool for many editing operations.

    Naming Consistency4/5

    The vast majority of tools follow a clean snake_case verb_noun pattern like list_sequences, create_sequence, set_clip_opacity, and export_frame. A few oddballs like ping, undo, redo, and get_premiere_state break the pattern, but overall naming is predictable.

    Tool Count1/5

    284 tools is an extreme count for a single MCP server, far beyond the 3-15 tool range that keeps an agent's tool-selection surface manageable. The server would be much more coherent split into focused servers for project management, timeline editing, effects/color, audio, captions, and export.

    Completeness4/5

    The domain coverage is remarkably broad: project lifecycle, media import, sequence creation, timeline editing, effects, transitions, audio, color, captions, markers, and export are all represented. Minor gaps exist, such as unsupported EDL import, no real caption reading API, and render queue status being only guidance rather than live telemetry.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents and MCP clients to programmatically edit video projects on a local desktop editor, with 119 tools for multitrack editing, effects, captions, audio, and batch auto-editing, producing reviewable and reversible real timeline edits.
      AGPL 3.0
    • A
      license
      A
      quality
      B
      maintenance
      Enables MCP clients to operate local Adobe Premiere Pro projects, covering media ingest, bins, sequence and timeline editing, transitions, effects, keyframes, captions, markers, metadata, proxies, multicam, color, audio, and exports through 283 discoverable tools, 13 context resources, and 10 guided prompts. A bundled CEP panel provides the supported production bridge, with read-only connection verification and higher-level workflows for assembling product spots and motion-graphics demos.
      5
      3,657 npm
      MIT