You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PremierPro MCP Server -- Comprehensive Feature Plan
Master plan for every MCP tool the PremierPro MCP Server will expose. Each tool maps to one or more Adobe Premiere Pro ExtendScript/QE DOM operations, orchestrated through the four-language stack (Go orchestration, Rust media processing, Python intelligence, TypeScript ExtendScript bridge).
Current state: 16 tools implemented (Phase 0). This plan adds ~230 additional tools across 7 phases.
sequence_id (string): sequence ID (default: active); start_time_ticks (string, required): start time in ticks
Go -> TS
2.3 Nested Sequences & Work Area
#
Tool Name
Description
Parameters
Language
43
premiere_nest_clips
Nest selected clips into a subsequence
sequence_id (string, required): parent sequence ID; clip_ids (string[], required): clip IDs to nest; nested_name (string): name for the nested sequence
Go -> TS
44
premiere_set_work_area
Set the work area in/out points
sequence_id (string): sequence ID (default: active); in_seconds (float, required): work area in point; out_seconds (float, required): work area out point
Go -> TS
45
premiere_render_previews
Render preview files for the work area
sequence_id (string): sequence ID (default: active)
Go -> TS
46
premiere_delete_render_files
Delete rendered preview files for a sequence
sequence_id (string): sequence ID (default: active)
Go -> TS
Phase 3 -- Clip Operations & Trimming
Placing, manipulating, and trimming clips on the timeline.
3.1 Clip Placement
#
Tool Name
Description
Parameters
Language
47
premiere_insert_clip
Insert a clip (ripple insert) at the playhead or time
item_id (string, required): project item ID; time_seconds (float, required): insertion point in seconds; video_track (int): video track index (default: 0); audio_track (int): audio track index (default: 0)
Go -> TS
48
premiere_overwrite_clip
Overwrite-place a clip at a position
item_id (string, required): project item ID; time_seconds (float, required): position in seconds; video_track (int): video track index (default: 0); audio_track (int): audio track index (default: 0)
Go -> TS
49
premiere_lift_clip
Lift a clip from the timeline (leave gap)
clip_id (string, required): clip ID; sequence_id (string, required): sequence ID
Go -> TS
50
premiere_extract_clip
Extract a clip from the timeline (close gap)
clip_id (string, required): clip ID; sequence_id (string, required): sequence ID
Go -> TS
51
premiere_ripple_delete
Delete a clip and close the resulting gap
clip_id (string, required): clip ID; sequence_id (string, required): sequence ID
Go -> TS
52
premiere_copy_clips
Copy clips to the internal clipboard
clip_ids (string[], required): array of clip IDs; sequence_id (string, required): sequence ID
Find the source frame matching the current playhead position
sequence_id (string): sequence ID (default: active); track_index (int): target video track (default: topmost with clip)
Go -> TS
60
premiere_reverse_match_frame
Find the timeline position of the current source monitor frame
item_id (string, required): project item ID; time_seconds (float, required): source time position
Go -> TS
3.3 Razor / Split
#
Tool Name
Description
Parameters
Language
61
premiere_razor_at_time
Split clip(s) at a specific time on specified tracks
sequence_id (string): sequence ID (default: active); time_seconds (float, required): cut point in seconds; track_index (int): specific track (-1 for all targeted tracks); track_type (string): "video", "audio", or "both" (default: "both")
Go -> TS (QE)
62
premiere_razor_all_tracks
Razor (split) all tracks at a specific time
sequence_id (string): sequence ID (default: active); time_seconds (float, required): cut point in seconds
Go -> TS (QE)
3.4 Trimming
#
Tool Name
Description
Parameters
Language
63
premiere_ripple_trim
Ripple trim a clip edge (adjusts subsequent clips)
clip_id (string, required): clip ID at the edit point; sequence_id (string, required): sequence ID; edge (string, required): "in" or "out"; delta_seconds (float, required): amount to roll
Go -> TS
65
premiere_slip_clip
Slip a clip (change source in/out without moving it on timeline)
clip_id (string, required): clip ID; sequence_id (string, required): sequence ID; in_seconds (float): new source in point; out_seconds (float): new source out point
Go -> TS
Phase 4 -- Effects, Transitions & Motion
Visual effects, transitions, audio effects, motion properties, and keyframing.
4.1 Video Transitions
#
Tool Name
Description
Parameters
Language
70
premiere_apply_video_transition
Apply a video transition to a clip edge or between clips
sequence_id (string, required): sequence ID; track_index (int, required): video track index; clip_index (int, required): clip index on the track; transition_name (string, required): transition name (e.g., "Cross Dissolve", "Dip to Black"); duration_seconds (float): transition duration (default: 1.0); alignment (string): "center", "start", "end" (default: "center"); apply_to_end (bool): apply to end of clip (default: true)
clip_id (string, required): clip ID; sequence_id (string, required): sequence ID; effect_index (int, required): index of the effect component to remove
clip_id (string, required): clip ID; sequence_id (string, required): sequence ID; level_db (float, required): volume in dB (0 = unity); use_keyframe (bool): set as keyframe at current position (default: false)
Go -> TS
103
premiere_set_audio_gain
Set audio gain on a project item (source level)
item_id (string, required): project item ID; gain_db (float, required): gain in dB; normalize_peak (bool): normalize to peak (default: false); normalize_target_db (float): normalization target (default: -3)
sequence_id (string): sequence ID (default: active); time_seconds (float, required): marker position; name (string): marker name; comments (string): marker comments; duration_seconds (float): marker duration (0 for point marker); color_index (int): color index 0-7; type (string): "comment", "chapter", "segmentation", "web_link" (default: "comment")
Go -> TS
117
premiere_add_clip_marker
Add a marker to a project item (source clip)
item_id (string, required): project item ID; time_seconds (float, required): marker position; name (string): marker name; comments (string): marker comments; duration_seconds (float): marker duration; color_index (int): color index
Go -> TS
118
premiere_edit_marker
Edit an existing marker's properties
sequence_id (string): sequence or item ID; marker_index (int, required): index of the marker; name (string): new name; comments (string): new comments; color_index (int): new color; duration_seconds (float): new duration; type (string): new marker type
Go -> TS
119
premiere_delete_marker
Delete a marker from a sequence or clip
sequence_id (string): sequence or item ID; marker_index (int, required): index of the marker to delete
Go -> TS
120
premiere_get_markers
Get all markers from a sequence or clip
sequence_id (string): sequence ID (default: active); item_id (string): project item ID (if querying clip markers)
Go -> TS
121
premiere_navigate_to_marker
Move playhead to a specific marker
sequence_id (string): sequence ID (default: active); marker_index (int): go to marker by index; direction (string): "next" or "previous" relative to playhead
Go -> TS
122
premiere_add_markers_from_regions
Batch-add markers from silence detection regions
sequence_id (string): sequence ID (default: active); regions (object[], required): array of {time_seconds, name, color_index}
Go -> Rust + TS
123
premiere_export_markers
Export all markers as JSON, CSV, or EDL
sequence_id (string): sequence ID (default: active); format (string): "json", "csv", "edl" (default: "json"); output_path (string): write to file (otherwise return in response)
Go -> TS
5.4 Playback & Navigation
#
Tool Name
Description
Parameters
Language
124
premiere_get_playhead_position
Get the current playhead position
sequence_id (string): sequence ID (default: active)
Go -> TS
125
premiere_set_playhead_position
Set the playhead to a specific time
sequence_id (string): sequence ID (default: active); time_seconds (float, required): target time in seconds
Go -> TS
126
premiere_step_forward
Step forward by one frame
sequence_id (string): sequence ID (default: active); frames (int): number of frames to step (default: 1)
Go -> TS
127
premiere_step_backward
Step backward by one frame
sequence_id (string): sequence ID (default: active); frames (int): number of frames to step back (default: 1)
Go -> TS
128
premiere_go_to_start
Move playhead to the start of the sequence
sequence_id (string): sequence ID (default: active)
Go -> TS
129
premiere_go_to_end
Move playhead to the end of the sequence
sequence_id (string): sequence ID (default: active)
Go -> TS
5.5 In/Out Points
#
Tool Name
Description
Parameters
Language
130
premiere_set_in_point
Set the sequence in point
sequence_id (string): sequence ID (default: active); time_seconds (float, required): in point time
Go -> TS
131
premiere_set_out_point
Set the sequence out point
sequence_id (string): sequence ID (default: active); time_seconds (float, required): out point time
Go -> TS
132
premiere_clear_in_out
Clear the sequence in and/or out points
sequence_id (string): sequence ID (default: active); clear (string): "in", "out", or "both" (default: "both")
Go -> TS
133
premiere_get_in_out_points
Get current in/out point times
sequence_id (string): sequence ID (default: active)
Go -> TS
134
premiere_mark_clip
Set in/out points around a clip at the playhead
sequence_id (string): sequence ID (default: active); track_index (int): target track
Go -> TS
135
premiere_mark_selection
Set in/out points around the current selection
sequence_id (string): sequence ID (default: active)
Text/graphics, captions, track operations, and advanced export.
6.1 Titles & Graphics
#
Tool Name
Description
Parameters
Language
136
premiere_add_mogrt
Import and place a Motion Graphics Template (.mogrt)
mogrt_path (string, required): path to .mogrt file; sequence_id (string): sequence ID (default: active); time_seconds (float): position on timeline (default: 0); track_index (int): video track; duration_seconds (float): duration; video_offset (int): video track offset; audio_offset (int): audio track offset
Go -> TS
137
premiere_modify_mogrt_text
Modify text within a placed Motion Graphics Template
clip_id (string, required): clip ID of the mogrt on timeline; sequence_id (string, required): sequence ID; param_name (string, required): parameter name in the .mogrt; value (string, required): new text value
Go -> TS
138
premiere_create_text_layer
Create a text clip (via Essential Graphics .mogrt template)
sequence_id (string): sequence ID (default: active); text (string, required): text content; font_family (string): font name (default: "Arial"); font_size (float): size in points (default: 60); color (string): hex color (default: "#FFFFFF"); position_x (float): normalized X 0-1 (default: 0.5); position_y (float): normalized Y 0-1 (default: 0.5); alignment (string): "left", "center", "right" (default: "center"); track_index (int): video track; time_seconds (float): start time; duration_seconds (float): duration (default: 5.0)
Go -> TS
139
premiere_create_lower_third
Create a lower-third title from template
sequence_id (string): sequence ID (default: active); title_text (string, required): main title text; subtitle_text (string): subtitle text; mogrt_path (string): custom lower-third template path; time_seconds (float): start time; duration_seconds (float): duration (default: 5.0); track_index (int): video track
Go -> TS
140
premiere_create_title_card
Create a full-screen title card from template
sequence_id (string): sequence ID (default: active); title_text (string, required): title text; subtitle_text (string): optional subtitle; mogrt_path (string): custom title card template; time_seconds (float): start position; duration_seconds (float): duration (default: 5.0); background_color (string): hex background color
Go -> TS
141
premiere_create_shape
Create a shape layer (solid color mat)
name (string): layer name (default: "Color Matte"); width (int): width in pixels; height (int): height in pixels; color_r (int): red 0-255; color_g (int): green 0-255; color_b (int): blue 0-255
Go -> TS
142
premiere_modify_text_properties
Modify text properties on an existing text clip
clip_id (string, required): clip ID; sequence_id (string, required): sequence ID; text (string): new text content; font_family (string): new font; font_size (float): new size; color (string): new hex color; stroke_color (string): stroke hex color; stroke_width (float): stroke width; shadow_enabled (bool): enable drop shadow; shadow_color (string): shadow hex color; shadow_opacity (float): shadow opacity; shadow_angle (float): shadow angle; shadow_distance (float): shadow distance
Go -> TS
6.2 Captions & Subtitles
#
Tool Name
Description
Parameters
Language
143
premiere_import_captions
Import SRT, VTT, or SCC caption file
file_path (string, required): path to caption file; sequence_id (string): sequence ID (default: active); format (string): "srt", "vtt", "scc" (auto-detected if omitted)
Go -> TS
144
premiere_export_captions
Export captions to SRT, VTT, or SCC
sequence_id (string): sequence ID (default: active); output_path (string, required): output file path; format (string, required): "srt", "vtt", "scc"
Go -> TS
145
premiere_create_caption_track
Create a new caption track on the sequence
sequence_id (string): sequence ID (default: active); name (string): track name (default: "Subtitles"); format (string): "subtitle", "open_caption"
Go -> TS
146
premiere_add_caption
Add a single caption entry
sequence_id (string): sequence ID (default: active); start_seconds (float, required): caption start time; end_seconds (float, required): caption end time; text (string, required): caption text; track_index (int): caption track index (default: 0)
Go -> TS
147
premiere_edit_caption
Edit an existing caption's text or timing
sequence_id (string): sequence ID (default: active); caption_index (int, required): index of caption to edit; text (string): new text; start_seconds (float): new start time; end_seconds (float): new end time
Go -> TS
148
premiere_style_captions
Apply styling to captions (font, size, color, background)
sequence_id (string): sequence ID (default: active); font_family (string): font name; font_size (float): size; color (string): hex text color; background_color (string): hex background color; background_opacity (float): background opacity 0-1; position (string): "bottom", "top", "center"
Go -> TS
149
premiere_generate_captions_from_audio
Auto-transcribe audio to captions (via Rust waveform + Python NLP)
sequence_id (string): sequence ID (default: active); language (string): language code (default: "en"); max_chars_per_line (int): max characters per caption line (default: 42); max_lines (int): max lines per caption (default: 2)
Go -> Rust + Python + TS
150
premiere_burn_in_captions
Render captions as burned-in text (bake into video)
sequence_id (string): sequence ID (default: active); font_family (string); font_size (float); color (string); position (string): "bottom", "top", "center"
Go -> TS
6.3 Track Management
#
Tool Name
Description
Parameters
Language
151
premiere_add_track
Add a new video or audio track to a sequence
sequence_id (string): sequence ID (default: active); track_type (string, required): "video" or "audio"; count (int): number of tracks to add (default: 1)
Go -> TS
152
premiere_delete_track
Delete a track from a sequence
sequence_id (string): sequence ID (default: active); track_type (string, required): "video" or "audio"; track_index (int, required): track to delete
Go -> TS
153
premiere_lock_track
Lock or unlock a track
sequence_id (string): sequence ID (default: active); track_type (string, required): "video" or "audio"; track_index (int, required): track index; locked (bool, required): true to lock
Go -> TS
154
premiere_mute_video_track
Toggle track output/visibility for a video track
sequence_id (string): sequence ID (default: active); track_index (int, required): video track index; muted (bool, required): true to mute
Go -> TS
155
premiere_set_track_targets
Set which tracks are targeted for editing operations
sequence_id (string): sequence ID (default: active); video_target (int): video track target index (-1 to untarget); audio_target (int): audio track target index (-1 to untarget)
Go -> TS
156
premiere_get_track_info
Get detailed info about all tracks in a sequence
sequence_id (string): sequence ID (default: active)
Go -> TS
6.4 Export & Render
#
Tool Name
Description
Parameters
Language
157
premiere_export_direct
Export directly from Premiere (synchronous, blocks UI)
sequence_id (string): sequence ID (default: active); output_path (string, required): output file path; preset_path (string, required): path to .epr export preset file; work_area_type (int): 0=entire sequence, 1=in-out, 2=work area
Go -> TS
158
premiere_export_via_encoder
Send to Adobe Media Encoder queue
sequence_id (string): sequence ID (default: active); output_path (string, required): output file path; preset_path (string, required): path to .epr preset; remove_on_complete (bool): remove from queue after encode (default: true)
Unstable, undocumented, but required for transitions and effects
Tools that require the QE DOM are marked with (QE) in the Language column. These include:
Applying transitions (qeClip.addTransition())
Applying effects by name (qe.project.getVideoEffectByName(), qeClip.addVideoEffect())
Creating sequences from presets (qe.project.newSequence())
Razor tool operations
Listing available effects and transitions
Time System
All tools accept time in seconds (float) at the MCP interface level. The TypeScript bridge converts to Premiere's internal tick system (254,016,000,000 ticks per second) or frame-based timecodes as needed.