Adobe Premiere ProBLOCK
Control Adobe Premiere Pro from Claude/Codex with 170+ editing tools via Model Context Protocol
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Control Adobe Premiere Pro from Claude/Codex using the Model Context Protocol. 170+ tools for editing, effects, captions, export, and more.
How it works
LLM ←→ MCP Server (Node.js) ←→ WebSocket ←→ CEP Panel ←→ ExtendScript ←→ Premiere Pro
Requirements
- Adobe Premiere Pro 2023+ (tested on 2026)
- Node.js 18+
- Claude Desktop/Code or Codex
- Windows
Quick Start
Automatic Install
git clone https://github.com/antipaster/Adobe-Premiere-Pro-MCP.git cd Adobe-Premiere-Pro-MCP install.bat
The installer will:
- Enable unsigned CEP extensions (debug mode)
- Symlink the CEP panel into Premiere Pro's extensions folder
- Install dependencies and build
- Configure Claude Desktop and Claude Code or Codex
Connect
- Open Premiere Pro
- Go to Window > Extensions > MCP Bridge
- The panel should show "Connected"
- Start Claude/Codex and use Premiere Pro tools
Configuration
Copy config.example.json to config.json and edit:
{
"port": 8097,
"elevenlabs": {
"api_key": "your-elevenlabs-api-key",
"default_voice_id": "21m00Tcm4TlvDq8ikWAM",
"default_model": "eleven_multilingual_v2"
}
}Tools (170+)
Project (28 tools)
open_project save_project close_project import_media create_bin find_project_items get_project_info get_project_items create_proxy attach_proxy toggle_proxy_mode create_sub_clip relink_media refresh_media import_ae_comps import_sequences `flush_cach
8043e0185c8eOBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add premiere-pro-mcp --env ELEVENLABS_API_KEY=${ELEVENLABS_API_KEY} -- npx -y [email protected]{
"mcpServers": {
"premiere-pro-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"ELEVENLABS_API_KEY": "${ELEVENLABS_API_KEY}"
}
}
}
}Exposed tools (180)
75 read · 91 write · 14 destructive. Blast radius: 14 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
add_adjustment_layer | write | Add an adjustment layer to a video track |
add_audio_keyframe | write | Add an audio volume keyframe to a clip at a specific time |
add_bars_and_tone | write | Add color bars and tone to the timeline |
add_black_video | write | Add black video (slug) to the timeline |
add_caption | write | Add a caption/subtitle segment to a caption track |
add_caption_sequence | write | Add multiple timed text captions in sequence — perfect for word-by-word TikTok-style captions, lyrics sync, or subtitle-like overlays. Each caption has its own text, start time, and duration. |
add_caption_track | write | Add a new caption/subtitle track to the active sequence |
add_clip_marker | write | Add a marker to a specific clip on the timeline |
add_clip_to_timeline | write | Add a project item (clip) to the timeline via insert edit |
add_color_matte | write | Add a color matte (solid color) to the timeline |
add_keyframe | write | Add a keyframe to an effect property at a specific time |
add_marker | write | Add a marker to the active sequence |
add_mogrt_to_timeline | write | Add a Motion Graphics Template (.mogrt) to the timeline |
add_project_item_marker | write | Add a marker to a project item (source clip, not timeline) |
add_text_graphic | write | Add a text graphic (Essential Graphics) to the timeline |
add_tiktok_caption | write | Add a TikTok-style text caption to the timeline. Uses built-in Premiere Pro title MOGRTs. Great for adding big bold text overlays, word highlights, or captions. |
add_tracks | write | Add new video or audio tracks to the active sequence |
add_universal_counting_leader | write | Add a universal counting leader to the timeline |
apply_audio_crossfade | write | Apply an audio crossfade between two adjacent clips |
apply_effect | write | Apply a video or audio effect to a clip on the timeline |
apply_transition | write | Apply a video or audio transition between two adjacent clips or at a clip edge |
attach_proxy | read | Attach existing proxy media to a project item |
auto_reframe_sequence | read | Auto-reframe the active sequence to a new aspect ratio (AI-powered reframing) |
clear_all_markers | destructive | Remove all markers from the active sequence |
clear_project_item_in_out | destructive | Clear in/out points on a project item |
clear_sequence_in_out | destructive | Clear in and out points on the active sequence |
clone_sequence | read | Duplicate an existing sequence |
close_project | write | Close the current project (with optional save) |
consolidate_duplicates | read | Consolidate duplicate media in the project |
create_bin | write | Create a new bin (folder) in the project panel |
create_proxy | write | Create proxy media for a project item |
create_sequence | write | Create a new sequence |
create_sequence_from_clip | write | Create a new sequence matching a clip |
create_sub_clip | write | Create a sub-clip from a project item with specific in/out points |
create_subsequence | write | Create a subsequence from the in/out range of the active sequence |
delete_project_items | destructive | Delete project items from the project panel |
delete_sequence | destructive | Delete a sequence from the project |
deselect_all | read | Deselect all clips on the timeline |
duplicate_clip | read | Duplicate a clip on the timeline |
elevenlabs_generate_captions_voice | read | Generate AI voiceover for multiple caption texts. Creates individual audio files for each caption and optionally places them on the timeline at the correct times. |
elevenlabs_generate_speech | read | Generate speech audio from text using ElevenLabs AI. Saves the audio file and optionally imports it into Premiere Pro and places it on the timeline. Requires ELEVENLABS_API_KEY environment variable. |
elevenlabs_list_voices | read | List available ElevenLabs voices. Requires ELEVENLABS_API_KEY environment variable. |
enable_disable_clip | write | Enable or disable a clip on the timeline |
execute_extendscript | write | Execute arbitrary ExtendScript code in Premiere Pro. Use for operations not covered by other tools. Returns the result as JSON. |
execute_qe_script | write | Execute ExtendScript code using the QE (Quantum Engine) DOM. Enables access to internal Premiere functions not in the public API. |
export_aaf | read | Export the active sequence as an AAF file (for Pro Tools, etc.) |
export_captions | read | Export captions to a file (SRT, SCC, MCC, etc.) |
export_direct | read | Export/render the active sequence directly (synchronous, blocks Premiere until done - use for short sequences) |
export_edl | read | Export the active sequence as an EDL file |
export_final_cut_xml | read | Export the active sequence as Final Cut Pro XML |
export_frame | read | Export a single frame as an image (JPEG, PNG, TIFF, etc.) |
export_omf | read | Export the active sequence as an OMF file |
export_sequence | read | Export/render the active sequence via Adobe Media Encoder |
find_project_items | read | Search project items by name pattern |
flush_cache | read | Flush the media cache (useful to free disk space or resolve cache issues) |
freeze_frame | write | Apply a freeze frame (hold frame) at a specific point in a clip |
get_active_sequence | read | Get detailed info about the currently active sequence (tracks, position, settings) |
get_app_version | read | Get the Premiere Pro application version and build info |
get_audio_channel_mapping | read | Get the audio channel mapping of a project item |
get_audio_effects_list | read | Get a list of all available audio effects in Premiere Pro |
get_audio_transitions_list | read | Get a list of all available audio transitions/crossfades |
get_available_mogrts | read | List the built-in MOGRT text templates available for captions and titles |
get_caption_tracks | read | Get all caption/subtitle tracks on the active sequence |
get_captions | read | Get all caption segments from a caption track |
get_clip_color_space | read | Get the color space information of a project item |
get_clip_effects | read | List all effects (components) applied to a clip, with their properties |
get_clip_info | read | Get detailed information about a specific clip on the timeline (effects, properties, linked clips, etc.) |
get_clip_markers | read | Get all markers on a specific clip |
get_clip_metadata | read | Get all metadata (XMP) properties of a project item |
get_clip_speed | read | Get the playback speed and reverse status of a clip |
get_clip_transform | read | Get the current motion/transform properties of a video clip |
get_clip_volume | read | Get the current audio volume (gain) of a clip |
get_connection_status | read | Check if Premiere Pro is connected to the MCP bridge |
get_effect_property | read | Get the current value of a specific effect property |
get_encoder_presets | read | List available Adobe Media Encoder presets for export |
get_file_metadata | read | Get technical file metadata (codec, resolution, frame rate, duration, file size, etc.) |
get_keyframes | read | Get all keyframes for a specific effect property |
get_markers | read | Get all markers on the active sequence |
get_mogrt_properties | read | Get the editable properties of a Motion Graphics clip on the timeline |
get_playhead | read | Get the current playhead position |
get_project_info | read | Get information about the currently open Premiere Pro project (name, path, sequences count, items count, scratch disk paths) |
get_project_item_info | read | Get detailed info about a specific project item (duration, frame rate, codec, dimensions, media path, etc.) |
get_project_item_type_info | read | Check if a project item is an adjustment layer, sequence, merged clip, or multicam clip |
get_project_items | read | List all items (clips, bins, sequences) in the project panel |
get_selection | read | Get all currently selected clips on the timeline |
get_sequence_settings | read | Get detailed settings of the active sequence (frame rate, resolution, pixel aspect ratio, field type, etc.) |
get_sequences | read | List all sequences in the current project with their properties |
get_source_monitor_clip | read | Get info about the clip currently loaded in the Source Monitor |
get_timeline_clips | read | Get all clips on the active sequence timeline with their properties |
get_track_info | read | Get detailed info about a specific track (name, locked, muted, clips count, target status) |
get_video_effects_list | read | Get a list of all available video effects in Premiere Pro |
get_video_transitions_list | read | Get a list of all available video transitions |
get_work_area | read | Get the work area bar in/out points of the active sequence |
get_xmp_metadata | read | Get the raw XMP metadata XML of a project item |
go_to_end | write | Move the playhead to the end of the sequence |
go_to_in_point | write | Move the playhead to the sequence in point |
go_to_next_edit | write | Move the playhead to the next edit point (cut) on the timeline |
go_to_out_point | write | Move the playhead to the sequence out point |
go_to_previous_edit | write | Move the playhead to the previous edit point (cut) on the timeline |
go_to_start | write | Move the playhead to the start of the sequence |
import_ae_comps | write | Import After Effects compositions into the project |
import_captions | write | Import captions from an SRT, SCC, or MCC file |
import_media | write | Import media files into the project |
import_mogrt | write | Import a Motion Graphics Template (.mogrt) file into the project |
import_sequences | write | Import sequences from another Premiere Pro project |
link_clips | read | Link video and audio clips together |
move_clip_to_track | write | Move a clip to a different track |
move_project_item | write | Move a project item to a different bin |
nest_clips | read | Nest selected clips into a new nested sequence |
open_in_source_monitor | read | Open a project item in the Source Monitor |
open_project | read | Open an existing Premiere Pro project |
overwrite_clip_to_timeline | destructive | Add a clip to the timeline via overwrite edit (replaces existing content) |
play | write | Start playback of the active sequence |
razor_all_tracks | read | Split all clips on all tracks at a specific time (like pressing C at playhead) |
razor_clip | read | Split/razor a clip at a specific time |
redo | read | Redo the last undone action |
refresh_media | read | Refresh/relink media for a project item (useful after media files are updated on disk) |
relink_media | read | Relink a project item to a different media file on disk |
remove_caption | destructive | Remove a caption segment |
remove_clip | destructive | Remove a clip from the timeline (lift edit) |
remove_effect | destructive | Remove an effect from a clip |
remove_keyframe | destructive | Remove a keyframe from an effect property |
remove_marker | destructive | Remove a specific marker from the active sequence by index |
remove_track | destructive | Remove a track from the active sequence |
remove_transition | destructive | Remove a transition from a clip edge |
rename_clip | write | Rename a clip on the timeline |
rename_project_item | write | Rename a project item (clip, bin, sequence) |
rename_track | write | Rename a track |
render_sequence_preview | read | Render preview files for the active sequence (or a range) |
ripple_delete | destructive | Ripple delete a clip (remove and close the gap) |
save_project | write | Save the current Premiere Pro project |
save_project_as | write | Save the current project to a new location |
scene_edit_detection | write | Detect scene changes/cuts in selected clips and optionally apply cuts, create markers, or create subclips |
select_clips | read | Select specific clips on the timeline (for use with other operations) |
set_active_sequence | write | Set a sequence as the active/open sequence by name or index |
set_audio_channel_mapping | write | Set the audio channel mapping for a project item (mono, stereo, 5.1, etc.) |
set_clip_description | write | Set the description/notes for a project item |
set_clip_in_out | write | Trim a clip by setting its source in/out points |
set_clip_metadata | write | Set a metadata (XMP) property on a project item |
set_clip_mute | write | Mute or unmute a specific audio clip |
set_clip_position | write | Move a clip to a new position on the timeline |
set_clip_speed | write | Change the speed/duration of a clip (speed ramp, slow-mo, etc.) |
set_clip_transform | write | Set the motion/transform properties of a video clip (position, scale, rotation, opacity, anchor point) |
set_clip_volume | write | Set the audio volume (gain) of a clip in decibels |
set_default_transition | write | Set the default video or audio transition |
set_effect_enabled | write | Enable or disable (bypass) an effect on a clip |
set_effect_property | write | Set a property value on an effect applied to a clip |
set_keyframe_interpolation | write | Set the interpolation type for a keyframe (linear, bezier, hold, etc.) |
set_label_defaults | write | Get the current zoom level and visible range of the timeline |
set_mogrt_property | write | Set an editable property on a Motion Graphics clip (text, colors, etc.) |
set_override_frame_rate | write | Override the interpreted frame rate of a project item |
set_override_pixel_aspect_ratio | write | Override the pixel aspect ratio of a project item |
set_playhead | write | Set the playhead (CTI) position on the active sequence |
set_project_item_in_out | write | Set in and out points on a project item (source clip) |
set_project_item_label | write | Set the label color on a project item |
set_project_settings | write | Modify project settings (scratch disks, etc.) |
set_scale_to_frame_size | write | Enable |
set_sequence_in_out | write | Set in and out points on the active sequence (for export range, etc.) |
set_source_in_out | write | Set in and out points on the clip in the Source Monitor |
set_timeline_clip_label | write | Set the label color of a clip on the timeline |
set_track_locked | write | Lock or unlock a track |
set_track_muted | write | Mute or unmute a track |
set_track_pan | write | Set the pan position of an audio track |
set_track_volume | write | Set the volume level of an entire audio track |
set_work_area | write | Set the work area bar in/out points on the active sequence |
set_workspace | write | Switch to a specific workspace layout |
set_xmp_metadata | write | Set raw XMP metadata XML on a project item |
slide_clip | write | Slide a clip (move it between adjacent clips, adjusting their in/out points) |
slip_clip | read | Slip a clip (change its source in/out without moving it on the timeline) |
solo_track | read | Solo or unsolo an audio track |
step_backward | read | Step backward by a number of frames |
step_forward | read | Step forward by a number of frames |
stop | write | Stop playback of the active sequence |
style_text_graphic | write | Modify the text, position, scale, and opacity of an existing text/graphic clip on the timeline |
toggle_proxy_mode | read | Toggle between proxy and full-resolution media globally |
transcribe_sequence | write | Start automatic speech-to-text transcription of the active sequence (Premiere Pro 2021+) |
undo | read | Undo the last action in Premiere Pro |
unlink_clip | read | Unlink a clip from its linked audio/video counterpart |
update_caption | write | Update the text or timing of an existing caption segment |
update_marker | write | Update properties of an existing marker |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (5 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (7)
j = eval("(" + text + ")");reg add "HKCU\Software\Adobe\CSXS.11" /v PlayerDebugMode /t REG_SZ /d 1 /f
reg add "HKCU\Software\Adobe\CSXS.12" /v PlayerDebugMode /t REG_SZ /d 1 /f
clear_all_markers, clear_project_item_in_out, clear_sequence_in_out, delete_project_items, delete_sequence, overwrite_clip_to_timeline, remove_caption, remove_clip, remove_effect, remove_keyframe, rem
.debug
@modelcontextprotocol/sdk, ws, @types/node, @types/ws, typescript
system use found in code, not declared in the description
Gates applied: no_behavioural_pass.
8043e0185c8efull audit observations/trust-audit/mcp-server/antipaster__adobe-premiere-pro.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 8043e0185c8e | BLOCK | D | 69 | first audit |
Questions
What is the Adobe Premiere Pro MCP server?
Control Adobe Premiere Pro from Claude/Codex with 170+ editing tools via Model Context Protocol
What tools does Adobe Premiere Pro expose?
180 in total: 75 read-only, 91 that write, and 14 that can delete or overwrite (clear_all_markers, clear_project_item_in_out, clear_sequence_in_out, delete_project_items, delete_sequence). Every one is listed on this page with its risk.
Is Adobe Premiere Pro safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 14 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Adobe Premiere Pro need?
It reads ELEVENLABS_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Adobe Premiere Pro run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as premiere-pro-mcp at 1.0.0.
How current is this page?
The grade is for one exact copy of the source (8043e0185c8e), read on 2026-10-08. The repository is watched and re-audited when it changes.