Skip to main content
Glama

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 DOM

Related MCP server: Premiere-Pro-MCP

Highlights

  • 🎬 One-call cinematic intros — premiere_create_brand_intro renders 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 .mcpb bundle (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 install there). 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.mcpb
  1. In Claude Desktop: Settings → Extensions → "Install Extension" → pick build/premiere-mcp.mcpb.

  2. Ask Claude to run premiere_install_bridge_panel (sets the registry flag + copies the panel — no admin).

  3. Restart Premiere, open Window → Extensions → Premiere MCP Bridge.

  4. 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 PlayerDebugMode

Add 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.json

  • Claude 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

PREMIERE_MCP_BRIDGE_PORT

3030

Port of the in-Premiere bridge panel

PREMIERE_MCP_BRIDGE_HOST

127.0.0.1

Bridge host (keep localhost)

PREMIERE_MCP_ALLOWED_ROOTS

Documents;Videos;Desktop;Downloads

Write/delete allowlist (;-separated)

PREMIERE_MCP_EXE

the 2025 path

Premiere executable

PREMIERE_MCP_VERSION_FAMILY

25.0

Prefs/registry version folder

PREMIERE_MCP_REMOTION_DIR

./remotion-intro

Remotion intro renderer project (must be in a path without ! — webpack limitation)

PREMIERE_MCP_OUTPUT_DIR

~/Videos/premiere-mcp

Default output folder for rendered files

PREMIERE_MCP_LOG_DIR

%APPDATA%\premiere-mcp\logs

Server audit log location


Safety model

  • Read-only by default — all get/list/inspect/find/report tools 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_extendscript defaults to dryRun: true.

  • Auto-backup — overwriting a .prproj writes 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

app.project.newSequence + .sqpreset

Create sequence (custom settings)

⚠️ Dialog

Premiere 2025 opens its New Sequence dialog on scripted createNewSequence

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

exportAsMediaDirect, blocking

Beat detection / beat-cut

✅ Full

ffmpeg + numpy onset detection

Cinematic intros (4 styles)

✅ Full

Remotion visual + sound + composite + dual export

Recent projects / logs / prefs / .prproj inspect / backups

✅ 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 test

Run 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.mcpb

The packer writes ZIP entries with forward slashes (Windows Compress-Archive uses backslashes, which breaks the loader).


Troubleshooting

Symptom

Fix

premiere_status says bridge not connected

Open Window → Extensions → Premiere MCP Bridge (green dot)

Panel not in the Extensions menu

Re-run premiere_install_bridge_panel / npm run install-extension, fully restart Premiere

A tool times out

Premiere is likely showing a modal dialog — run premiere_screenshot to see it

Export "Unknown error"

The .epr preset path is wrong/empty, or the output extension doesn't match the preset format

Remotion render fails with a webpack "!" error

The Remotion project path contains ! — move it to a path without ! and set PREMIERE_MCP_REMOTION_DIR

EvalScript error

Host JSX failed — reopen the panel; check %TEMP% CEP logs


Acknowledgements

License

MIT © Maurice Putinas

Available Tools

59 tools
premiere_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)B
Destructive

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)A
Destructive

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)A
Destructive

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 statusA
Read-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-testA
Read-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 projectA
Destructive

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 audioA
Read-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 itemA
Read-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 reportA
Read-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 sequenceA
Read-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 infoA
Read-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 capabilitiesA
Read-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 logsA
Read-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 filesA
Read-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)A
Read-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 infoA
Read-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 & clipsA
Read-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 fileA
Read-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)A
Destructive

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 projectsA
Read-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 presetsA
Read-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 markersA
Read-only

List all markers of a sequence (active one if no id given). Read-only.

Inputs: sequenceId.

premiere_list_project_itemsList project itemsA
Read-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 projectsA
Read-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 presetsA
Read-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 sequencesA
Read-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)A
Destructive

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)A
Destructive

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 PremiereA
Destructive

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)A
Destructive

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_run_menu_commandRun menu command (QE, experimental)A
Destructive

EXPERIMENTAL: execute a Premiere menu command by numeric ID via the unsupported QE DOM. Can be unstable/crash-prone -> requires confirm:true. Many actions have dedicated tools; prefer those.

Inputs: menuId (required), confirm.

premiere_save_projectSave projectA
Idempotent

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 PremiereA
Read-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 statusA
Read-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 windowsA
Read-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

    A3.9/5.0

    Scored across 59 tools

    Disambiguation4/5

    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.

    Naming Consistency5/5

    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.

    Tool Count4/5

    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.

    Completeness3/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers