MCP for Adobe Premiere Pro

Local MCP server that inspects, edits and exports Adobe Premiere Pro projects through a UXP or CEP connector

By leancoderk (individual) TypeScript Local · stdio Media

73 popularity score ★ 494 ↓ 7.0k/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

FirstTerminal
npm i -g premiere-pro-mcp@1.29.0
premiere-pro-mcp --install-cep
premiere-pro-mcp --doctor
Claude CodeTerminal
claude mcp add for-adobe-premiere-pro -- premiere-pro-mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "for-adobe-premiere-pro": {
      "command": "premiere-pro-mcp",
      "args": []
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "for-adobe-premiere-pro": {
      "command": "premiere-pro-mcp",
      "args": []
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "for-adobe-premiere-pro": {
      "type": "stdio",
      "command": "premiere-pro-mcp",
      "args": []
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.for-adobe-premiere-pro]
command = "premiere-pro-mcp"
args = []
Gemini CLITerminal
gemini mcp add --scope user for-adobe-premiere-pro premiere-pro-mcp
Local (from source)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

FirstTerminal
git clone https://github.com/leancoderkavy/premiere-pro-mcp.git
cd premiere-pro-mcp
npm install
npm run build
npm run install-cep
Claude CodeTerminal
claude mcp add for-adobe-premiere-pro -- node '<ABSOLUTE_PATH_TO_CLONE>/dist/index.js'
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "for-adobe-premiere-pro": {
      "command": "node",
      "args": [
        "<ABSOLUTE_PATH_TO_CLONE>/dist/index.js"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "for-adobe-premiere-pro": {
      "command": "node",
      "args": [
        "<ABSOLUTE_PATH_TO_CLONE>/dist/index.js"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "for-adobe-premiere-pro": {
      "type": "stdio",
      "command": "node",
      "args": [
        "<ABSOLUTE_PATH_TO_CLONE>/dist/index.js"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.for-adobe-premiere-pro]
command = "node"
args = ["<ABSOLUTE_PATH_TO_CLONE>/dist/index.js"]
Gemini CLITerminal
gemini mcp add --scope user for-adobe-premiere-pro node -- '<ABSOLUTE_PATH_TO_CLONE>/dist/index.js'

Settings 10

Set together: uxp
PREMIERE_UXP_TOKEN secret Optional: Secret of 16 or more characters, also entered in the UXP panel; the recommended route on Premiere 25.6+. Without it only CEP is used. For UXP connector and UXP tools.
PREMIERE_UXP_PORT Optional: Loopback port of the UXP WebSocket. Default 7777. For UXP connector and UXP tools.
PREMIERE_BRIDGE_MODE Optional: auto uses a connected UXP panel and falls back to CEP; cep forces CEP and withholds the UXP tools. Default auto.
PREMIERE_MCP_CAPABILITIES Optional: Comma list of authorities; replaces the default, so add unsafe-script by listing all five names. Default inspect,edit,export,filesystem.
PREMIERE_MCP_TOOL_PACKS Optional: Narrow the listed tools to packs: essential, inspection, delivery, captions, assistant-edit or intake. Default full.
PREMIERE_MCP_TOOL_LIST Optional: Comma list of extra tool names to list beside the packs; an unknown name stops the server.
PREMIERE_TEMP_DIR Optional: Shared folder for the server and the CEP panel; must match on both sides.
PREMIERE_TIMEOUT_MS Optional: Command timeout in milliseconds. Default 30000.
PREMIERE_MCP_PROTOCOL_MODE Optional: Set to legacy for clients that cannot finish modern MCP negotiation. Default auto.
PREMIERE_MCP_DEBUG Optional: Set to 1 for verbose diagnostics on stderr.

What it does

An independent MCP server for Adobe Premiere Pro on Windows and macOS. It runs on your own machine and talks to Premiere through a connector panel you install into the app. On Premiere 25.6 and later the makers now point you to the UXP connector first. That .ccx plugin reaches the server over a loopback WebSocket guarded by a token you pick. The older CEP panel stays as the compatibility route for earlier Premiere versions and for tools that have no UXP path yet. With CEP, the server drops generated ExtendScript into a shared temp folder and the panel runs it and writes the result back.

The published package registers 447 core tools, and 445 of those are listed in the default profile. A connected UXP panel adds 98 more. They cover project and bin work, media import, timeline edits (insert, overwrite, split, trim, ripple, roll, slip), effects, Lumetri colour, keyframes, markers, captions and export through Adobe Media Encoder. FCP XML, AAF, OMF and a locally built CMX 3600 EDL handle interchange. Many tools are local planners that never touch Premiere. Hand them a transcript or word timings and they plan filler-word cuts, chapter markers, short-form picks, caption files and delivery steps per platform. Most edits read the result back from Premiere and report an error when the change did not land.

Start with the read-only `verify_premiere_connection` check and work on a copy of the project. A few details come from the code rather than the README. PREMIERE_MCP_CAPABILITIES replaces the default authority set instead of adding to it. So to turn on raw scripting you write out `inspect,edit,export,filesystem,unsafe-script` in full, and an unknown name stops the server at startup. PREMIERE_UXP_TOKEN is ignored when PREMIERE_BRIDGE_MODE is cep, so no UXP listener starts in that mode (src/index.ts). The local planners assume 30 fps when `frame_rate` is left out, and the result then carries a warning asking for the sequence's real rate (src/server.ts).

What it needs

RuntimeNode.js 20.19+
Runs onWindows, macOS
Adobe Premiere ProPaid planPremiere Pro 2020 to 2026 installed on the same computer as the MCP client; UXP needs 25.6 or later
Also
  • Premiere running with a project open and the UXP or CEP connector panel open
  • FFmpeg with ffprobe on PATH for trim_clip, slip_edit and detect_silence

On Premiere 25.6 or later, install the UXP .ccx connector from the GitHub release (see uxp-plugin/DISTRIBUTION.md in the repository), choose a secret of at least 16 characters and enter it both as PREMIERE_UXP_TOKEN for the server and in the panel under Window > UXP Plugins. For older Premiere versions, or tools with no UXP route, install the CEP connector (`premiere-pro-mcp --install-cep`, `npm run install-cep` from a clone, or the signed .zxp from the release) and open Window > Extensions > MCP for Adobe Premiere Pro. Restart Premiere and open a project first. The Claude Desktop .mcpb bundle carries its own server and needs no Node.js, but it still needs a connector.

Limits

  • Early release Many edits use Adobe's undocumented QE DOM and are marked experimental
  • Limit Some Premiere 26.3 installs silently ignore QE structural edits and effect writes; the tools then return an error with the observed state
  • Not covered Clip speed and direction cannot be changed: speed_change, reverse_clip and set_clip_speed_qe stop before touching the project
  • Not covered add_text_overlay stops before any change because Premiere exposes no text-to-caption API; import an SRT or VTT instead
  • Limit CEP-only tools still need the CEP panel even when UXP is connected, and a failed UXP edit is not retried through CEP
  • Not covered Readback confirms parameter values and structure, not rendered pixels; check exported frames before delivery
  • Limit Local planners assume 30 fps unless frame_rate is passed (src/server.ts)
  • Platform Windows and macOS only; the server must run beside Premiere
  • Not covered The hosted endpoint at premiere-pro-mcp.fly.dev rejects unauthorised callers and cannot reach Premiere on your computer

Many edits use Adobe's undocumented QE DOM (marked experimental); some Premiere 26.3 builds silently ignore QE structural edits and effect writes; the tools report these as errors. Clip speed and direction cannot be changed: `reverse_clip`, `speed_change` and `set_clip_speed_qe` stop before changing anything, and `add_text_overlay` likewise stops because Premiere exposes no API for it. Volume tools touch only Volume > Level, not Essential Sound's Amplify. Readback proves parameter values, not rendered pixels. The hosted endpoint at premiere-pro-mcp.fly.dev rejects unauthorised callers and cannot reach Premiere on your computer. The CEP installer turns on Adobe's PlayerDebugMode setting.

Who it suits

Suits video editors and post teams who run Premiere locally and want an assistant to inspect projects, plan cuts from transcripts, and make checked timeline, marker, caption and export changes, starting read-only. It writes to live projects, so test on a duplicate. It is not a fit if you lack a Premiere licence, work on Linux, or want a cloud service: the server must sit beside Premiere. It is not made by Adobe. Its README notes that the npm package adobe-premiere-pro-mcp declares the same `premiere-pro-mcp` command, so check which package is installed before configuring a client.

Tools 60 of 447

24 only read, 34 change things, 2 can delete or overwrite.

verify_premiere_connection
Read-only check that server, connector, project and sequence are ready
get_capabilities
Report bridge mode, coverage, authority profile and selected tool packs
ping
Check that the bridge to Premiere answers
can_execute
Ask whether a tool is allowed under the current authority
get_project_info
Return the open project's name, path, sequences and items
get_premiere_state
Snapshot of project, sequence, playhead and selection
get_full_project_overview
Overview of the whole open project
list_project_items
List items in the Project panel
list_sequences
List the project's sequences
get_active_sequence
Return the active sequence with its clips
get_sequence_structure
Return tracks and clips of a sequence in pages
get_full_sequence_info
Dump tracks, clips, effects and markers of a sequence
get_timeline_summary
Summarise duration, coverage and effects of the timeline
get_timeline_gaps
Find empty stretches on the timeline
get_offline_media
List project items whose media is offline
audit_project_structure changes
Check Project panel layout rules; can create bins and move items with a plan token, never deletes
audit_timeline_health
Find flash frames, gaps, overlaps and repeated shots
inspect_edit_readiness
Check a sequence is ready before an edit
preview_edit_plan
Preview an edit plan without changing the project
save_project changes
Save the open project
save_project_as changes
Save the project under a new path
open_project changes
Open a project file
create_project changes
Create a new project
close_project changes
Close the open project
import_media changes
Import media files into the project
import_folder changes
Import a folder of media, optionally into a target bin
import_fcp_xml changes
Import an FCP XML file
create_bin changes
Create a bin
create_smart_bin changes
Create a search-based smart bin
move_item_to_bin changes
Move a project item into another bin
relink_media changes
Point a project item at a new media file
create_sequence changes
Create a sequence from a preset
auto_reframe_sequence changes
Auto-reframe a sequence to another aspect ratio
create_sequence_checkpoint changes
Clone a sequence before a risky edit
diff_sequence_snapshots
Compare two sequence snapshots and list changes
add_to_timeline changes
Insert a project item on a track at a time
remove_from_timeline deletes
Remove a clip from the timeline
replace_clip changes
Swap a placed clip for another project item
duplicate_clip changes
Copy a placed clip, keeping its length
split_clip changes
Cut a clip at a time
trim_clip changes
Move one source in or out point; needs ffprobe
set_clip_duration changes
Change a placed clip's timeline length
move_clip changes
Move a clip in time or to another track
set_clip_properties changes
Set opacity, scale, rotation and position
speed_change
Refuses before any change: Premiere offers no speed setter
apply_effect changes
Apply a video effect by name
remove_effect changes
Remove an effect component from a clip
color_correct changes
Adjust Lumetri exposure, contrast, temperature and more
apply_lut changes
Apply a LUT file to a clip
stabilize_clip changes
Apply Warp Stabilizer
add_markers_batch changes
Add many sequence or clip markers in one call
create_caption_track changes
Create a caption track from an imported caption file
validate_project_for_export
Preflight a sequence before export
export_sequence changes
Export a sequence through Adobe Media Encoder
export_sequence_job_start changes
Start an Adobe Media Encoder export and return a job id at once
get_export_job_status
Report whether an export job is queued, encoding, done or failed
verify_delivery_file
Check an output file's size and checksums
export_sequence_edl changes
Build a CMX 3600 EDL from timeline readback
plan_filler_word_removal
Plan filler-word cuts from a word-level transcript
execute_extendscript deletes
Run arbitrary ExtendScript; needs unsafe-script authority

Similar servers