Premiere Pro MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port (HTTP/SSE transport only) | 3000 |
| MCP_AUTH_TOKEN | No | Bearer token for HTTP transport auth (optional) | |
| PREMIERE_TEMP_DIR | No | Shared temp directory for MCP ↔ CEP communication | OS temp dir + /premiere-mcp-bridge |
| PREMIERE_TIMEOUT_MS | No | Command timeout in milliseconds | 30000 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_project_infoC | Get information about the currently open Premiere Pro project |
| list_project_itemsA | List all items in the project panel (clips, bins, sequences) |
| list_sequencesA | List all sequences in the project |
| get_active_sequenceA | Get detailed information about the currently active sequence |
| list_sequence_tracksA | List all tracks (video and audio) in a sequence |
| get_clip_propertiesA | Get detailed properties of a specific clip by its node ID |
| find_project_item_by_nameA | Find a project item by name (searches recursively through bins) |
| get_sequence_settingsA | Get the settings (resolution, frame rate, etc.) of a sequence |
| get_selected_clipsA | Get the currently selected clips in the active sequence |
| get_clip_at_positionB | Get the clip at a specific time position on a track |
| save_projectA | Save the current Premiere Pro project |
| save_project_asA | Save the current project to a new location |
| open_projectB | Open a Premiere Pro project file |
| set_active_sequenceB | Set the active sequence by name or ID |
| undoC | Undo the last action in Premiere Pro |
| consolidate_duplicatesC | Consolidate duplicate project items |
| create_projectB | Create a new Premiere Pro project at the specified path |
| close_projectA | Close the current Premiere Pro project |
| import_ae_compsA | Import After Effects compositions from an .aep file |
| delete_binA | Delete a bin (folder) from the project panel |
| rename_binA | Rename a bin (folder) in the project panel |
| create_smart_binB | Create a smart bin (search bin) in the project panel |
| find_items_by_media_pathA | Find project items whose media path contains the given search string |
| start_batch_encodeA | Start encoding all items in the Adobe Media Encoder render queue |
| add_custom_metadata_fieldA | Add a custom metadata field to the project's metadata schema |
| import_sequencesB | Import sequences from another Premiere Pro project file |
| create_bars_and_toneA | Create a Bars and Tone synthetic media item in the project (useful for leader/calibration) |
| import_fcp_xmlB | Import a Final Cut Pro XML file into the current project |
| set_transcode_on_ingestB | Enable or disable transcoding on ingest for the project |
| get_insertion_binB | Get the current target bin for new imports (the bin that is currently focused in the Project panel) |
| get_project_panel_metadataA | Get the current project panel metadata/column configuration as XML |
| set_project_panel_metadataA | Set the project panel metadata/column configuration from XML |
| get_graphics_white_luminanceA | Get the graphics white luminance value (HDR setting) for the project |
| set_graphics_white_luminanceA | Set the graphics white luminance value (HDR setting) for the project |
| set_scratch_disk_pathB | Set the scratch disk path for a specific media type |
| import_mediaC | Import media files into the project |
| import_folderB | Import an entire folder of media into the project |
| create_binB | Create a new bin (folder) in the project panel |
| move_item_to_binB | Move a project item to a different bin |
| relink_mediaA | Relink an offline media item to a new file path |
| refresh_mediaA | Refresh a project item to pick up changes to the source file |
| check_offline_mediaB | Check for offline (missing) media in the project |
| set_offlineA | Set a project item to offline status (unlinks its media) |
| has_proxyB | Check if a project item has a proxy attached |
| detach_proxyB | Detach/remove the proxy from a project item |
| set_override_frame_rateA | Override the frame rate of a project item (useful for image sequences or misinterpreted media) |
| set_override_pixel_aspect_ratioA | Override the pixel aspect ratio of a project item |
| set_scale_to_frame_sizeA | Enable 'Scale to Frame Size' on a project item so it fills the sequence frame |
| get_item_infoB | Get detailed type info about a project item (is it a sequence, multicam, merged clip, etc.) |
| select_itemB | Select a project item in the Project panel |
| set_start_timeB | Set the start time (timecode offset) for a project item |
| create_sequenceB | Create a new sequence in the project |
| duplicate_sequenceC | Duplicate an existing sequence |
| delete_sequenceA | Delete a sequence from the project |
| set_sequence_settingsC | Modify sequence settings (frame size, frame rate, etc.) |
| create_subsequenceA | Create a subsequence (nested sequence) from selected clips or a time range |
| auto_reframe_sequenceB | Auto-reframe a sequence for a different aspect ratio |
| unnest_sequenceA | Unnest a nested sequence on the timeline, replacing it with the contents of the nested sequence |
| create_sequence_from_presetB | Create a new sequence from a specific preset file (.sqpreset) |
| attach_custom_propertyB | Attach a custom property (key/value pair) to the active sequence |
| is_work_area_enabledA | Check whether the work area bar is enabled on the active sequence |
| get_export_file_extensionA | Get the file extension that would be used when exporting the active sequence with a given preset |
| add_to_timelineC | Add a project item (clip) to the timeline at a specific position |
| remove_from_timelineC | Remove a clip from the timeline |
| move_clipB | Move a clip to a new position on the timeline |
| trim_clipB | Trim a clip's in or out point |
| split_clipB | Split (razor) a clip at a specific time position. Requires QE DOM. |
| duplicate_clipA | Duplicate a clip on the timeline (copy to same position on next available track) |
| enable_disable_clipB | Enable or disable a clip on the timeline |
| set_clip_propertiesB | Set properties on a clip (opacity, speed, etc.) |
| replace_clipB | Replace a clip on the timeline with a different project item, preserving position and duration |
| speed_changeC | Change the playback speed of a clip |
| apply_effectB | Apply a video effect to a clip. Uses QE DOM for effect lookup. |
| apply_audio_effectB | Apply an audio effect to a clip |
| remove_effectB | Remove an effect from a clip by its index or name |
| list_available_effectsA | List all available video effects in Premiere Pro. Uses QE DOM. |
| list_available_audio_effectsA | List all available audio effects in Premiere Pro. Uses QE DOM. |
| color_correctB | Apply basic color correction to a clip using Lumetri Color |
| apply_lutB | Apply a LUT file to a clip via Lumetri Color |
| stabilize_clipC | Apply the Warp Stabilizer effect to a clip for video stabilization. Uses QE DOM. |
| add_transitionC | Add a video transition between two clips at a cut point. Uses QE DOM. |
| add_transition_to_clipB | Add a transition to a specific clip's start or end |
| batch_add_transitionsA | Add the same transition to all cut points on a track |
| list_available_transitionsA | List all available video transitions. Uses QE DOM. Returns a hint set on PPro 2026 where the transition registry list is empty even though by-name lookup works. |
| list_available_audio_transitionsA | List all available audio transitions. Uses QE DOM. |
| adjust_audio_levelsB | Adjust the audio level (volume) of a clip in dB |
| add_audio_keyframesA | Add audio level keyframes to create fades or level changes |
| mute_trackA | Mute or unmute an audio track |
| detect_silenceA | Find silent ranges in a media file and return both the silences and the complementary segments worth keeping. Analysis only — nothing in the project or on the timeline is modified. Requires ffmpeg on PATH: Premiere's scripting API exposes no audio-level or waveform data, so silence cannot be measured through the bridge. |
| add_text_overlayA | Add a subtitle-style text overlay to the active sequence. Note: Premiere's ExtendScript API does not expose Essential-Graphics title creation, so this routes through the Captions/Subtitle API. Text appears on a caption track at the platform-default subtitle position. For freeform titles, render a PNG and import_media it instead. |
| import_mogrtB | Import a Motion Graphics Template (.mogrt) file and add it to the timeline |
| import_mogrt_from_libraryB | Import a MOGRT from an Adobe Library by name |
| add_markerA | Add a marker to the active sequence or a clip |
| delete_markerA | Delete a marker at a specific time position |
| update_markerC | Update an existing marker's properties |
| list_markersA | List all markers on the active sequence or a specific clip |
| add_trackA | Add a new video or audio track to the active sequence |
| delete_trackA | Delete a video or audio track from the active sequence |
| lock_trackB | Lock or unlock a video track |
| toggle_track_visibilityC | Toggle a video track's visibility (eye icon) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| premiere-rough-cut | Inspect the project, import media, create or select a sequence, assemble clips, then verify and save. |
| premiere-dialogue-cleanup | Inspect audio tracks, normalize dialogue, apply conservative cleanup, and verify levels before saving. |
| premiere-caption-and-style | Inspect the active sequence, create captions, apply styling, verify timing, and save. |
| premiere-delivery | Validate the sequence and destination, export with an explicit preset, then report the produced artifact. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| premiere-instructions | Instructions and best practices for using Premiere Pro via MCP tools |
| premiere-workflows | High-level, safety-oriented Premiere Pro workflow catalog |
| extendscript-reference | Complete Premiere Pro ExtendScript API reference for writing custom scripts via execute_extendscript |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/leancoderkavy/premiere-pro-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server