premiere-pro-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PREMIERE_MCP_EXE | No | Premiere executable | the 2025 path |
| PREMIERE_MCP_LOG_DIR | No | Server audit log location | %APPDATA%\premiere-mcp\logs |
| PREMIERE_MCP_OUTPUT_DIR | No | Default output folder for rendered files | ~/Videos/premiere-mcp |
| PREMIERE_MCP_BRIDGE_HOST | No | Bridge host (keep localhost) | 127.0.0.1 |
| PREMIERE_MCP_BRIDGE_PORT | No | Port of the in-Premiere bridge panel | 3030 |
| PREMIERE_MCP_REMOTION_DIR | No | Remotion intro renderer project (must be in a path without !) | ./remotion-intro |
| PREMIERE_MCP_ALLOWED_ROOTS | No | Write/delete allowlist (;-separated) | Documents;Videos;Desktop;Downloads |
| PREMIERE_MCP_VERSION_FAMILY | No | Prefs/registry version folder | 25.0 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| premiere_bridge_panel_statusA | Check whether the in-Premiere bridge panel is installed and whether unsigned CEP extensions are enabled. Read-only. |
| premiere_install_bridge_panelA | 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. |
| premiere_statusA | 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. |
| premiere_launchA | 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). |
| premiere_quitA | 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). |
| premiere_restartA | Gracefully close Premiere, wait, then start it again (optionally reopening a project). Requires confirm:true. Premiere may show a save prompt during close. |
| premiere_get_app_infoA | Return Premiere's version/build, how many projects are open, whether a project and an active sequence exist, and the preference paths. Read-only. |
| premiere_get_project_infoA | Return metadata about the currently open project: name, file path, document ID, sequence count, root bin item count and the active sequence. Read-only. |
| premiere_get_preferencesA | 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. |
| premiere_open_projectA | Open an existing .prproj project in Premiere. Dialogs are suppressed. The file must exist. |
| premiere_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. |
| premiere_save_projectA | Save the currently open project to its existing file (in place). |
| premiere_save_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. |
| premiere_close_projectA | 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. |
| premiere_import_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. |
| premiere_create_binA | Create a new bin (folder) in the project, optionally inside an existing parent bin. |
| premiere_list_project_itemsA | List the project's bins and clips (the Project panel tree), flattened with paths. Supports limit/offset paging and optional media paths. Read-only. |
| premiere_find_project_itemA | Find project items whose name contains the query (case-insensitive). Returns matches with their nodeId, type and tree path. Read-only. |
| premiere_remove_project_itemA | 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. |
| premiere_list_sequence_presetsA | 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. |
| premiere_list_sequencesA | List all sequences in the open project with their IDs, track counts and frame size, and which one is active. Read-only. |
| premiere_get_active_sequenceA | Return details of the currently active sequence, or null if none is active. Read-only. |
| premiere_create_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. |
| premiere_set_active_sequenceA | Open/activate a sequence by its sequenceID (from premiere_list_sequences). |
| premiere_get_sequence_tracksA | 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. |
| premiere_add_markerB | Add a timeline marker to a sequence at a given time (seconds). Optional name, comment and type (comment|chapter|weblink|segmentation). |
| premiere_list_markersA | List all markers of a sequence (active one if no id given). Read-only. |
| premiere_new_sequenceA | 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). |
| premiere_place_clipA | 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. |
| premiere_add_titleA | 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. |
| premiere_add_audioA | Place an audio file (music, SFX, voiceover) on an audio track at a given time. Imports if needed. Optionally trim with inSeconds/outSeconds. |
| premiere_add_transitionA | 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. |
| premiere_add_effectB | 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. |
| premiere_keyframeA | 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.) |
| premiere_add_overlayA | 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. |
| premiere_apply_lumetriA | 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. |
| premiere_list_export_presetsA | 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. |
| premiere_export_sequenceA | 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. |
| premiere_build_videoA | 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). |
| premiere_create_introA | 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. |
| premiere_create_brand_introA | 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. |
| premiere_detect_beatsA | 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). |
| premiere_add_beat_markersA | 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. |
| premiere_beat_cut_videoA | 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 |
| premiere_list_recent_projectsA | List recently used / nearby Premiere projects from the registry (RecoveryOpenProjectInfos) and by scanning the default project folders. Works without Premiere running. Read-only. |
| premiere_get_logsA | 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. |
| premiere_get_preference_filesA | List Premiere's on-disk preference/profile folders (APPDATA + Documents) and their files. Read-only. |
| premiere_inspect_project_fileA | 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. |
| premiere_backup_projectA | Make a timestamped backup copy of a .prproj file (copied next to the original as .bak-). Safe, non-destructive. |
| premiere_list_autosavesA | List Premiere's automatic backup projects (the 'Adobe Premiere Pro Auto-Save' folders). Useful for recovery. Read-only. |
| premiere_screenshotA | 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. |
| premiere_focus_windowA | Bring Premiere's main window to the foreground. |
| premiere_ui_describeA | List Premiere's top-level window titles and whether Premiere is the foreground app. A lightweight way to detect dialogs. Read-only. |
| premiere_send_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. |
| premiere_get_capabilitiesA | 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. |
| premiere_run_extendscriptA | 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. |
| premiere_run_menu_commandA | 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. |
| premiere_generate_reportA | 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. |
| premiere_bridge_selftestA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MauricePutinas/premiere-pro-mcp-claude-code'
If you have feedback or need assistance with the MCP directory API, please join our Discord server