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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
| extensions | {
"io.github.leancoderkavy/premiere-pro": {
"dualEra": true,
"transports": [
"stdio",
"streamable-http"
],
"bridgeBackends": [
"cep",
"uxp"
],
"protocolRevision": "2026-07-28"
}
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_project_infoA | 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_propertiesB | 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_projectB | Save the current Premiere Pro project |
| save_project_asB | Save the current project to a new location |
| open_projectC | Open a Premiere Pro project file |
| set_active_sequenceC | Set the active sequence by name or ID |
| undoA | Unavailable: Premiere exposes no supported, observable undo-stack API, so a scripted undo cannot be performed or verified. |
| consolidate_duplicatesB | Consolidate duplicate project items and report success only when duplicate media groups decrease. |
| create_projectA | 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, failing closed when the file does not exist or when the target bin gains no items. |
| delete_binC | 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 | Request Adobe Media Encoder to start the render queue; reports only accepted handoff, not queue progress or output-file creation. |
| add_custom_metadata_fieldA | Add a custom metadata field to the project's metadata schema. This creates a schema/column definition only; it does not set a per-item value. Use set_metadata with complete Project Metadata XML and readback to update a value. |
| 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_xmlA | Open a Final Cut Pro XML file as a new Premiere project. app.openFCPXML(path, projPath) requires a destination project path; it does not merge the XML into the currently open 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_metadataA | Set the project panel metadata/column configuration from XML and verify that Premiere reads back the exact 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_pathA | 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 offline, or ask Premiere to refresh it back online when offline is false. |
| has_proxyA | 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_sequenceB | Duplicate an existing sequence |
| delete_sequenceB | Delete a sequence from the project |
| set_sequence_settingsA | Modify and read back sequence frame-size settings. |
| create_subsequenceA | Create a separate subsequence from selected clips or a time range. This Premiere API does not replace the original timeline clips with a nested-sequence reference. |
| auto_reframe_sequenceC | 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_presetA | Create a new sequence from a specific preset file (.sqpreset) |
| attach_custom_propertyA | Attach a custom property (key/value pair) to the active sequence and confirm it against the sequence project item's XMP packet. Reports failure when the property never lands in XMP. |
| 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_timelineA | Insert a project item at a timeline position and verify Premiere added no unexpected same-track fragments. |
| remove_from_timelineB | Remove a clip from the timeline |
| move_clipC | Move a clip to a new position on the timeline |
| trim_clipA | Trim exactly one source in/out point and verify the corresponding visible timeline edge. Refuses retimed clips and, by default, trims that would leave effect keyframes outside the visible clip. |
| split_clipA | Split every clip on one track that spans a timeline time, then verify both resulting boundaries. Requires QE DOM; effect-keyframe redistribution remains unverified. |
| 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 supported clip properties (opacity, scale, position, rotation). Clip speed is unsupported and fails before mutation. |
| replace_clipA | Replace a clip on the timeline with a different project item, preserving position and duration |
| speed_changeA | Unavailable: Premiere does not expose a supported scripting API for changing a timeline clip's speed. |
| apply_effectA | Apply a video effect to a clip. Uses QE DOM catalog lookup, with an exact-name QE probe when Premiere's catalog enumeration is empty. |
| apply_audio_effectA | Apply an audio effect to a clip. Uses QE catalog lookup, with an exact-name QE probe when enumeration is empty. |
| remove_effectA | Remove an effect from a clip by its index or name. Returns a capability error when the host cannot remove an individual component. |
| list_available_effectsA | List available video effects in Premiere Pro. Uses the full QE catalog when exposed; otherwise returns a verified, explicitly partial set of common effects resolved by exact name. |
| list_available_audio_effectsA | List all available audio effects in Premiere Pro. Uses QE DOM. |
| color_correctA | Apply basic color correction to a clip using Lumetri Color |
| apply_lutA | Apply a LUT file to a clip via Lumetri Color |
| inspect_stabilizer_statusA | Read Warp Stabilizer presence, exposed status properties, and conservative analysis state for one clip or every video clip in the active sequence. Read-only: unknown or localized host values remain unknown rather than being reported as solved. |
| 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_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 and reports an unavailable or empty legacy catalog as an error rather than an assumed usable list. |
| adjust_audio_levelsA | Adjust a clip's Volume > Level in dB. Does not read or change Essential Sound Amplify automation. |
| add_audio_keyframesB | Add audio level keyframes to create fades or level changes |
| mute_trackB | 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. |
| plan_silence_review_markersA | Create a bounded, non-mutating review plan that maps FFmpeg-detected source-media silences onto one known 1x timeline placement. It clips candidates to the supplied source in/out span, redacts the source path, and never adds markers, cuts clips, or changes Premiere. |
| detect_beatsA | Estimate a steady beat grid from a local audio or video file without changing Premiere. FFmpeg decodes at most 30 minutes to a bounded mono analysis stream; local onset autocorrelation returns BPM, phase-aligned beat times, confidence, and half/double-time alternatives. |
| analyze_loudnessA | Measure integrated loudness (LUFS), loudness range (LU), and true peak (dBFS) from a local media file using FFmpeg's EBU R128 filter. Analysis only: it does not normalize audio or change Premiere. |
| normalize_loudness_fileA | Create a new loudness-normalized media derivative with FFmpeg, then remeasure that exact output using EBU R128. Never overwrites the input or an existing output file. |
| add_text_overlayA | Unavailable: Premiere does not expose a supported scripting API to create caption clips directly from raw text. Import an .srt/.vtt and use create_caption_track, or use a MOGRT/PNG overlay for title graphics. |
| import_mogrtB | Import a Motion Graphics Template (.mogrt) file and add it to the timeline |
| import_mogrt_from_libraryB | Import a MOGRT from a named Adobe Creative Cloud Library. |
| verify_after_effects_connectionA | Read-only check that the dedicated After Effects CEP connector is running. It never reads project names, media, or paths. |
| preview_mogrt_recipeA | Preview a bounded After Effects MOGRT recipe from the supported title, callout, quote, and social template library. It validates one existing workspace output directory but does not contact Adobe or write any files. |
| create_mogrt_recipeA | Create exactly one previewed MOGRT recipe in a saved After Effects project inside the approved workspace. Requires explicit export confirmation; it never creates projects or output folders. |
| verify_mogrt_artifactA | Verify that a workspace-contained .mogrt artifact exists locally and has a ZIP header. This does not prove controls, import compatibility, playback, or visual correctness. |
| validate_mogrt_brand_kitA | Validate an operator-approved local MOGRT brand kit before using it in a template or batch preview. It never reads font inventories, image pixels, or writes files. |
| preview_mogrt_batchA | Preview up to 20 bounded MOGRT recipe exports from a workspace-contained JSON or CSV data file. It does not contact Adobe or create any compositions or files. |
| create_mogrt_batchA | Create the exact MOGRT recipes from a one-time batch preview. Requires explicit export confirmation and stops on the first After Effects failure without claiming rollback. |
| inspect_after_effects_template_sourceA | Inspect a saved After Effects source composition for MOGRT-relevant dimensions, duration, text fonts, layer-source kinds, and Essential Graphics controller names when the host exposes the AE 16.1+ readback API. It never creates a composition or returns asset paths. |
| preview_mogrt_library_publishA | Preview a no-overwrite publish of a validated MOGRT into a workspace-contained, versioned local library. The library root must already exist; no file or directory is created during preview. |
| publish_mogrt_to_libraryA | Publish the exact previewed MOGRT as an immutable local-library version. Requires explicit confirmation and will fail instead of replacing an existing version. |
| inspect_mogrt_libraryA | List bounded top-level template names and version directories in an existing workspace-contained local MOGRT library. It never reads MOGRT contents or changes the library. |
| inspect_after_effects_render_templatesA | Read available render and output-module template names from the first existing After Effects render-queue item. It never queues or renders a composition. |
| preview_after_effects_renderA | Preview a bounded queue-only After Effects render request for one named composition and existing workspace output directory. It does not contact Adobe, enqueue, or render. |
| enqueue_after_effects_renderA | Queue exactly one previewed After Effects render with named host templates. Requires explicit confirmation; it saves the open project but never starts rendering or overwrites output. |
| preview_mogrt_premiere_handoffA | Preview a contained MOGRT import into one explicitly named disposable Premiere verification sequence and empty video track. It does not contact Premiere or alter a sequence. |
| apply_mogrt_premiere_handoffA | Import exactly one previewed MOGRT into the empty track of the explicit disposable Premiere verification sequence, then read back insertion and control descriptors. Requires explicit confirmation; no rendered-frame claim is made. |
| preview_after_effects_render_handoffA | Preview import of one completed After Effects single-file render into an existing Premiere bin. Reads both connected hosts and binds approval to file metadata and project/bin identity. Does not render, import, or edit a timeline. |
| apply_after_effects_render_handoffA | Import exactly one previewed completed AE render into its approved Premiere bin after rechecking both hosts and file metadata. Requires confirmation and consumes the token before dispatch. Does not save, render, or change a timeline. |
| add_markerA | Add a marker to the active sequence or a clip |
| delete_markerC | Delete a marker at a specific time position |
| update_markerB | Update an existing marker's properties |
| list_markersA | List all markers on the active sequence or a specific clip |
| add_trackB | Add verified video or audio tracks to the active sequence. Returns an error if Premiere cannot add the exact requested count. |
| delete_trackA | Delete a video or audio track from the active sequence |
| lock_trackA | 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 |
| set_playhead_positionA | Set the playhead (CTI) position in the active sequence |
| set_work_areaB | Set the work area (bar) in and out points |
| get_work_areaA | Get the current work area in and out points |
| set_sequence_in_out_pointsA | Set the sequence in and out points (for export range, etc.) |
| get_sequence_in_out_pointsA | Get the current sequence in and out points |
| get_metadataA | Get metadata for a project item. Disable either XML payload when a bounded identity/path response is sufficient. |
| set_metadataA | Replace project metadata XML on a project item and verify the exact readback. Partial field/value writes are intentionally rejected because Premiere requires a complete Project Metadata XML payload. |
| set_color_labelC | Set the color label on a project item or clip |
| get_color_labelA | Get the color label of a project item |
| get_footage_interpretationA | Get footage interpretation settings for a project item |
| set_footage_interpretationC | Set footage interpretation settings for a project item |
| get_xmp_metadataB | Get the raw XMP metadata for a project item (includes EXIF, IPTC, Dublin Core, etc.) |
| set_xmp_metadataA | Merge a raw XMP XML patch into a project item's existing XMP metadata without removing unrelated fields. |
| get_color_spaceA | Get the color space information for a project item |
| validate_export_presetB | Validate that an Adobe Media Encoder .epr preset exists and ask the active Premiere sequence which output extension it produces |
| verify_delivery_fileA | Verify that an exported delivery is a non-empty regular file and calculate a SHA-256 or SHA-512 checksum; optionally compare expected size and checksum |
| verify_delivery_conformanceA | Verify a local exported file against an explicit delivery contract using ffprobe and optional EBU R128 analysis. Returns pass, fail, or not_evaluated per check; it does not prove Premiere render lineage or visual approval. |
| analyze_video_qcB | Analyze a local video delivery for sustained black and frozen sections with FFmpeg. Read-only: it does not contact Premiere or modify the file. |
| detect_source_scene_changesA | Detect probable visual cuts in a local source file using FFmpeg scene scores. Read-only and source-relative; it does not cut a Premiere timeline. |
| export_sequenceB | Export the active sequence using Adobe Media Encoder |
| export_frameB | Export the current frame as an image file |
| export_sequence_review_framesA | Export 2-24 evenly spaced, file-verified frames from an active-sequence range in one bridge round trip for visual review. This samples rendered output; it does not prove playback, audio, or editorial quality. |
| export_sequence_marker_review_framesA | Export up to 24 file-verified composite frames at active-sequence marker positions in one bridge request for marker-driven review. It reads markers and writes image files only; it does not add, update, or remove Premiere markers. |
| export_sequence_clip_review_framesA | Export one file-verified composite frame at the midpoint of each clip on a chosen video track in one bridge request. Read-only in Premiere; it does not mute tracks or claim visual quality. |
| export_as_fcp_xmlA | Export the active sequence as a Final Cut Pro XML file |
| export_aafA | Unavailable on the CEP backend. Use export_aaf_uxp with an authenticated Premiere 26.3+ UXP bridge. |
| add_to_render_queueA | Request an Adobe Media Encoder render-queue handoff for the active sequence. Verify queue presence or the output file independently. |
| get_render_queue_statusA | Report the Adobe Media Encoder queue running state, or fail closed with a named capability error when this Premiere build exposes no queue-status method on app.encoder. |
| create_subclipB | Create a subclip from a project item with in/out points |
| capture_frameA | Capture the current frame and return it as inline image data for the LLM to see. This lets the AI visually inspect the current state of the timeline. |
| export_omfA | Export the active sequence as an OMF file (Open Media Framework, for audio post-production) |
| encode_project_itemA | Request an Adobe Media Encoder encode for a project item. The returned job ID is an unverified handoff; verify queue presence or the output file independently. |
| encode_fileA | Request an Adobe Media Encoder encode for an external file. The returned job ID is an unverified handoff; verify queue presence or the output file independently. |
| manage_proxiesA | Create, attach, or toggle proxies for a project item. Note: 'create' only requests a proxy encode from Adobe Media Encoder and returns an unverified handoff. Independently verify the AME queue or output file before calling this tool again with action 'attach' and proxy_path set to the output_path you passed here. There is no single-call create-and-attach in Premiere's ExtendScript API. |
| inspect_media_streamsA | Inspect a local media file with ffprobe and return container, stream, codec, time-base, channel, and chapter metadata. Read-only and independent of Premiere. |
| generate_media_contact_sheetA | Generate a new, disk-verified PNG contact sheet from evenly sampled source frames. Refuses to overwrite an existing output and does not modify Premiere or the source. |
| detect_audio_transientsA | Find probable beat or edit-point transients from decoded audio peaks. Returns candidates for editorial review; it does not claim musical beat-grid accuracy or change a timeline. |
| detect_motion_peaksA | Find probable high-motion moments in a bounded local video sample from decoded frame differences. Read-only editorial candidates; camera movement, flashes, cuts, and subject motion are not semantically distinguished. |
| read_video_scopesB | Read waveform percentiles, RGB parade percentiles, saturation, and near-black/near-white RGB occupancy from one bounded decoded local-media frame. Read-only; this is a sampled analytical proxy, not Premiere's rendered scopes. |
| plan_shot_matchA | Compare two bounded local-media frame samples and return measured waveform/parade/saturation deltas plus coarse correction directions. Read-only planning only; it does not grade Premiere or claim that primaries alone can match the shots. |
| analyze_video_interlacingB | Classify decoded video frames as progressive, top-field-first, bottom-field-first, mixed, or undetermined using FFmpeg idet. Read-only delivery preflight. |
| detect_active_picture_boundsA | Detect the most frequent active-picture crop rectangle in decoded video, exposing probable letterbox or pillarbox bars without modifying the source. |
| inspect_cmx3600_edlA | Parse a local CMX 3600 EDL into bounded event, reel, track, transition, and timecode facts without importing it into Premiere. |
| validate_cmx3600_edlA | Validate a local CMX 3600 EDL's supported event grammar, timecodes, durations, duplicate event IDs, record overlaps, and record gaps before user-assisted Premiere interchange. |
| compare_cmx3600_edlsA | Compare two local CMX 3600 EDLs by event number and report bounded added, removed, and changed editorial events. Read-only; it does not alter either interchange file or Premiere. |
| inspect_fcpxml_interchangeA | Inspect a local FCPXML document's root version, sequence/clip counts, bounded asset declarations, and text-only parser warnings before deliberate Premiere import. |
| verify_fcpxml_media_referencesA | Verify FCPXML file:// media references only inside caller-approved existing roots. References outside those roots are never statted or exposed as local paths. |
| ripple_deleteA | Ripple delete a clip (removes clip and closes the gap). Uses QE DOM. |
| roll_editA | Perform a verified roll edit at the outgoing cut of a clip using the public timeline DOM, moving both visible edges and their source in/out points and verifying all four. |
| slide_editC | Perform a verified slide edit on a clip using adjacent clips from the public timeline DOM. |
| slip_editB | Perform a verified slip edit on a clip using public source in/out properties. |
| move_clip_to_trackC | Move a clip to a different track. Uses QE DOM. |
| remove_all_effectsA | Remove ALL effects from a clip. Uses QE DOM. |
| set_clip_speed_qeB | Unavailable: Premiere does not expose a supported scripting API for changing a timeline clip's speed. |
| reverse_clipA | Unavailable: Premiere does not expose a supported scripting API for reversing a timeline clip's playback direction. |
| set_frame_blendB | Enable or disable frame blending on a clip. Uses QE DOM. |
| set_time_interpolationB | Set time interpolation type for a clip (Frame Sampling, Frame Blending, Optical Flow). Uses QE DOM. |
| rename_clipB | Rename a clip on the timeline. Uses QE DOM. |
| get_clip_speedB | Get the playback speed and reverse state of a clip |
| set_clip_selectionB | Select or deselect a clip in the active sequence |
| link_selectionA | Link the currently selected video and audio clips in the active sequence |
| unlink_selectionA | Unlink the currently selected video and audio clips in the active sequence |
| overwrite_clipC | Overwrite a project item onto validated timeline tracks and verify a new source placement at the requested time |
| create_sequence_from_clipsB | Create a new sequence by automatically placing project items in order |
| close_sequenceA | Close a sequence tab in the timeline |
| export_as_projectA | Export a sequence as a standalone Premiere Pro project file |
| set_zero_pointA | Set the starting timecode (zero point) of a sequence |
| scene_edit_detectionB | Perform scene edit detection on the selected clips in the active sequence. Defaults to creating markers rather than cutting. |
| delete_preview_filesA | Delete all preview/render cache files for the project. Uses QE DOM. |
| add_tracksA | Add video and/or audio tracks through QE, verify the active sequence gained the exact requested counts, and report explicitly when QE inserted the new tracks at index 0 and shifted every existing track up. |
| set_color_valueB | Set a color value on an effect property (e.g., tint color, fill color) |
| get_clip_adjustment_layerB | Check if a clip is an adjustment layer |
| get_linked_itemsA | Get all clips in the sequence that are linked to the same source as a given clip |
| get_mogrt_componentB | Get MOGRT (Motion Graphics Template) component parameters from a clip |
| get_effect_propertiesA | List all properties of a specific effect on a clip, including current values |
| set_effect_propertyA | Set the value of a specific effect property on a clip. Accepts scalar, boolean, string, and array-shaped vector values (for example Motion > Position as [x, y]) and verifies the readback component by component. |
| get_keyframesA | Get all keyframes for a specific effect property on a clip |
| add_keyframeA | Add and read back a keyframe on an effect property. This verifies stored parameter data only; render/playback verification remains host-dependent. |
| remove_keyframeB | Remove a keyframe at a specific time from an effect property |
| remove_keyframe_rangeA | Remove all keyframes in a time range from an effect property |
| set_keyframe_interpolationC | Set the interpolation type of a keyframe (Linear, Hold, or Bezier) |
| get_value_at_timeA | Get the interpolated value of an effect property at a specific time |
| inspect_dom_objectA | Inspect a Premiere Pro DOM object and list its properties, methods, and values. Useful for exploring the API and debugging. Examples:
|
| list_clip_effectsA | List all effects/components on a clip with their properties and current values. Essential for debugging effect issues. |
| get_sequence_structureA | Get a complete structural overview of the active sequence: all tracks, all clips with positions, gaps, and clip metadata. Essential for understanding timeline state before making edits. |
| get_premiere_stateA | Get a comprehensive snapshot of the current Premiere Pro state: project info, active sequence, playhead position, selected clips, and available sequences. The best first call to understand the current context. |
| get_full_project_overviewA | Get a comprehensive overview of the project. Use include_bin_tree false or sequence_offset/sequence_limit for a bounded response on large projects. |
| get_bin_contentsA | Get detailed contents of a specific bin (folder) including all nested items, media paths, offline status, color labels, and metadata. Searches by bin name or node ID. |
| get_full_sequence_infoA | Get exhaustive information about a sequence: settings, all tracks with lock/mute/target state, all clips with positions/effects/speed/enabled state, all markers, transitions, in/out points, and work area. |
| get_full_clip_infoA | Get exhaustive information about a specific clip: all effects with every property value, source media details, footage interpretation, metadata, markers, speed, enabled state, color label, linked clips, and proxy status. |
| get_project_item_infoA | Get detailed information about a project item (media file in the project panel): media path, resolution, duration, frame rate, codec info, metadata, color label, offline status, in/out points, and proxy status. |
| search_project_itemsA | Search for project items by name, media file extension, offline status, or color label. Returns matching items with full details. |
| get_timeline_gapsA | Find all gaps (empty spaces) on the timeline between clips. Useful for identifying where content is missing or where clips can be tightened. |
| get_timeline_summaryA | Get a human-readable summary of the timeline: total duration, clip count per track, total gaps, coverage percentage, used media files, effect usage, and marker overview. Great for a quick understanding of sequence state. |
| get_offline_mediaA | Find all offline/missing media in the project with their expected file paths. Essential for diagnosing broken links. |
| get_used_media_reportA | Get a report of all media files used in a sequence: which source files are used, how many times each appears, on which tracks, and whether any sources are offline. |
| inspect_edit_readinessA | Audit the active sequence in one read-only bridge request for empty timelines, primary-track gaps, disabled clips, muted tracks, and excessive Motion scale. Structural diagnostics only; it cannot judge story, framing, sound, or final delivery. |
| inspect_sequence_review_reportA | Build one read-only sequence handoff report with timeline structure, primary-track gaps, disabled clips, muted tracks, marker timing, and offline-source evidence. Media paths are never returned; marker comments require an explicit opt-in. It does not prove rendered pixels, audio quality, caption correctness, rights, or editorial approval. |
| select_clips_by_nameA | Select all clips in the active sequence that match a name (substring match). Optionally filter by track type and index. |
| select_all_clipsA | Select all clips in the active sequence, or all clips on a specific track. |
| deselect_all_clipsA | Deselect all clips in the active sequence. |
| select_clips_in_rangeA | Select all clips that overlap a time range in the active sequence. |
| select_clips_by_colorB | Select all clips whose source project item has a specific color label. |
| invert_selectionA | Invert the current clip selection in the active sequence (selected become deselected and vice versa). |
| select_disabled_clipsA | Select all disabled clips in the active sequence. |
| copy_effects_between_clipsA | Copy all effects (or a specific effect) from one clip to another. Does not copy intrinsic properties like Motion/Opacity unless specified. |
| copy_effect_valuesA | Copy verified scalar effect-property values from one effect to the matching effect on another clip. Both clips must already have the same effect applied. Legacy CEP deliberately refuses Blend Mode because Premiere can corrupt its enum value on cross-clip writes. |
| replace_clip_mediaB | Unavailable by design: the legacy ExtendScript overwrite route cannot prove that replacing media preserves the original clip's trim, position, linked audio, or adjacent clips, so this tool performs no mutation. |
| batch_apply_effectA | Apply one audio or video effect to compatible selected clips, a compatible track, or all compatible clips. Every target is preflighted and then checked by component-count readback. |
| remove_effect_by_nameA | Remove all instances of a specific effect from a clip by display name. Returns a capability error when the host cannot remove individual components. |
| set_blend_modeA | Set the blend mode on a video clip. Uses the Opacity effect's Blend Mode property. |
| open_in_sourceA | Open a project item in the Source Monitor for preview and trimming. |
| close_source_monitorA | Close the clip currently open in the Source Monitor. |
| close_all_source_clipsA | Close all clips in the Source Monitor. |
| set_source_in_outA | Set in and/or out points on the clip currently open in the Source Monitor. |
| insert_from_sourceA | Insert the clip from the Source Monitor at the playhead position (insert edit — shifts existing clips). |
| overwrite_from_sourceB | Overwrite the clip from the Source Monitor at the playhead position (overwrite edit — replaces existing clips). |
| get_source_monitor_infoA | Get information about the clip currently loaded in the Source Monitor. |
| set_target_trackA | Set a track as targeted (active for insert/overwrite edits). Only one video and one audio track can be targeted at a time. |
| get_target_tracksA | Get which tracks are currently targeted for editing. |
| set_all_tracks_targetedA | Set all tracks targeted or untargeted. Useful before insert/overwrite edits. |
| rename_trackA | Rename a video or audio track. |
| get_track_infoA | Get detailed information about a specific track: name, clip count, muted, locked, targeted, and list of all clips. |
| razor_all_tracksA | Razor (split) all clips at the playhead position across all tracks, or at a specific time. |
| set_clip_start_timeA | Set the start time (timecode offset) of a project item. This shifts where timecode begins for the source media. |
| clear_item_in_outA | Clear in and/or out points on a project item (reset to full duration). |
| set_item_in_outA | Set in and/or out points on a project item in the project panel (marks source range for editing). |
| import_image_sequenceA | Import a numbered image sequence as a single video clip. |
| set_clip_positionA | Set the Position property on a video clip's Motion effect. Values are in pixels. |
| set_clip_scaleA | Set the Scale property on a video clip's Motion effect. |
| set_clip_rotationA | Set the Rotation property on a video clip's Motion effect. |
| set_clip_anchor_pointA | Set the Anchor Point property on a video clip's Motion effect. |
| set_clip_opacityB | Set the opacity of a video clip (0-100). |
| set_clip_volumeA | Set an audio clip's Volume > Level in dB. Does not read or change Essential Sound Amplify automation. |
| get_clip_volumeA | Read an audio clip's Volume > Level in dB. Use this to verify a level actually applied - setValue() clamps silently. Does not report Essential Sound Amplify automation. |
| set_clips_volumeA | Set the volume (in dB) on every audio clip of a track, or on a list of clip indices. One round trip instead of one call per clip - essential for sequences with dozens of clips. |
| set_clip_panA | Set and read back the pan (left/right balance) on an audio clip, including Channel Volume layouts. |
| batch_rename_clipsA | Rename multiple clips on the timeline using a pattern. Supports sequential numbering. |
| batch_enable_disableB | Enable or disable multiple clips at once (selected, track, or all). |
| remove_selected_clipsB | Remove all currently selected clips from the timeline. |
| clear_sequence_in_outA | Clear the in and/or out points on the active sequence. |
| get_encoder_presetsA | List available Adobe Media Encoder export presets, with the .epr path of each so it can be passed to export_sequence or encode_project_item. Presets are discovered by scanning the .epr files Adobe ships on disk (Premiere's ExtendScript API exposes no preset enumeration). |
| get_qe_clip_infoA | Get QE DOM information about a clip, including properties not available through the standard API. |
| redoA | Unavailable: Premiere exposes no supported, observable redo-stack API, so a scripted redo cannot be performed or verified. |
| multiple_undoA | Unavailable: Premiere exposes no supported, observable undo-stack API for multiple scripted undo steps. |
| set_poster_frameA | Set the poster frame (thumbnail) for a project item at a specific time. |
| get_version_infoA | Get Premiere Pro version and build information. |
| move_items_to_binA | Move multiple project items to a target bin at once. |
| set_anti_alias_qualityA | Set the anti-alias quality on a clip's Motion effect (useful for scaled/rotated clips). |
| set_uniform_scaleA | Toggle uniform scale on a clip's Motion effect. When enabled, Scale Width and Scale Height are linked. |
| set_scale_width_heightA | Set independent Scale Width and Scale Height on a clip (requires Uniform Scale to be OFF). |
| delete_project_itemA | Delete a project item (clip, bin, etc.) from the project panel. This removes it from the project but does not affect timeline instances. |
| delete_multiple_project_itemsB | Delete multiple project items at once from the project panel. |
| rename_project_itemA | Rename a project item in the project panel. |
| add_adjustment_layerA | Add an adjustment layer to the active sequence via QE DOM. The layer is added at the playhead position on the specified track. |
| freeze_frameA | Create a freeze frame from a clip at a specific time. Exports the frame and imports it back as a still image. |
| set_sequence_frame_rateB | Change the frame rate of the active sequence. |
| set_sequence_resolutionA | Change the resolution (frame size) of the active sequence. |
| set_sequence_audio_settingsA | Change audio settings of the active sequence (sample rate, channel type). |
| set_sequence_pixel_aspect_ratioA | Change the pixel aspect ratio of the active sequence, or return a capability error when the legacy host does not expose a writable setting. |
| set_sequence_field_typeA | Set the field order of the active sequence. |
| get_all_project_pathsA | Get all unique media file paths used in the project. Useful for asset management and archiving. |
| get_unused_mediaA | Find all project items that are NOT used in any sequence. Useful for cleaning up projects. |
| get_duplicate_mediaA | Find project items that reference the same source media file. Useful for consolidation. |
| lift_selectionA | Lift (remove without closing gap) the content between sequence in/out points or selected clips. |
| extract_selectionA | Extract (remove and close gap) the content between sequence in/out points. |
| get_clip_linksB | Get information about linked clips (audio/video linked together) for a given clip. |
| get_sequence_markers_by_typeA | Get all markers of a specific type (comment, chapter, web link, etc.) from a sequence. |
| get_clip_markersA | Get all markers on a specific project item (source clip markers, not sequence markers). |
| add_marker_to_project_itemB | Add a marker to a project item (source clip marker). |
| set_sequence_display_formatA | Set the timecode display format for the active sequence. |
| get_clip_at_playheadA | Get all clips at the current playhead position across all tracks. |
| get_next_edit_pointA | Find the next or previous edit point (clip boundary) from the playhead position. |
| move_playhead_to_editB | Move the playhead to the next or previous edit point. |
| set_project_scratch_diskB | Set the project's scratch disk paths for captured video, audio, and previews. |
| get_project_scratch_disksA | Get the current scratch disk paths for the project. |
| nest_clipsC | Unavailable on the legacy CEP backend: Premiere's documented createSubsequence API only creates a separate sequence and cannot safely replace the selected timeline clips with a nested-sequence reference. |
| get_sequence_countA | Get the total number of sequences in the project. |
| get_total_clip_countA | Get the total number of clips across all tracks in the active sequence. |
| match_frameA | Get source media info for the frame at the current playhead on a specific track. Useful for match frame operations. |
| get_workspacesA | List all available workspace layouts in Premiere Pro |
| set_workspaceA | Switch to a specific workspace layout (e.g., 'Editing', 'Color', 'Audio', 'Effects', 'Graphics') |
| create_caption_trackA | Import an already reviewed caption artifact into the active sequence, or create a local lecture-caption timing and review workflow plan. Import reports structural success only when the host exposes a caption-track readback; the planning action never contacts Premiere or changes an artifact. |
| play_timelineA | Request playback of the active sequence timeline through QE. The legacy API does not provide a same-call playhead readback, so movement is not reported as verified. |
| stop_playbackA | Request that active-sequence timeline playback stop through QE. The legacy API does not provide a same-call playhead readback, so stopped state is not reported as verified. |
| play_source_monitorA | Request playback of the clip in the Source Monitor. The legacy API does not provide a same-call position readback, so movement is not reported as verified. |
| get_source_monitor_positionA | Get the current time indicator position in the Source Monitor |
| consolidate_and_transferB | Consolidate, copy, or transcode project media using the Project Manager. Reports success only after a new destination folder contains a copied Premiere project. |
| preview_edit_planA | Validate and preview a compound timeline edit without changing Premiere. Returns a confirmation token required by apply_edit_plan. |
| apply_edit_planA | Apply a previously previewed compound edit after revalidating every target. Requires the edit capability and exact preview confirmation token. |
| preview_motion_graphics_demoA | Preview a contained motion-graphics demo assembly from existing project items. It never creates demo assets, imports files, creates a sequence, or changes Premiere; apply requires an exact confirmation token. |
| preview_product_spotA | Preview a product-spot assembly from existing project items. The eventual apply is limited to explicit empty tracks, revalidates item IDs, and reports host readback without claiming visual delivery verification. |
| preview_brand_spotA | Preview a brand-spot assembly from existing project items with an optional workspace-contained MOGRT overlay. Preview is local-only; it does not read or import the MOGRT file. |
| apply_spot_workflow_planA | Apply one exact previewed motion-demo, product-spot, or brand-spot plan. Requires edit authority, requires filesystem authority for a MOGRT, and only targets empty explicitly named tracks. Host readback is not playback or render verification. |
| get_av_feature_supportA | Report the documented automation boundary for advanced audio and modern color management, including actionable reasons for UI-only features. |
| inspect_sequence_av_settingsA | Inspect documented audio, tone-mapping, linear-compositing, bit-depth, render-quality, and display settings for the active sequence. |
| inspect_project_item_av_metadataA | Inspect a project item's documented effective/original color space, LUT IDs, available color-space overrides, and audio channel shape. |
| set_project_item_audio_channel_mappingC | Map one output audio channel of a project item to a source channel using Premiere's documented AudioChannelMapping API. |
| create_project_backupA | Create a collision-safe, byte-verified backup beside an existing .prproj file without opening or modifying the source project. |
| inspect_project_recoveryA | Read-only recovery inspection: diagnose the active project path and list adjacent Premiere Auto-Save project candidates without opening, copying, or restoring anything. |
| get_bridge_telemetryA | Inspect privacy-preserving aggregate bridge health: pending command/response counts, busy operations, queue age, and CEP heartbeat state without returning project or personal data. |
| preview_project_intakeA | Inspect a bounded Premiere project against an explicit facility intake template and return a path-redacted report plus a non-mutating organization proposal. It never changes Premiere or persists the template. |
| analyze_dialogue_edit_candidatesA | Analyze caller-supplied, revision-bound transcript segments and optional local silence ranges for deterministic dialogue-edit candidates. It never calls a model, persists transcript text, or changes Premiere. |
| search_workflow_recipesA | Search audited built-in and explicitly supplied workspace-local workflow recipes. Recipes are declarative previews and cannot execute arbitrary tools or scripts. |
| preview_workflow_recipeA | Validate and expand one declarative workflow recipe into guarded MCP routes. It does not invoke any route or change Premiere. |
| diff_sequence_snapshotsA | Diff two sequence snapshots (from get_sequence_structure or inspect_sequence_structure_uxp) into added, removed, moved, trimmed, retimed, enabled, and renamed clip changes with frame deltas, per-track counts, and EDL-like timecode lines. Local-only; never reads or changes Premiere. |
| audit_timeline_healthA | Audit one sequence snapshot for flash frames, gaps, overlaps, disabled clips, repeated shots, video without audio, extreme speed, invalid times, empty tracks, leading black, and trailing gaps; returns a 0..100 score, findings with timecodes, and fix routes. Local-only; never changes Premiere. |
| plan_cross_app_workflowA | Plan an After Effects MOGRT or rendered-file handoff to Premiere using existing tools. Returns ordered dependencies, separate approvals, required evidence, and manual render stops. Local-only planning; never executes steps, issues approval tokens, or claims host readiness. |
| plan_speaker_checkerboardA | Plan a speaker checkerboard (each speaker's turns on their own video/audio track) from a caller-supplied word timeline. Returns frame-snapped segments, split points, track assignments, and the add_track/razor_all_tracks/move_clip_to_track routes. Local-only; never changes Premiere. |
| plan_active_speaker_reframeA | Plan an active-speaker vertical reframe (Motion Scale/Position keyframes that follow whoever is talking) or a static stacked/split layout from a word timeline and static speaker regions. Returns framings, switches, keyframes, and apply routes. Local-only; never changes Premiere. |
| plan_emphasis_zoom_keyframesA | Plan CapCut-style punch-in zoom keyframes (Motion Scale + subject-anchored Position) from a word timeline or supplied trigger times, with cooldown, easing, and hold controls. Local-only and deterministic; returns a keyframe plan for automate_effect_parameters_uxp or add_keyframe and never changes Premiere. |
| plan_beat_montageA | Plan a beat-synced montage: carve a detect_beats grid into shots every N beats (merging short and splitting long spans), assign clips in order, and emit add_to_timeline_batch chunks, trim ranges, and cut markers. Local-only and deterministic; never changes Premiere. |
| rank_short_form_candidatesA | Rank long-video transcript windows as short-form clip candidates using explainable local heuristics (hook, completeness, density, supplied evidence peaks, keywords, duration fit, speaker consistency) with overlap suppression. Local-only plan; not a virality prediction and never changes Premiere. |
| plan_chapter_markersA | Plan YouTube-style chapters from a word-timed transcript using local TextTiling-lite topic-shift detection, titling each chapter from its distinctive tokens. Returns chapters, a youtube_timestamps block and add_marker-ready Chapter markers. Local-only plan; never changes Premiere. |
| build_caption_artifactA | Build a CapCut/Submagic-style SRT or VTT caption artifact from a caller-supplied word timeline: balanced word groups, sentence-aware breaks, min/max cue durations, optional karaoke word timestamps (VTT), emphasis and speaker markup. Local-only; returns the artifact inline or writes it inside an approved workspace and never changes Premiere. |
| check_caption_safe_zoneA | Check caption, title, logo, and graphic rectangles against approximate platform UI overlay zones (TikTok, Reels, Shorts, feed, YouTube, LinkedIn, X) and suggest the nearest clear position. Local-only geometry on caller-supplied normalized rects; it never reads or changes Premiere. |
| plan_filler_word_removalA | Plan word-level filler removal (um, uh, you know...) from a revision-bound word timeline. Returns frame-snapped removal and keep ranges plus apply routes. Local-only; never changes Premiere. |
| plan_pause_tighteningA | Plan shortening (not deleting) of inter-word pauses longer than max_pause_seconds down to a target, respecting sentence boundaries. Returns centered removal ranges, keep ranges, savings and apply routes. Local-only; never changes Premiere. |
| plan_word_mute_rangesA | Plan mute or bleep ranges for listed words/phrases in a word timeline. Returns redacted, frame-snapped mute ranges, ready-to-apply audio keyframes and (for bleep) tone placements. Local-only; never changes Premiere. |
| detect_repeated_takesA | Detect repeated sentence takes (retakes) in a word timeline using token similarity within a time window, and plan removal of all but the kept take. Returns take groups, removal and keep ranges, and apply routes. Local-only; never changes Premiere. |
| plan_platform_delivery_matrixA | Plan multi-ratio delivery of one source sequence to TikTok, Reels, Shorts, YouTube, LinkedIn, X, and Facebook from a local spec table: sequence settings, reframe scale math, duration and file-size fit, caption safe zones, and ordered apply routes. Local-only; never changes Premiere. |
| validate_platform_publish_packageA | Validate a rendered file plus title, description, hashtags, and content flags against one platform's approximate 2026 publish limits. Returns hard violations, soft warnings, normalized hashtags, and character counts. Local-only; never uploads or changes Premiere. |
| manage_project_contextA | Capture, enrich, import revision-bound editorial evidence, inspect, or clear a durable local Premiere project-context index. Capture stores bounded active-sequence/source metadata; local enrichment and evidence import add caller-approved transcripts, speaker labels, shots, audio observations, notes, or opaque frame references without re-analyzing media. Never include secrets or unrelated customer data. |
| search_project_contextA | Search a durable Premiere project-context index for relevant sources, timeline placements, transcript passages, shots, audio observations, and notes. Returns bounded evidence with stable IDs and revisions; it never changes Premiere. |
| create_context_edit_planA | Create a non-mutating, evidence-backed edit-plan scaffold from indexed Premiere context. It returns ranked source/time candidates and stale-state guards; the model must review them and use preview_edit_plan before any mutation. |
| create_editorial_context_packA | Create a compact Markdown reading view from already captured local transcript, shot, audio, note, source, or timeline context. It returns stable evidence IDs and context revisions for review, never calls an AI/provider or Premiere, and cannot change the project. |
| inspect_film_editorial_workflowA | Validate a revision-bound film editorial manifest against captured source and timeline identities. Build complete declared coverage review groups, independent picture/audio preferences, screening-note exceptions, story dependencies, VFX state, change impact and a department turnover manifest. Local inspection only: no host edits, exports, automatic creative decisions or verified host claims. |
| create_editorial_planA | Create a local, evidence-backed editorial workflow plan from captured project context. It never calls an LLM, uploads media, or changes Premiere. |
| preview_editorial_planA | Revalidate an exact server-issued editorial plan against the saved project-context revisions and return an opaque confirmation token. This tool is read-only and cannot apply the plan. |
| import_edlA | Unavailable by design: CMX 3600 EDL import opens Premiere UI that can block the CEP bridge. No import is attempted; convert the EDL to FCP7 XML and use import_fcp_xml for unattended interchange. |
| add_to_timeline_batchA | Insert up to 32 project items in one validated CEP request. All items and target tracks are preflighted before the first insertion; every requested placement is read back, and the tool fails closed if Premiere cannot verify one. |
| crop_clipA | Apply or update Premiere's Crop effect on one video clip and read back every requested value. Adding Crop uses the legacy QE catalog only when the clip does not already contain it. |
| setup_duckingA | Build a verified Volume > Level keyframe curve for one audio clip. Ducking-window times are relative to that clip's start; overlapping or out-of-range windows are rejected before any keyframe write. |
| validate_project_for_exportA | Run a non-mutating export readiness audit for an active or named sequence. It reports blocking offline media, empty timelines, inaccessible preset/output paths, duration, and optional timeline gaps without queuing an export. |
| read_sequence_captionsA | Diagnose whether the active Premiere scripting host can enumerate caption tracks. It never treats an empty result as proof that the sequence has no captions, because most CEP builds expose caption creation but not caption reads. |
| set_clip_properties_batchA | Apply Motion/Opacity values to up to 16 clips after preflighting every target property. The handler reads each requested value back and never reports a partial batch as verified. |
| detect_scene_editsB | Safe scene-edit facade. It uses the authenticated Premiere UXP bridge when connected and explicitly confirmed; CEP fallback is intentionally withheld because synchronous scene detection can block the panel. |
| manage_media_watchA | Start, inspect, rescan, or stop one session-scoped local media-folder monitor. It records bounded file-change signals and never imports media automatically. |
| preview_watched_media_importA | Compare the active watch baseline with a fresh contained scan and return a path-redacted import proposal. It never imports or changes Premiere. |
| get_advanced_feature_supportB | Report public-API support, prerequisites, entitlements, and user-assisted boundaries for Premiere collaboration and AI features |
| get_capabilitiesA | Discover Premiere operations and report backend coverage, authority, and verification requirements. Use tool_query with task keywords (for example transcript, captions, or review frames) for ranked, bounded matches available in this session. Use tool_names for exact lookups or tool_offset/tool_limit for paging. Discovery never grants authority or proves a live host is ready. |
| pingA | Health check — verify the CEP plugin is running and connected to Premiere Pro. Call this before other tools to confirm connectivity. |
| verify_premiere_connectionA | Run a safe, read-only first-run check. It proves that this MCP server, the selected Premiere bridge, an active project, and an active sequence are connected without returning project names, paths, or media details. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| premiere-film-editorial | Capture source and timeline context, supply an explicit film manifest, inspect coverage and review layouts, resolve revision-bound notes and turnover exceptions, then use separately guarded host tools for approved edits and exports. |
| premiere-rough-cut | Inspect the project, import media, create or select a sequence, assemble clips, then verify and save. |
| premiere-project-intake | Inspect a bounded project against an explicit facility template and return a path-redacted intake report and non-mutating organization proposal. |
| 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. |
| premiere-contextual-rough-cut | Capture reusable project context, retrieve only evidence relevant to the edit intent, create a revision-guarded plan, then preview before applying. |
| premiere-transcript-first-context | Capture explicit local transcript and media evidence, compact only the passages relevant to the intent, then review stable evidence IDs and revisions before proposing an edit. |
| premiere-transcript-rough-cut | Export Premiere's native transcript, select revision-locked source ranges, map them to verified 1x placements in a duplicate sequence, then execute the descending cut plan with re-query verification. |
| premiere-project-organization | Capture project context, supply explicit editorial categories, create and preview a review-only organization plan, then use its guarded apply route with stable-ID bin operations. Direct organize_project_items_uxp use is advanced/manual only. |
| premiere-ai-assisted-stringout | Retrieve relevant local evidence, produce a review-only stringout plan, resolve selected project items, then create and verify a new sequence. |
| premiere-caption-artifact-review | Use existing transcript evidence to review a supplied caption artifact, import it deliberately, create a caption track, and verify playback before delivery. |
| premiere-platform-cutdown | Capture source-sequence context, propose bounded platform dimensions, review derivative sequence routes, then create and verify each cutdown deliberately. |
| premiere-dialogue-first-cut | Analyze supplied transcript evidence locally, review deterministic candidates, lock source revisions, then create and structurally verify a new ordinary sequence. |
| premiere-podcast-first-cut | Review speaker and synchronization assignments, bind every camera segment to a transcript revision and master-audio range, then create a new ordinary sequence without changing sources. |
| premiere-watched-media-intake | Start a session-scoped local watcher, inspect its path-redacted candidate set, then deliberately import only approved files. |
| premiere-recipe-driven-edit | Select a built-in or workspace-local declarative recipe, review its allowlisted tool manifest, then execute each step through the normal guarded tools. |
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-live-project-info | Bounded, read-only current-project summary with no native paths. |
| premiere-live-project-sequences | Bounded, read-only sequence inventory with stable Premiere IDs. |
| premiere-live-project-media | Bounded, path-redacted media inventory for planning and inspection. |
| premiere-live-project-bins | Bounded, path-redacted bin inventory for project organization planning. |
| premiere-live-active-timeline | Bounded, read-only active-timeline tracks, clips, and markers snapshot. |
| premiere-available-effects | Bounded, read-only effect catalog for planning; no file paths or mutations. |
| premiere-applied-effects | Bounded, read-only component inventory for the active timeline; no file paths. |
| premiere-available-transitions | Bounded, read-only transition catalog for planning; no file paths or mutations. |
| premiere-export-presets | Bounded, read-only export-preset names and formats with native paths withheld. |
| premiere-project-metadata | Read-only project and active-timeline metadata summary with paths and timestamps withheld. |
| premiere-workflows | High-level, safety-oriented Premiere Pro workflow catalog |
| premiere-project-context | Revisioned local project-context indexing and retrieval workflow |
| extendscript-reference | Complete Premiere Pro ExtendScript API reference for writing custom scripts via execute_extendscript |
TDQS
Scored across 367 tools
With 367 tools there is massive overlap: get_active_sequence, get_sequence_structure, get_full_sequence_info, inspect_sequence_review_report, get_timeline_summary and inspect_edit_readiness all describe reading sequence state, and add_track vs add_tracks, add_transition vs add_transition_to_clip vs batch_add_transitions, remove_effect vs remove_effect_by_name vs remove_all_effects blur together. An agent cannot reliably pick the right tool among these near-duplicates, and many stubs (undo, redo, multiple_undo, speed_change, reverse_clip, nest_clips, replace_clip_media) add further confusion.
The overwhelming majority of tools use a consistent snake_case verb_noun pattern (get_clip_properties, add_marker, create_sequence, export_sequence). A few outliers (speed_change, match_frame, freeze_frame, ping, undo, redo) deviate but are minor and still readable.
367 tools is an extreme mismatch for any coherent server scope, far exceeding the 50+ threshold. The set is heavily padded with unavailable stubs, preview/apply token pairs, batch vs single variants, and numerous overlapping inspection/analysis tools that do not each earn a distinct place.
Domain coverage is genuinely broad: project/item/sequence CRUD, timeline editing, effects, keyframes, markers, audio, export, proxies, MOGRT/AE handoff, and extensive analysis/planning surfaces are all present, so few workflows dead-end. The main shortfall is that many lifecycle operations are declared unavailable (undo/redo, speed change, nest, replace media), leaving some gaps despite the volume.