premiere-pro-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@premiere-pro-mcp create a cinematic intro with the neural style for my travel video"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Premiere Pro MCP for Claude Code
Make Claude a real operator for Adobe Premiere Pro 2025 — not a chatbot that talks about Premiere, but an MCP server that actually opens projects, imports media, builds sequences, keyframes motion, color-grades, cuts footage to the beat, and renders fully automatic cinematic intros in four broadcast-grade styles.
A Model Context Protocol server (Node/TypeScript, stdio) with 59 tools, packaged as a one-click .mcpb desktop extension. Built and verified live against Premiere Pro 2025 (v25.5.0) on Windows.
⚠️ Independent open-source project. Not affiliated with, endorsed by, or supported by Adobe. "Adobe" and "Premiere Pro" are trademarks of Adobe Inc.
Why this exists
Premiere has no official REST API, no usable CLI, and no local database to drive it. The strongest automation surface is its ExtendScript DOM, reachable only from inside the app. So this project ships a tiny CEP bridge panel that runs a local HTTP server inside Premiere and forwards calls to ExtendScript — the same proven pattern used by tools like pymiere. On top of that sits a Node MCP server with file/registry access, process control, a UI-automation fallback, and a creative engine (Remotion-rendered visuals + synthesized sound design) for one-call cinematic intros.
Claude (Code / Desktop)
│ MCP (stdio)
▼
premiere-mcp (Node/TypeScript server — this repo)
│ HTTP 127.0.0.1:3030 │ file/registry │ process + UI │ Remotion + ffmpeg + numpy
▼ ▼ ▼ ▼
CEP Bridge Panel recent/logs/prefs/ launch/quit/ cinematic intro visuals,
(inside Premiere) .prproj inspect screenshot SFX beds, beat detection
│ CSInterface.evalScript
▼
ExtendScript host ($._PPRO_MCP) ──► Premiere DOM + QE DOMRelated MCP server: Premiere-Pro-MCP
Highlights
🎬 One-call cinematic intros —
premiere_create_brand_introrenders a parameterized Remotion visual, synthesizes a timed sound-design bed, composites it in Premiere and exports 16:9 and 9:16 with audio.🎨 4 polished style presets —
neural,stadium(broadcast god-rays + lens-flare logo),datagrid(HUD control-room),glass(glassmorphism) — each with its own palette, color grade, logo treatment and sound design.✂️ Beat-cut short-video mode —
premiere_beat_cut_video: footage folder + music → detect beats → cut shots exactly on the beat → export.🎛️ Real timeline control — silent sequence creation, trimmed clip placement, titles via Motion Graphics Templates (.mogrt) with dynamic text, audio, transitions, effects, keyframes with Bézier easing, overlays with blend modes.
🗂️ Works even when Premiere is closed — read recent projects, logs, preferences, inspect
.prproj(gzipped XML), back up projects, list auto-saves.🛡️ Safe by design — read-only by default, confirmation gates on destructive ops, dry-run, auto-backup before overwrite, write-allowlist, hard timeouts, audit log, secret redaction.
📦 One-click install — ships as a
.mcpbbundle (server + bridge panel + assets).
Requirements
Windows + Adobe Premiere Pro 2025 (host id
PPRO, CEP 12).Node.js 18+.
For the intro/cut features (optional): ffmpeg, Python 3 + numpy, and Remotion (installed in the bundled
remotion-intro/project —npm installthere). Chromium is fetched by Remotion on first render.Adobe Media Encoder is not required — exports use Premiere's built-in direct exporter.
Install
Option A — One-click .mcpb (recommended)
npm install
npm run build
npm run build:mcpb # -> build/premiere-mcp.mcpbIn Claude Desktop: Settings → Extensions → "Install Extension" → pick
build/premiere-mcp.mcpb.Ask Claude to run
premiere_install_bridge_panel(sets the registry flag + copies the panel — no admin).Restart Premiere, open Window → Extensions → Premiere MCP Bridge.
Verify: ask Claude to run
premiere_status.
Option B — Manual (dev)
npm install
npm run build
npm run install-extension # installs the CEP bridge panel + sets PlayerDebugModeAdd to your Claude config (claude-config-example.json has a template):
{
"mcpServers": {
"premiere": {
"command": "node",
"args": ["C:\\path\\to\\Premiere-MCP\\dist\\index.js"],
"env": { "PREMIERE_MCP_BRIDGE_PORT": "3030" }
}
}
}Claude Desktop:
%APPDATA%\Claude\claude_desktop_config.jsonClaude Code (CLI):
claude mcp add premiere -- node "C:\path\to\Premiere-MCP\dist\index.js"
Full step-by-step in INSTALL.md.
Tool catalog (59)
premiere_bridge_panel_status · premiere_install_bridge_panel · premiere_status · premiere_launch · premiere_quit · premiere_restart
premiere_get_app_info · premiere_get_project_info · premiere_get_preferences · premiere_open_project · premiere_new_project · premiere_save_project · premiere_save_project_as · premiere_close_project
premiere_import_files · premiere_create_bin · premiere_list_project_items · premiere_find_project_item · premiere_remove_project_item
premiere_list_sequence_presets · premiere_list_sequences · premiere_get_active_sequence · premiere_create_sequence · premiere_new_sequence (silent) · premiere_set_active_sequence · premiere_get_sequence_tracks · premiere_add_marker · premiere_list_markers
premiere_place_clip · premiere_add_title (MOGRT + dynamic text) · premiere_add_audio · premiere_add_transition · premiere_add_effect · premiere_keyframe (Bézier) · premiere_add_overlay (blend modes) · premiere_apply_lumetri
premiere_build_video (assemble from a JSON edit-spec) · premiere_create_intro · premiere_create_brand_intro (the flagship) · premiere_detect_beats · premiere_add_beat_markers · premiere_beat_cut_video
premiere_list_export_presets · premiere_export_sequence (direct, no AME)
premiere_list_recent_projects · premiere_get_logs · premiere_get_preference_files · premiere_inspect_project_file · premiere_backup_project · premiere_list_autosaves
premiere_screenshot · premiere_focus_window · premiere_ui_describe · premiere_send_shortcut · premiere_get_capabilities · premiere_run_extendscript (guarded) · premiere_run_menu_command · premiere_generate_report · premiere_bridge_selftest
The creative engine
Premiere is the compositor/exporter; the heavy animation lives in the render layer (Remotion). This is the reliable path to broadcast-grade quality — speed curves, glow, grading and kinetic type are deterministic in Remotion, while Premiere does compositing, sound and export.
Cinematic intro — one call
premiere_create_brand_intro {
"title": "M.P",
"subtitle": "AI · AUTOMATION · VIDEO",
"style": "stadium", // neural | stadium | datagrid | glass
"aspect": "both", // 16:9 and 9:16
"logoPath": "C:\\…\\logo.png", // optional; defaults to the bundled brand logo
"musicPath": "C:\\…\\track.wav", // optional; a synthesized SFX bed is added either way
"outputDir": "C:\\…\\out"
}Each style brings its own palette, color grade (grade: neon / teal-orange / mono, with gradeStrength), title treatment (titleStyle: stack / spread / minimal), logo treatment (stadium lens-flare, datagrid HUD frame, glass card) and sound-design bed (stadium crowd-whoosh + big impact, datagrid UI-bleeps + riser, glass chime + shimmer). Every parameter is overridable.
Build any video from an edit-spec
premiere_build_video {
"sequence": { "name": "My Short", "presetPath": "…/HD 1080p 25 fps.sqpreset" },
"video": [ { "path": "a.mp4", "track": 1, "at": 0, "in": 2, "out": 5 } ],
"titles": [ { "text": "Hello", "track": 2, "at": 0.5, "duration": 3 } ],
"audio": [ { "path": "music.wav", "track": 2, "at": 0 } ],
"transitions": [ { "name": "Cross Dissolve", "videoTrack": 1, "clipIndex": 0 } ],
"export": { "outputPath": "C:\\…\\short.mp4", "confirm": true }
}Beat-cut a reel
premiere_beat_cut_video {
"footageDir": "C:\\…\\footage",
"musicPath": "C:\\…\\track.mp3",
"beatsPerCut": 2, // 1 = cut on every beat
"order": "shuffle",
"aspect": "16:9",
"outputPath": "C:\\…\\reel.mp4"
}Times are seconds, tracks are 1-based (V1/A1 lowest), all paths absolute.
Configuration (environment variables)
Variable | Default | Purpose |
|
| Port of the in-Premiere bridge panel |
|
| Bridge host (keep localhost) |
| Documents;Videos;Desktop;Downloads | Write/delete allowlist ( |
| the 2025 path | Premiere executable |
|
| Prefs/registry version folder |
|
| Remotion intro renderer project (must be in a path without |
|
| Default output folder for rendered files |
|
| Server audit log location |
Safety model
Read-only by default — all
get/list/inspect/find/reporttools are non-destructive.Confirmation gates — destructive actions require
confirm: true(quit/restart, close-without-save, overwrite a project/export output, delete a bin, raw ExtendScript, QE menu command).Dry-run —
premiere_run_extendscriptdefaults todryRun: true.Auto-backup — overwriting a
.prprojwrites a timestamped.bak-…first.Write allowlist — writes/deletes are confined to configured roots.
Hard timeouts — a modal Premiere dialog can freeze ExtendScript; every bridge call times out with an actionable message instead of hanging.
Audit log + secret redaction — every tool call is logged (stderr + file); tokens/passwords are redacted. stdout is reserved for the MCP protocol.
Capability matrix (what's reliable vs render-layer)
Area | Status | Notes |
Status / launch / quit / restart | ✅ Full | process + bridge |
Open / new / save / save-as / close project | ✅ Full | overwrite gated + auto-backup |
Import media, bins, list/find items | ✅ Full | |
Create sequence (silent) | ✅ Full |
|
Create sequence (custom settings) | ⚠️ Dialog | Premiere 2025 opens its New Sequence dialog on scripted |
Place clip / trim / multi-track | ✅ Full | |
Title (MOGRT) + dynamic text | ✅ Full | sets the source-text param |
Audio / music | ✅ Full | |
Keyframes (scale/opacity/rotation/position, Bézier) | ✅ Full | verified live |
Transitions / effects by name | ⚠️ QE | works on 25.5; QE DOM is unsupported by Adobe |
Lumetri / LUT | ⚠️ Best-effort | param/LUT scripting is fragile → bake the grade into Remotion |
Speed ramps / adjustment layers | ❌ Render-layer | not reliably scriptable in Premiere → do in Remotion |
Direct export (no AME) | ✅ Full |
|
Beat detection / beat-cut | ✅ Full | ffmpeg + numpy onset detection |
Cinematic intros (4 styles) | ✅ Full | Remotion visual + sound + composite + dual export |
Recent projects / logs / prefs / | ✅ Full | works with Premiere closed |
Screenshot / focus / keystrokes | ✅ Fallback | UI automation |
Project structure
Premiere-MCP/
├── src/ MCP server (TypeScript)
│ ├── index.ts entry: registers all tools over stdio
│ ├── config.ts paths/ports/allowlist (env-overridable)
│ ├── bridge.ts HTTP client to the in-app panel
│ ├── safety.ts allowlist, confirm/dry-run, backups
│ ├── exec.ts logger.ts PowerShell exec + stderr/file logging
│ └── tools/ the 59 tools, grouped by domain
├── bridge-extension/com.mp.premiere.mcp/ the CEP panel (installed into Premiere)
│ ├── CSXS/manifest.xml CEP 12 manifest (PPRO 25, Node enabled)
│ ├── client/ panel UI + Node HTTP server + CSInterface
│ └── host/index.jsx ES3 ExtendScript host ($._PPRO_MCP) + JSON serializer
├── remotion-intro/ parameterized cinematic intro renderer (Remotion)
│ └── src/ BrandIntro, styles (4 presets), overlay loops
├── assets/
│ ├── sfx/generate_sfx.py synthesized sound-design kit + per-style beds
│ ├── audio/detect_beats.py beat/onset detector (ffmpeg + numpy)
│ └── overlays/ light-leak / grain loops
├── scripts/ install / uninstall / build-mcpb (PowerShell)
├── mcpb/manifest.json Desktop Extension manifest
└── test/ mock bridge + stdio integration testRun the offline tests any time (no Premiere needed): npm run build && npm run test:server.
Building the .mcpb
npm run build:mcpb # bundles server + deps + bridge panel + assets -> build/premiere-mcp.mcpbThe packer writes ZIP entries with forward slashes (Windows Compress-Archive uses backslashes, which breaks the loader).
Troubleshooting
Symptom | Fix |
| Open Window → Extensions → Premiere MCP Bridge (green dot) |
Panel not in the Extensions menu | Re-run |
A tool times out | Premiere is likely showing a modal dialog — run |
Export "Unknown error" | The |
Remotion render fails with a webpack "!" error | The Remotion project path contains |
| Host JSX failed — reopen the panel; check |
Acknowledgements
The CEP bridge pattern follows the lineage of
pymiereand the Adobe-CEP samples.Built with the MCP TypeScript SDK and Remotion.
License
MIT © Maurice Putinas
Available Tools
59 toolspremiere_add_audioAdd audio / musicA
Place an audio file (music, SFX, voiceover) on an audio track at a given time. Imports if needed. Optionally trim with inSeconds/outSeconds.
Inputs: mediaPath (required), audioTrack, atSeconds, inSeconds, +2 more.
premiere_add_beat_markersAdd markers on detected beatsA
Detect beats in an audio file and drop a timeline marker on each beat of the active (or given) sequence - so you can cut/edit precisely on the music. Returns how many markers were placed.
Inputs: audioPath (required), sensitivity, sequenceId, offsetSeconds.
premiere_add_effectAdd video effect (QE)BDestructive
Apply a video effect by name (e.g. 'Directional Blur', 'Warp Stabilizer', 'Gaussian Blur') to a clip, via the QE DOM. Experimental. clipIndex is 0-based on the track.
Inputs: name (required), videoTrack, clipIndex.
premiere_add_markerAdd markerB
Add a timeline marker to a sequence at a given time (seconds). Optional name, comment and type (comment|chapter|weblink|segmentation).
Inputs: timeSeconds (required), name, comment, type, +1 more.
premiere_add_overlayAdd overlay (light leak / dust / grain)A
Place a media clip as an OVERLAY on a higher video track (default V2) with a blend mode (screen|add|overlay|multiply|soft light|...) and opacity - the cinematic way to add light leaks, dust, grain or letterbox elements. Combine with premiere_keyframe to fade the overlay in/out.
Inputs: mediaPath (required), videoTrack, atSeconds, outSeconds, +2 more.
premiere_add_titleAdd title / textA
Add an animated title to the timeline by importing a Motion Graphics Template (.mogrt) and setting its text. Defaults to Premiere's built-in 'Basic Title'. Place on a video track above your footage. Optional durationSeconds.
Inputs: text (required), atSeconds, durationSeconds, videoTrack, +1 more.
premiere_add_transitionAdd transition (QE)ADestructive
Add a video transition (e.g. 'Cross Dissolve', 'Dip to Black', 'Film Dissolve') to a clip's cut, via the QE DOM. Experimental/unsupported but works on PPro 25. clipIndex is 0-based on the track.
Inputs: name, videoTrack, clipIndex, durationSeconds, +1 more.
premiere_apply_lumetriApply Lumetri Color (best-effort)ADestructive
Add a Lumetri Color effect to a clip (via QE) and report its parameters. NOTE: setting LUT/.cube and color params via script is version-fragile in Premiere; for a reliable cinematic grade (teal & orange etc.) bake it into the Remotion render instead. Use this to attach Lumetri so you can grade by hand, or pair with premiere_run_extendscript to set specific params.
Inputs: videoTrack, clipIndex.
premiere_backup_projectBackup project fileA
Make a timestamped backup copy of a .prproj file (copied next to the original as .bak-). Safe, non-destructive.
Inputs: path (required).
premiere_beat_cut_videoBeat-cut short video (auto)A
Automatically cut a set of footage clips to the beat of a music track. Detects beats, builds shots that switch exactly on the beat (every beatsPerCut beats), places trimmed segments on V1, lays the music on A1, and optionally renders it out. Provide a footage folder or explicit clip paths + a music file. Footage is conformed to a 1080p sequence (or 9:16 vertical).
Inputs: musicPath (required), footageDir, footagePaths, beatsPerCut, +10 more.
premiere_bridge_panel_statusBridge panel install statusARead-only
Check whether the in-Premiere bridge panel is installed and whether unsigned CEP extensions are enabled. Read-only.
Inputs: no named parameters.
premiere_bridge_selftestBridge self-testARead-only
Run a sequence of safe, read-only checks against the live bridge and report pass/fail per step. Use to verify the whole chain (MCP -> panel -> ExtendScript) is healthy.
Inputs: no named parameters.
premiere_build_videoBuild video from edit-specA
Assemble a whole timeline in one shot from a JSON edit-spec: create a sequence, place video clips, add titles (MOGRT), add audio, apply transitions/effects - then optionally render it out. This is the main fully-automatic assembly tool. All asset paths must exist. Returns a per-step report with warnings for any step that failed (the rest still apply).
Inputs: sequence, video, titles, audio, +3 more.
premiere_close_projectClose projectADestructive
Close the current project. By default it saves first (save:true). Set save:false to discard - that DISCARDS unsaved changes and therefore requires confirm:true.
Inputs: save, confirm.
premiere_create_binCreate binA
Create a new bin (folder) in the project, optionally inside an existing parent bin.
Inputs: name (required), parentBinName.
premiere_create_brand_introCreate world-class brand intro (auto)A
THE flagship: produce a cinematic, broadcast-style brand intro fully automatically. Renders a neon Remotion visual (your M.P brand language) with your title/subtitle, synthesizes a timed sound-design bed (whoosh/impact/riser/sub/ambience), composites it in Premiere, and exports 16:9 and/or 9:16. Requires the Remotion project (a path WITHOUT '!') and the bridge panel. Overwriting outputs needs confirm:true.
Inputs: title (required), subtitle, accent, accent2, +14 more.
premiere_create_introCreate cinematic intro (auto)A
Fully automatic cinematic logo/title intro. Creates a sequence, places an animated logo (defaults to the user's M.P logo), overlays a title (and optional subtitle) via MOGRT, adds music, and optionally renders it to a file. Best results come from a PRE-RENDERED animated logo with alpha/own background (Remotion/After Effects output) - Premiere composites + exports. Returns the build report.
Inputs: title (required), subtitle, logoPath, musicPath, +6 more.
premiere_create_sequenceCreate sequenceA
Create a new sequence. NOTE: In Premiere Pro 2025, scripting a sequence creation opens Premiere's modal 'New Sequence' dialog (a Premiere limitation) - if a presetPath is given it is offered there; a human confirms it on screen. If nobody confirms, this returns a 'modal dialog' message. Defaults to an HD 1080p 25fps preset. Use premiere_list_sequence_presets to pick another.
Inputs: name (required), presetPath, useDefaultPreset, timeoutSeconds.
premiere_detect_beatsDetect beats / onsets in audioARead-only
Analyze an audio file (any format, via ffmpeg) and return the beat/onset times in seconds, their strength, and an estimated BPM. Use the returned times to cut clips, place keyframes or markers on the beat / bass drops. Read-only (no Premiere needed).
Inputs: audioPath (required), sensitivity.
premiere_export_sequenceExport sequence (render)A
Render/export a sequence to a media file using Premiere's built-in direct exporter (no Adobe Media Encoder needed). This BLOCKS until the render finishes. Provide an output path (in an allowed root) and a preset path from premiere_list_export_presets. Overwriting an existing output requires confirm:true.
Inputs: outputPath (required), presetPath (required), sequenceId, range, +2 more.
premiere_find_project_itemFind project itemARead-only
Find project items whose name contains the query (case-insensitive). Returns matches with their nodeId, type and tree path. Read-only.
Inputs: query (required).
premiere_focus_windowFocus PremiereA
Bring Premiere's main window to the foreground.
Inputs: no named parameters.
premiere_generate_reportGenerate project reportARead-only
Produce a single consolidated, read-only report of the current state: app info, project metadata, all sequences, the active sequence's tracks, and a sample of project items. Great as a first overview.
Inputs: includeTracks, itemSample.
premiere_get_active_sequenceGet active sequenceARead-only
Return details of the currently active sequence, or null if none is active. Read-only.
Inputs: no named parameters.
premiere_get_app_infoGet app infoARead-only
Return Premiere's version/build, how many projects are open, whether a project and an active sequence exist, and the preference paths. Read-only.
Inputs: no named parameters.
premiere_get_capabilitiesGet bridge capabilitiesARead-only
Ask the in-app host which functions it exposes and report app version, project/sequence state. Good for verifying the bridge end-to-end. Read-only.
Inputs: no named parameters.
premiere_get_logsGet logsARead-only
Read Premiere's log/diagnostic files (Plugin Loading.log, Debug/Trace databases, logs folder). Returns the tail of each, or the full content of one file if 'file' is given. Read-only.
Inputs: file, tailLines.
premiere_get_preference_filesGet preference filesARead-only
List Premiere's on-disk preference/profile folders (APPDATA + Documents) and their files. Read-only.
Inputs: no named parameters.
premiere_get_preferencesGet preferences (live)ARead-only
Return Premiere's live preference/scratch paths from the running app via the bridge. For raw on-disk preference files use premiere_get_preference_files.
Inputs: no named parameters.
premiere_get_project_infoGet project infoARead-only
Return metadata about the currently open project: name, file path, document ID, sequence count, root bin item count and the active sequence. Read-only.
Inputs: no named parameters.
premiere_get_sequence_tracksGet sequence tracks & clipsARead-only
Return the video and audio tracks of a sequence (active one if no id given), with per-clip names and in/out/start/end times. Read-only. Set includeClips:false for a lighter summary.
Inputs: sequenceId, includeClips.
premiere_import_filesImport media filesA
Import one or more media files (video/audio/image) into the open project, optionally into a named bin. All paths must exist. Warning dialogs are suppressed by default.
Inputs: paths (required), binName, importAsNumberedStills.
premiere_inspect_project_fileInspect project fileARead-only
Inspect a .prproj WITHOUT opening Premiere: decompress the gzipped XML and report file size, decompressed size, project metadata and approximate counts of sequences/media/clips. Read-only.
Inputs: path (required), includeHead.
premiere_install_bridge_panelInstall bridge panel into PremiereA
Install the CEP bridge panel into Premiere for the current user (no admin): enables unsigned CEP extensions (PlayerDebugMode) and copies the bundled panel to the Adobe CEP extensions folder. After this, RESTART Premiere and open Window > Extensions > Premiere MCP Bridge.
Inputs: no named parameters.
premiere_keyframeKeyframe a clip (Motion/Opacity)ADestructive
Animate a clip with keyframes for organic, cinematic motion: property scale|opacity|rotation|position. Each key has at (seconds from the clip start), value (number; for position an [x,y] array), and interp (linear|hold|bezier|ease - bezier/ease give smooth ease-in/out). e.g. a push-in: scale 100->112 over 0..duration with ease. VERIFIED scriptable. (Speed ramps / time-remap are NOT reliably scriptable - bake those into the Remotion render.)
Inputs: property (required), keys (required), videoTrack, clipIndex.
premiere_launchLaunch PremiereA
Start Adobe Premiere Pro. Optionally open a project by absolute .prproj path. Optionally wait until the bridge panel becomes reachable (the panel must be set to auto-open, or opened once manually).
Inputs: projectPath, waitForBridgeSeconds.
premiere_list_autosavesList auto-save projectsARead-only
List Premiere's automatic backup projects (the 'Adobe Premiere Pro Auto-Save' folders). Useful for recovery. Read-only.
Inputs: no named parameters.
premiere_list_export_presetsList export presetsARead-only
List available .epr export presets found on disk (H.264/HEVC/ProRes/AAC etc.), optionally filtered by a name query. Pass one of these 'path' values to premiere_export_sequence. Read-only.
Inputs: query, limit.
premiere_list_markersList markersARead-only
List all markers of a sequence (active one if no id given). Read-only.
Inputs: sequenceId.
premiere_list_project_itemsList project itemsARead-only
List the project's bins and clips (the Project panel tree), flattened with paths. Supports limit/offset paging and optional media paths. Read-only.
Inputs: limit, offset, includeMedia.
premiere_list_recent_projectsList recent projectsARead-only
List recently used / nearby Premiere projects from the registry (RecoveryOpenProjectInfos) and by scanning the default project folders. Works without Premiere running. Read-only.
Inputs: extraDir.
premiere_list_sequence_presetsList sequence presetsARead-only
List available .sqpreset sequence presets on disk (HD 1080p, UHD, Broadcast, etc.), optionally filtered. Pass a 'path' to premiere_create_sequence for an exact, non-interactive setup. Read-only.
Inputs: query, limit.
premiere_list_sequencesList sequencesARead-only
List all sequences in the open project with their IDs, track counts and frame size, and which one is active. Read-only.
Inputs: no named parameters.
premiere_new_projectCreate new projectA
Create a new empty .prproj project at the given absolute path. If the file already exists it is gated behind confirm:true and backed up first. The path must be inside an allowed working root.
Inputs: path (required), confirm.
premiere_new_sequenceNew sequence (silent)A
Create a new sequence WITHOUT any dialog, using a .sqpreset (app.project.newSequence). This is the reliable, fully-automatic way to make a sequence. Defaults to HD 1080p 25fps; pass presetPath (from premiere_list_sequence_presets) for other formats (e.g. 9:16 vertical, 4K).
Inputs: name (required), presetPath.
premiere_open_projectOpen projectA
Open an existing .prproj project in Premiere. Dialogs are suppressed. The file must exist.
Inputs: path (required).
premiere_place_clipPlace clip on timelineA
Place a media clip on a video track at a given time (seconds). Imports the file if needed. Optionally trim with inSeconds/outSeconds. mode 'overwrite' (default) stamps over; 'insert' ripples later clips right. The clip's own audio is routed automatically.
Inputs: mediaPath (required), videoTrack, atSeconds, inSeconds, +2 more.
premiere_quitQuit Premiere (graceful)ADestructive
Gracefully close Premiere by sending its window the close signal. Premiere will show its OWN save prompt if there are unsaved changes (this is intentional and safe). Requires confirm:true. Use force:true only to hard-kill (data loss).
Inputs: confirm, force.
premiere_remove_project_itemRemove project item (bin)ADestructive
Delete a BIN from the project by nodeId. Irreversible -> requires confirm:true. (Individual clips cannot be deleted via the stable DOM; do that in the Premiere UI.) Get nodeIds from premiere_list_project_items.
Inputs: nodeId (required), confirm.
premiere_restartRestart PremiereADestructive
Gracefully close Premiere, wait, then start it again (optionally reopening a project). Requires confirm:true. Premiere may show a save prompt during close.
Inputs: confirm, projectPath.
premiere_run_extendscriptRun ExtendScript (advanced)ADestructive
ESCAPE HATCH: run an arbitrary ExtendScript (ES3) snippet inside Premiere and return its value as JSON. EXTREMELY powerful and can do destructive things, so it requires confirm:true to execute. Use dryRun:true (default) to preview the code first. Prefer the dedicated tools when one exists.
Inputs: code (required), dryRun, confirm, timeoutMs.
premiere_save_projectSave projectAIdempotent
Save the currently open project to its existing file (in place).
Inputs: no named parameters.
premiere_save_project_asSave project asA
Save the open project to a new path. If the target exists it is gated behind confirm:true and backed up first. Path must be inside an allowed working root.
Inputs: path (required), confirm.
premiere_screenshotScreenshot PremiereARead-only
Capture a PNG screenshot of Premiere's main window (or the full screen) so you can SEE the current UI state - useful when a tool reports an unexpected result or a dialog may be open. Returns the image inline plus the saved file path.
Inputs: fullScreen, embed.
premiere_send_shortcutSend keystrokes/shortcutA
ADVANCED FALLBACK: focus Premiere and send keystrokes (Windows SendKeys syntax, e.g. '^s' for Ctrl+S, '%{F4}' for Alt+F4). Use only when no dedicated tool exists. Premiere must be running.
Inputs: keys (required).
premiere_set_active_sequenceSet active sequenceA
Open/activate a sequence by its sequenceID (from premiere_list_sequences).
Inputs: sequenceId (required).
premiere_statusPremiere statusARead-only
Report whether Adobe Premiere Pro is running, whether the in-app MCP bridge panel is reachable, and the app/host version. Always safe to call first.
Inputs: no named parameters.
premiere_ui_describeDescribe Premiere windowsARead-only
List Premiere's top-level window titles and whether Premiere is the foreground app. A lightweight way to detect dialogs. Read-only.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 59 tools
Most tools have distinct purposes, but there is ambiguity between premiere_create_sequence (with modal dialog) and premiere_new_sequence (automatic), and several get_* tools (get_app_info, get_project_info, generate_report) overlap slightly in the info they provide.
All tools follow a consistent 'premiere_verb_noun' pattern with snake_case. Verbs are imperative and nouns are descriptive, making the naming predictable and easy to understand.
59 tools is high but justified by the complexity of Premiere Pro. The number covers project management, editing, effects, markers, export, and automation. Some redundancy exists (e.g., create_sequence vs new_sequence), but overall the scope is appropriate.
The tool set covers major workflows like project creation, import, editing, effects, and export. However, gaps exist: no sequence deletion, no clip renaming, limited audio effects, and no direct timeline clip removal. Some operations rely on generic escape hatches.
Maintenance
Related MCP Connectors
Video editing skills, motion design prompts and studio concepts for creators who edit with Claude.
The agentic video editor for ChatGPT and Claude. Ask in your chat and it cuts, captions, adds music, titles and motion graphics on a real timeline you can open and adjust.
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Turn Claude into a creative studio: DNA-locked characters, images, video, voiceover — 55 tools.
Related MCP Servers
- AlicenseCqualityCmaintenanceEnables control of Adobe Premiere Pro through Claude using over 170 tools for editing, effects, and timeline management. It supports advanced project operations, automated captions, and AI-generated voiceovers via ElevenLabs integration.1809,101 npm44MIT
- AlicenseNot gradedqualityBmaintenanceControls Adobe Premiere Pro via Claude, enabling automated beat-synced editing, timeline manipulation, and media analysis through two MCP servers (Node + Python).9,101 npmMIT
- AlicenseAqualityDmaintenanceEnables Claude to drive Adobe Premiere Pro directly through natural-language requests, supporting import, timeline editing, markers, effects, transitions, and export.6239,101 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables prompt-driven video editing in Adobe Premiere Pro, allowing Claude to transcribe footage, decide cuts, build motion graphics, and assemble timelines via natural language.-