Premiere Pro AutomationBLOCK
Adobe Premiere Pro MCP. Tools for AI-driven video editing via MCP, for Codex, Claude, and other MCP clients.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Operate local Adobe Premiere Pro projects through MCP.
283 Premiere tools behind search_tools / invoke_tool, 13 context resources, and 10 guided prompts for Codex, Claude Code, Claude Desktop, and other MCP clients. CEP is the supported production bridge; UXP remains experimental.
[](LICENSE.md) [](https://nodejs.org/) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/adobe-premiere-pro-mcp) [](https://github.com/hetpatel-11/AdobePremiereProMCP#install) [](https://github.com/hetpatel-11/AdobePremiereProMCP#install)
Website: premiere-mcp.com
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. MCP hosts see a small always-on set; call
ab2e35d2da91OBSERVED · 2026-10-01Connect
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-mcp-web --env ZXP_CERT_PASSWORD=${ZXP_CERT_PASSWORD} -- npx -y [email protected]{
"mcpServers": {
"premiere-mcp-web": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"ZXP_CERT_PASSWORD": "${ZXP_CERT_PASSWORD}"
}
}
}
}Exposed tools (145)
90 read · 51 write · 4 destructive. Blast radius: 4 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_audio_keyframes | write | Adds keyframes to audio levels for dynamic volume changes. |
add_keyframe | write | Adds a keyframe to a clip component parameter at a specific time. |
add_marker | write | Adds a marker to the specified sequence for navigation or notes. The sequence does not have to be the active one. |
add_text_overlay | write | Adds a text overlay from a Motion Graphics Template. Premiere cannot create titles from text alone — mogrtPath is required (a .mogrt file). Without it this tool fails immediately and must not be retried. Supports up to 4 text fields (text, text2, text3, text4) on the Nth AE.ADBE Text component. |
add_to_render_queue | write | Adds a sequence to the Adobe Media Encoder render queue. |
add_to_timeline | write | Adds a media clip from the project panel to a sequence timeline at a specific track and time. |
add_track | write | Adds a new video or audio track to the sequence. |
add_transition | write | Adds a transition (e.g., cross dissolve) between two adjacent clips on the timeline. |
add_transition_to_clip | write | 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. |
adjust_audio_levels | read | Adjusts the volume (gain) of an audio clip on the timeline. |
apply_audio_effect | write | Applies an audio effect to a clip. |
apply_audio_effect_to_all_clips | write | 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. |
apply_effect | write | Applies a visual or audio effect to a clip, identifies the exact newly created component, and verifies parameter readbacks. |
apply_lut | write | Applies a Look-Up Table (LUT) to a clip for color grading. |
assemble_product_spot | read | 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. |
audio_cleanup | read | Guide for cleaning up and enhancing audio |
audio_issues | read | Specific audio issues to address |
audio_source | read | Source of the audio (microphone, phone, etc.) |
auto_reframe_sequence | read | Automatically reframes a sequence to a new aspect ratio using AI-powered motion tracking. |
batch_add_transitions | write | Adds a transition to all clip boundaries on a track. Useful for quickly adding cross dissolves or other transitions between every clip. |
build_brand_spot_from_mogrt_and_assets | read | 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. |
build_motion_graphics_demo | read | 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. |
camera_count | read | Number of camera angles |
check_offline_media | read | Checks all project items and returns a list of any that are offline (missing media). |
color_correct | read | Applies basic color correction adjustments to a video clip. |
color_grade_footage | read | Step-by-step color grading workflow |
commercial_editing | read | Guide for editing commercial advertisements |
commercial_length | read | Length of the commercial (15s, 30s, 60s, etc.) |
consolidate_duplicates | read | Consolidates duplicate media items in the project. |
content_type | write | Type of content (story, post, reel, etc.) |
create_bin | write | Creates a new bin (folder) in the project panel to organize media. |
create_caption_track | write | 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. |
create_project | write | Creates a new Adobe Premiere Pro project. Use this when the user wants to start a new video editing project from scratch. |
create_sequence | write | Creates a new sequence from a specific installed .sqpreset file without opening Premiere\ |
create_subclip | write | Creates a subclip from a project item with specified in/out points. |
create_subsequence | write | Creates a subsequence from the in/out points of a sequence. |
create_video_project | write | Guide to create a new video project from scratch |
crop_clip | read | Crops a timeline clip using Premiere Pro\ |
delete_marker | destructive | Deletes a marker from the specified sequence. The sequence does not have to be the active one. |
delete_sequence | destructive | Deletes a sequence from the project. |
detect_scene_edits | read | Detects scene changes in selected clips and optionally adds cuts or markers. |
detect_silence | read | Analyzes a media file\ |
discovery | write | Install metadata and OpenAPI |
documentary_editing | read | Workflow for documentary film editing |
duplicate_clip | read | Duplicates a clip on the timeline. |
duplicate_sequence | write | Creates a copy of an existing sequence with a new name. Set clearContents=true to get an EMPTY copy that inherits the source sequence\ |
duration | read | Expected duration of the final video |
edit_music_video | write | Workflow for editing a music video with beat synchronization |
enable_disable_clip | write | Enables or disables a clip on the timeline. |
episode_length | read | Target length of the episode |
export_aaf | read | Exports a sequence as an AAF file for interchange with other editing/audio applications. |
export_as_fcp_xml | read | Exports a sequence as Final Cut Pro XML. |
export_frame | read | Exports a single frame from a sequence as an image file. |
export_sequence | read | Renders and exports a sequence to a video file. This is for creating the final video. |
find_project_item_by_name | read | Searches for project items by name. Useful for finding media files, sequences, or bins. |
footage_type | read | Type of footage (e.g., |
get_active_sequence | read | Gets information about the currently active sequence. |
get_clip_at_position | read | Gets the clip at a specific time position on a track. |
get_clip_properties | read | Gets detailed properties of a clip, INCLUDING current Motion values (opacity/scale/rotation/position). Position is returned both normalized (0..1) and in PIXELS ( |
get_color_label | read | Gets the color label index of a project item. |
get_encoder_presets | read | Discovers readable user Adobe Media Encoder .epr presets from local AME preset folders. Factory preset enumeration is not claimed complete. |
get_footage_interpretation | read | Gets the footage interpretation settings (frame rate, pixel aspect ratio, field type, etc.) for a project item. |
get_keyframes | read | Gets all keyframes for a clip component parameter. |
get_metadata | read | Gets project metadata and XMP metadata for a project item. |
get_playhead_position | read | Gets the current playhead (CTI) position in the specified sequence. |
get_project_info | read | Gets comprehensive information about the current project including name, path, settings, and status. |
get_render_queue_status | read | Reports whether render queue monitoring is available. This currently returns guidance for Adobe Media Encoder rather than live queue telemetry. |
get_selected_clips | read | Gets all currently selected clips in the specified sequence. |
get_sequence_in_out_points | read | Gets the in and out points of a sequence timeline. |
get_sequence_settings | read | Gets the settings for a sequence (resolution, framerate, etc.). |
get_tool_schema | read | Return the full JSON input schema for one Premiere tool name from search_tools. After reading it, call invoke_tool. |
get_weather | read | Get the weather at a specific location |
get_work_area | read | Gets the work area in/out points for a sequence. |
hardware_specs | read | Hardware specifications |
import_edl | write | Reports that CMX 3600 EDL import is unavailable through this dialog-safe MCP server. Premiere\ |
import_folder | write | Imports all media files from a folder into the current Premiere Pro project. |
import_media | write | Imports a media file (video, audio, image) into the current Premiere Pro project. |
import_mogrt | write | Imports a Motion Graphics Template (.mogrt) file into a sequence. |
import_mogrt_from_library | write | Imports a Motion Graphics Template from a Creative Cloud Library. |
import_sequences_from_project | write | Imports sequences from another Premiere Pro project file. |
interview_count | read | Number of interview subjects |
invoke_tool | write | Run a Premiere tool by exact name. Use after search_tools. Hosts that only advertise the small always-on set cannot call trim_clip etc. as top-level MCP tools. |
link_audio_video | read | Links or unlinks audio and video components of a clip. |
list_available_audio_effects | read | Lists all available audio effects in Premiere Pro. |
list_available_audio_transitions | read | Lists all available audio transitions in Premiere Pro. |
list_available_effects | read | Lists all available video effects in Premiere Pro. |
list_available_transitions | read | Lists all available video transitions in Premiere Pro. |
list_markers | read | Lists all markers in the specified sequence. The sequence does not have to be the active one. |
list_project_items | read | Lists all media items, bins, and assets in the current Premiere Pro project. Use this to discover available media before performing operations. |
list_sequence_tracks | read | Lists all video and audio tracks in a specific sequence with their properties and clips. |
list_sequences | read | Lists all sequences in the current Premiere Pro project with their IDs, names, and basic properties. |
lock_track | read | Locks or unlocks a track to prevent/allow editing. The sequence does not have to be the active one. |
manage_proxies | read | Checks proxy status, attaches a proxy file, or gets the proxy path for a project item. |
mcp | read | MCP client config and server cards |
move_clip | write | Moves a clip along the timeline, keeping it on its current track. To change tracks, use move_clip_to_track: that call restores source in/out after a remove-and-reinsert, refuses an occupied destination unless overwrite is true, and gives the clip a new id. |
move_item_to_bin | write | Moves a project item into a different bin (folder). |
multicam_editing | read | Guide for multicam editing workflow |
music_file | read | Path to the music file |
mute_track | read | Mutes or unmutes an entire audio track. |
narrative_structure | read | Narrative structure (chronological, thematic, etc.) |
open_project | read | Opens an existing Adobe Premiere Pro project from a specified file path. |
optimize_workflow | read | Tips for optimizing Premiere Pro workflow and performance |
participant_count | read | Number of participants in the podcast |
platform | read | Target platform (Instagram, TikTok, YouTube, etc.) |
podcast_editing | read | Workflow for editing podcast episodes |
premiere-pro-mcp | read | Local MCP server for Adobe Premiere Pro. 283 tools through a CEP file bridge. Install adobe-premiere-pro-mcp and run premiere-pro-mcp on the same machine as Premiere. Not a remote Streamable HTTP MCP. |
product_type | read | Type of product being advertised |
project_size | read | Size of the project (small, medium, large) |
project_type | read | Type of video project (e.g., |
razor_timeline_at_time | read | 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. |
refresh_media | read | Refreshes the media for a project item, reloading it from disk. |
relink_media | read | Relinks an offline or moved media file to a new file path. |
remove_from_timeline | destructive | Removes a clip from the timeline. Pass sequenceId when the clip ID came from list_sequence_tracks for a non-active sequence. |
remove_keyframe | destructive | Removes a keyframe from a clip component parameter at a specific time. |
rename_project_item | write | 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. |
replace_clip | read | Replaces a clip on the timeline with another media item. |
reverse_clip | read | Reverses the playback of a clip. |
save_project | write | Saves the currently active Adobe Premiere Pro project. |
save_project_as | write | Saves the current project with a new name and location. |
search_files | read | Search through files in the workspace |
search_tools | read | Search the Premiere tool catalog with a BM25 natural-language query or a regex pattern, then call invoke_tool. Use this instead of expecting 280 editing tools in the MCP tool list. Empty query lists categories. Default 5 matches. |
set_active_sequence | write | Sets the active sequence in the project. |
set_clip_properties | write | Sets Motion properties of a clip (opacity, scale, rotation, position). |
set_clip_properties_batch | write | 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 |
set_color_label | write | Sets the color label on a project item. |
set_footage_interpretation | write | Sets footage interpretation settings (frame rate, pixel aspect ratio) for a project item. |
set_metadata | write | Sets a project metadata value on a project item. |
set_playhead_position | write | Sets the playhead (CTI) position in the specified sequence. |
set_sequence_in_out_points | write | Sets the in and/or out points on a sequence timeline. |
set_sequence_settings | write | 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. |
set_work_area | write | Sets the work area in/out points for a sequence. |
setup_ducking | read | High-level wrapper around add_audio_keyframes that builds a ducking curve from a base level + ducking windows. |
social_media_content | write | Create content optimized for social media platforms |
speed_change | read | Changes the playback speed of a clip. |
split_clip | read | Splits a clip at a specific time point, creating two separate clips. |
stabilize_clip | read | Applies video stabilization to reduce camera shake. |
sync_method | write | Method for syncing cameras (timecode, audio, markers) |
target_mood | read | Desired mood or look (e.g., |
toggle_track_visibility | read | 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. |
trim_clip | read | Change a clip in or out point or duration |
undo | read | Performs an undo operation in Premiere Pro. |
update_marker | write | Updates an existing marker\ |
validate_project_for_export | read | 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. |
verify_premiere_connection | read | Readiness check for Premiere Pro and the MCP Bridge. Call this before any editing tool. If Premiere is installed and not running, this launches it and waits for the CEP panel, which auto-starts the bridge. If it fails, tell the user the nextStep and do not retry other tools. |
video_clips | read | List of video clip paths |
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 (2 observation(s))
- Network
- declared (5 observation(s))
- Shell
- declared (4 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (19)
exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null;
exec(query: string): Promise<D1ExecResult>;
console.log(`Password stored in the macOS Keychain service ${service}.`);delete_marker, delete_sequence, remove_from_timeline, remove_keyframe
.oxlintrc.json
const runScript = new Function('__findClip', 'Time', script);const runScript = new Function('__findClip', 'Time', script);const secondsOf = new Function(`${extracted![0]}\nreturn secondsOf;`)() as (value: unknown) => number;import { PremiereProBridge } from '../../bridge/index.js';import { joinPremiereHostPath, PremiereProBridge } from '../../bridge/index.js';import { PremiereProBridge } from '../../bridge/index.js';import { PremiereProBridge } from '../../bridge/index.js';import { PremiereProBridge } from '../../bridge/index.js';atob(data: string): string;
declare function atob(data: string): string;
@modelcontextprotocol/server, fs-extra, path, ws, zod, @anthropic-ai/mcpb, @types/fs-extra, @types/jest
@fontsource-variable/geist, @tailwindcss/vite, class-variance-authority, clsx, lucide-react, radix-ui, react, react-dom
images/demo.png
website/public/mcp-bridge-cep.png
Gates applied: no_behavioural_pass.
ab2e35d2da91full audit observations/trust-audit/mcp-server/hetpatel-11__premiere-pro-automation.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-01 | ab2e35d2da91 | BLOCK | D | 69 | first audit |
Questions
What is the Premiere Pro Automation MCP server?
Adobe Premiere Pro MCP. Tools for AI-driven video editing via MCP, for Codex, Claude, and other MCP clients.
What tools does Premiere Pro Automation expose?
145 in total: 90 read-only, 51 that write, and 4 that can delete or overwrite (delete_marker, delete_sequence, remove_from_timeline, remove_keyframe). Every one is listed on this page with its risk.
Is Premiere Pro Automation safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 4 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Premiere Pro Automation need?
It reads ZXP_CERT_PASSWORD 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 current is this page?
The grade is for one exact copy of the source (ab2e35d2da91), read on 2026-10-01. The repository is watched and re-audited when it changes.