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
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_project_infoB | Get information about the currently open Premiere Pro project |
| list_project_itemsB | 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_tracksB | List all tracks (video and audio) in a sequence |
| get_clip_propertiesC | 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_settingsB | 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_positionC | Get the clip at a specific time position on a track |
| save_projectC | Save the current Premiere Pro project |
| save_project_asB | 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 |
| undoB | Undo the last action in Premiere Pro |
| consolidate_duplicatesB | Consolidate duplicate project items |
| create_projectB | Create a new Premiere Pro project at the specified path |
| close_projectB | Close the current Premiere Pro project |
| import_ae_compsB | Import After Effects compositions from an .aep file |
| delete_binB | Delete a bin (folder) from the project panel |
| rename_binB | Rename a bin (folder) in the project panel |
| create_smart_binA | Create a smart bin (search bin) in the project panel |
| find_items_by_media_pathC | 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_fieldB | Add a custom metadata field to the project's metadata schema |
| import_sequencesB | Import sequences from another Premiere Pro project file |
| create_bars_and_toneB | 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_binA | 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_metadataB | 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_binA | Create a new bin (folder) in the project panel |
| move_item_to_binC | Move a project item to a different bin |
| relink_mediaC | Relink an offline media item to a new file path |
| refresh_mediaB | Refresh a project item to pick up changes to the source file |
| check_offline_mediaC | 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_rateB | Override the frame rate of a project item (useful for image sequences or misinterpreted media) |
| set_override_pixel_aspect_ratioB | Override the pixel aspect ratio of a project item |
| set_scale_to_frame_sizeB | 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_sequenceC | Create a new sequence in the project |
| duplicate_sequenceB | Duplicate an existing sequence |
| delete_sequenceC | Delete a sequence from the project |
| set_sequence_settingsB | Modify sequence settings (frame size, frame rate, etc.) |
| create_subsequenceB | 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_propertyC | 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_clipC | Move a clip to a new position on the timeline |
| trim_clipB | Trim a clip's in or out point |
| split_clipC | 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_propertiesC | Set properties on a clip (opacity, speed, etc.) |
| replace_clipA | 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_effectC | Apply an audio effect to a clip |
| remove_effectB | Remove an effect from a clip by its index or name |
| list_available_effectsB | List all available video effects in Premiere Pro. Uses QE DOM. |
| list_available_audio_effectsB | 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_clipB | Apply the Warp Stabilizer effect to a clip for video stabilization. Uses QE DOM. |
| add_transitionB | 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_transitionsB | Add the same transition to all cut points on a track |
| list_available_transitionsA | List all available video transitions. Uses QE DOM. |
| list_available_audio_transitionsA | List all available audio transitions. Uses QE DOM. |
| adjust_audio_levelsC | Adjust the audio level (volume) of a clip in dB |
| add_audio_keyframesC | Add audio level keyframes to create fades or level changes |
| mute_trackB | Mute or unmute an audio track |
| add_text_overlayB | Add a text overlay (title) to the active sequence |
| 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_markerB | Add a marker to the active sequence or a clip |
| delete_markerC | 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_trackC | Add a new video or audio track to the active sequence |
| delete_trackB | Delete a video or audio track from the active sequence |
| lock_trackC | Lock or unlock a video track |
| toggle_track_visibilityC | Toggle a video track's visibility (eye icon) |
| get_playhead_positionA | Get the current playhead (CTI) position in the active sequence |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| premiere-instructions | Instructions and best practices for using Premiere Pro via MCP tools |
| extendscript-reference | Complete Premiere Pro ExtendScript API reference for writing custom scripts via execute_extendscript |
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/leancoderkavy/premiere-pro-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server