MCP Adobe Premiere Pro
This server enables AI-powered automation of Adobe Premiere Pro through natural language commands, allowing external agents to control video editing workflows programmatically.
Core Capabilities:
Project Management: Create, open, save, and retrieve comprehensive project information and status
Media Management: Import individual files or entire folders (with recursive option), create bins for organization
Sequence & Timeline Operations: Create, duplicate, and delete sequences; add, remove, move, trim, and split clips with overwrite/insert and ripple/lift modes
Effects & Transitions: Apply/remove visual and audio effects with custom parameters; add transitions between clips or at clip boundaries
Audio Editing: Adjust volume levels in decibels, add dynamic keyframes for volume changes, mute/unmute tracks
Color Correction: Apply basic adjustments (brightness, contrast, saturation, hue, temperature, tint, shadows, highlights) and LUTs with intensity control
Export & Rendering: Export sequences to video files (MP4, MOV, AVI, H264, ProRes) or single frames as images (PNG, JPG, TIFF) with quality and resolution control
Advanced Features: Create multicam sequences (synchronized by timecode, audio, or markers), generate proxy media, auto-edit to music beats, apply video stabilization (warp/subspace methods), change playback speed with pitch maintenance
Discovery Tools: List project items, sequences, tracks, clips, and bins with metadata
Known Limitations:
Text overlays, shape graphics, Essential Graphics (MOGRTs), and direct pixel manipulation are not supported due to deprecated or unavailable Adobe scripting APIs
Used for cloning the repository to set up the MCP server for Adobe Premiere Pro
Hosts the Adobe Premiere Pro MCP repository for downloading and contributing to the project
Supported platform for running the Adobe Premiere Pro integration, with specific installation paths for CEP extensions
Used for building and running the MCP server that bridges between AI agents and Adobe Premiere Pro
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Adobe Premiere Procreate a new sequence and import my interview footage folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Bridge for Adobe Premiere Pro
Operate local Adobe Premiere Pro projects through MCP.
283 Premiere tools behind search_tools / invoke_tool, 13 context resources, and 10 guided prompts for Codex, Claude Code, Claude Desktop, and other MCP clients. CEP is the supported production bridge; UXP remains experimental.
Website: premiere-mcp.com
Languages: English | 日本語 | Tiếng Việt | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | ភាសាខ្មែរ
Start here: install the local bridge, open it in Premiere, then run verify_premiere_connection before editing. MCP hosts see a small always-on set; call search_tools then invoke_tool for the rest.
Website | Install | Codex plugin | Claude Code plugin | Verify | Telemetry | Privacy Policy | Terms of Service | Security
Install
The supported bridge is the included CEP panel. Install the npm package on the same computer as Premiere Pro and your MCP client:
npm install -g adobe-premiere-pro-mcp
premiere-pro-mcp --install-cep
premiere-pro-mcp --doctor--install-cep installs the CEP bridge, enables the required Adobe CEP debug setting, prepares the bridge directory, and configures supported local MCP clients. --doctor verifies the server build, CEP installation, bridge directory, debug setting, and client configuration.
Then restart Premiere Pro, open Window > Extensions > MCP Bridge (CEP), set the bridge directory shown by the installer, and start the bridge.
Requirements:
Node.js 20+
Adobe Premiere Pro 2020+
Premiere Pro, the MCP client, and this package on the same computer
The bundled uxp-plugin is an experimental preview. It is shipped for evaluation but is not a replacement for the validated CEP bridge and is not installed by the CLI.
Codex plugin
From a clone of this repository, install the Codex plugin that bundles the MCP configuration and Premiere editing skill:
codex plugin marketplace add .
codex plugin add premiere-pro-mcp@adobe-premiere-pro-mcpThe plugin still requires the local CEP bridge. Run premiere-pro-mcp --install-cep, restart Premiere, start Window > Extensions > MCP Bridge (CEP), then ask Codex to run get_capabilities followed by verify_premiere_connection.
Claude Code plugin
From a clone of this repository:
/plugin marketplace add .
/plugin install premiere-pro-mcp@adobe-premiere-pro-mcpInstall and start the CEP bridge with the same steps as above before using the plugin.
Claude Desktop one-click bundle
Each GitHub release includes an .mcpb bundle for Claude Desktop. Download the matching adobe-premiere-pro-mcp-<version>.mcpb asset and open it in Claude Desktop to install the local MCP server. Its first launch installs the bundled CEP bridge for the current user.
Restart Premiere Pro, open Window > Extensions > MCP Bridge (CEP), set the bridge directory, and start the bridge. Then ask Claude:
Run
verify_premiere_connection. Make no changes.
The MCPB bundle is unsigned. Install it only from this repository's GitHub Releases. CEP release archives are labeled accurately as unsigned or self-signed; self-signed does not mean Adobe Marketplace trusted.
MCP client configuration
The installer configures Claude Desktop on macOS and Claude Desktop plus GitHub Copilot in VS Code on Windows. For another MCP client, configure it to run:
{
"mcpServers": {
"premiere-pro": {
"command": "premiere-pro-mcp"
}
}
}To opt out of anonymous usage telemetry, add "env": { "PREMIERE_MCP_TELEMETRY": "0" } to that server entry. See Telemetry.
Install from source
Use source setup when developing the MCP, modifying the CEP panel, or troubleshooting a package install:
git clone https://github.com/hetpatel-11/Adobe_Premiere_Pro_MCP.git
cd Adobe_Premiere_Pro_MCP
npm install
npm run build
npm run setup:mac # macOSOn Windows, use npm run setup:win from PowerShell after npm install and npm run build.

Current CEP panel UI inside Premiere Pro, using the refreshed bridge controls and status layout.
Related MCP server: Premiere-Pro-MCP
Current Status
This repository is currently validated for:
macOS
Windows installer/config smoke checks through GitHub Actions
Adobe Premiere Pro 2020+ (actively used and tested on Premiere Pro 26.0)
Node.js 20+
MCP v2 server transport with modern stateless protocol discovery
the included macOS installer path for Claude Desktop
the included Windows installer path for GitHub Copilot in VS Code and Claude Desktop config
manual MCP registration for Codex, Claude Code, and similar MCP clients
Current catalog status as of August 31, 2026:
283catalog tools (search_tools,get_tool_schema,invoke_tool, plus 280 Premiere operations)tools/listadvertises the small always-on set by default (search_tools,get_tool_schema,invoke_tool,verify_premiere_connection,list_sequences). SetPREMIERE_MCP_TOOLSET=fullto list every tool, which is what Claude Code native tool search indexescoverage spans project setup, media ingest, bins, sequences, timeline editing, transitions, effects, keyframes, captions, markers, metadata, proxies, multicam, color, audio, exports, and higher-level assembly workflows
the catalog includes practical agent workflows such as product-spot assembly, motion-graphics demos, timeline razoring, caption reads, audio ducking, scene edit detection, EDL import, export readiness validation, and linked audio/video operations
Most recent completed local live validation:
283catalog tools;get_capabilitiesreportscatalog.advertisedvscatalog.tools, local installation, and optional live connection state.verify_premiere_connectionis the canonical read-only bridge and host readiness check0known parked or placeholder tools are advertisedimport_ae_compsis intentionally not advertised because Premiere returnedfalsefor real.aepfixtures in this environment and a generic.aepimport can wedge the CEP bridge
The full live sweep output is written to /tmp/premiere-mcp-bridge/live-tool-sweep.json when you run the verifier.
What You Get
The server covers project operations, ingest, sequence creation, timeline editing, transitions, effects, keyframes, metadata, exports, and higher-level assembly workflows.
Example prompts:
"List all sequences and show me which one is active."
"Import these three shots and build a rough product spot."
"Add cross dissolves to every cut on video track 1."
"Apply Gaussian Blur to the middle clip."
"Apply the
Black & Whiteeffect to the active short-form clip.""Razor the interview sequence at 12.5 seconds across all audio and video tracks."
"Export the active sequence as FCP XML."
For monochrome looks, prefer apply_effect with Black & White instead of trying to force black and white through generic saturation-only adjustments.
Before editing, you can also attach the premiere://config/get_instructions resource to give the model Premiere-specific operating guidance.
For a predictable start to every session, first run verify_premiere_connection. It confirms that the CEP bridge responded and returns the Premiere build, open project, and active sequence without modifying the project.
High-level workflow tools included:
build_motion_graphics_demoassemble_product_spotbuild_brand_spot_from_mogrt_and_assets
assemble_product_spot and build_brand_spot_from_mogrt_and_assets now support an optional clipPlan argument so an LLM can direct per-clip timing, track placement, transitions, motion, trims, effects, and color adjustments instead of relying on fixed template defaults.
Agent Skill
If you want Codex, Claude Code, or another agent to handle installation, verification, and day-to-day usage correctly, install the included Agent Skill:
npx skills add hetpatel-11/Adobe_Premiere_Pro_MCP --skill premiere-pro-mcpOr install directly from the skill path:
npx skills add https://github.com/hetpatel-11/Adobe_Premiere_Pro_MCP/tree/main/skills/premiere-pro-mcpThe skill teaches agents how to install the MCP, start and verify the CEP bridge, use the Premiere tools safely, import real media before editing, prefer sequence-aware operations, and run diagnostics when something fails.
Advanced Setup and Verification
For source installs, client-specific MCP configuration, Windows installer flags, diagnostics, and the live tool sweep, use QUICKSTART.md. It is the canonical setup guide and keeps this page focused on choosing and using the product.
The short version:
Install with
npm install -g adobe-premiere-pro-mcp, then runpremiere-pro-mcp --install-cep.Restart Premiere Pro and your MCP client, then start
Window > Extensions > MCP Bridge (CEP).Run
premiere-pro-mcp --doctor, then ask the client to callverify_premiere_connectionwithout making changes.
For manual registration in any MCP client, use the global command after npm installation:
{
"mcpServers": {
"premiere-pro": {
"command": "premiere-pro-mcp"
}
}
}The supported UI bridge is CEP. If Premiere does not expose the extension, enable UXP Plugins > Enable developer mode in Premiere preferences, restart Premiere, and reopen the CEP panel. The bundled UXP panel remains experimental.
For a real-host sweep, use a disposable Premiere project and run node scripts/live-tool-sweep.mjs; it creates temporary Sweep ... sequences in the current project.
How the Bridge Works
+-----------+ +-----------+ +-----------+
| Client | MCP | Node.js | Files | CEP Panel |
| (Codex+) |<------>| MCP Server|<------>| (Premiere)|
+-----------+ +-----------+ +-----------+
|
v
+-----------+
| Premiere |
| DOM / QE |
+-----------+The client calls an MCP tool.
The Node server generates ExtendScript plus shared helpers.
The script is written into
/tmp/premiere-mcp-bridge.The CEP panel polls that directory and runs the script through
CSInterface.evalScript().The panel writes the result back to the response file.
The server returns structured JSON to the MCP client.
Tools
All 283 catalog tools have an implementation. tools/list advertises a small always-on set so hosts that dump every MCP schema do not spend the context window on unused Premiere operations (Anthropic tool-search / MCP progressive discovery). Call search_tools (BM25 query or regex pattern), optionally get_tool_schema, then invoke_tool. Set PREMIERE_MCP_TOOLSET=full to restore a flat 283-tool list. This catalog explains the editing surface in human terms. Start with verify_premiere_connection, then inspect the project before asking an agent to mutate it.
Discovery and project inspection
Tools | What they do |
| Read-only host readiness and local runtime capability checks. |
| Inspect the current project, media/bin inventory, and sequences. |
| Read the current timeline, its clips/tracks, and sequence settings. |
| Return deeper project, sequence, or clip snapshots for planning. |
| Locate project items by name or media path. |
| Summarize the edit, detect gaps, and report media in use. |
| Find missing, unused, or duplicated media before an edit or export. |
| Inspect clip framing, speed, and timeline position. |
| Read a broad host state, Premiere version, or bridge health. |
Projects, media, and bins
Tools | What they do |
| Project lifecycle and file operations. |
| Bring video, audio, stills, or image sequences into the project. |
| Import supported timeline interchange or sequences from another project. |
| Create and organize project-panel bins. |
| Organize and rename existing project items. |
| Remove project items explicitly. These are destructive operations. |
| Create source ranges, refresh media, relink missing files, or replace clip media. |
| Read and write project metadata and XMP fields. |
| Inspect or change footage frame-rate and pixel-aspect interpretation. |
| Label and annotate project-panel items. |
Sequences and tracks
Tools | What they do |
| Make an empty sequence from an installed |
| Derive a sequence from pre-imported media when the clip settings should define the sequence. |
| Copy a sequence; |
| Manage which sequence is open or active. |
| Inspect a sequence layout or count project sequences. |
| Change supported sequence settings. Verify results because Premiere can quantize or reject changes. |
| Adjust supported audio, pixel-aspect, and field settings. |
| Create, remove, and name audio/video tracks. Caption-track deletion returns an explicit unsupported result. |
| Control edit protection, visibility, and track targeting. |
| Inspect tracks, targeting, and sequence in/out ranges. |
Timeline editing and trim operations
Tools | What they do |
| Place one or many project clips with per-clip source ranges and link-audio control. Batch placement returns per-clip results. |
| Perform three-point insert or overwrite editing from the Source monitor. |
| Remove timeline clips. Ripple deletion closes the gap when the host supports it. |
| Reposition a clip in time or on another track. |
| Cut one clip or multiple tracks at a requested timeline point. |
| Adjust edit points and clip content timing. Structural QE edits are read back rather than trusted blindly. |
| Lift/extract a selected range or create/remove nests. |
| Duplicate, replace, enable, or freeze timeline material. |
| Manage audio/video link relationships. |
| Revert or reapply recent Premiere operations. |
Effects, color, motion, and keyframes
Tools | What they do |
| Discover installed effects, applied effects, and their properties. |
| Add a visual/audio effect component. Identifies and reads back the new component. Premiere 26 has no scripting API to remove effects. |
| Apply or copy effect treatments across clips. |
| Change supported effect parameters, color values, and blend modes. |
| Apply basic correction, LUTs, or Warp Stabilizer. |
| Crop a clip or use an adjustment layer for shared treatment. |
| Set opacity, scale, rotation, and position with verified per-property output. |
| Address individual Motion transform values. |
| Create, inspect, and remove parameter keyframes. |
| Set interpolation or query a parameter value at a given time. |
Audio, transitions, and captions
Tools | What they do |
| Set clip gain, volume, or pan. |
| Build volume automation or a full ducking curve from supplied windows. |
| Mute a track or apply audio processing to one or many clips. |
| Analyze a local media file with ffmpeg and return silence ranges. It does not edit the timeline. |
| Discover installed transition names. |
| Add one or many transitions. Results distinguish verified changes from accepted-but-unverified host responses. |
| Create a caption track from an imported subtitle project item, such as an SRT. |
| Reports scripting-visible caption data and explicitly flags that Premiere's DOM often cannot read existing caption text. |
Markers, selection, navigation, and playback
Tools | What they do |
| Create and manage timeline markers. |
| Work with markers on project items, clips, or sequences. |
| Set or inspect sequence in/out points and work area. |
| Inspect and navigate the CTI/playhead. |
| Inspect or create targeted timeline selections. |
| Broader selection controls. |
| Control Source monitor media and source in/out points. |
| Start or stop timeline and source playback. |
Delivery, interchange, and media management
Tools | What they do |
| Validate a delivery, discover readable user |
| Queue a sequence through Adobe Media Encoder using a real preset path or exact preset name. |
| Report queue-monitoring availability or start supported batch encoding. |
| Write a still image from a sequence or capture a frame. |
| Export supported interchange formats. |
| Encode a source item/file or export a project representation. |
| Inspect, attach, or detach proxies. |
| Change offline status, refresh media, or apply frame-size scaling. |
| Consolidate duplicate items or prepare a transfer workflow. |
Graphics, workflows, workspace, and advanced operations
Tools | What they do |
| Add a MOGRT and optionally populate supported text fields. |
| Inspect Motion Graphics components and graphics white luminance. |
| Create a complete demo sequence with generated assets, dissolves, and subtle animation. |
| Assemble real media into a directed product/brand edit with optional clip plans and MOGRT overlays. |
| Use Premiere-assisted reframing or scene-change detection where the host supports it. |
| Inspect and switch Premiere workspace layouts. |
| Generate utility media or manage ingest and scratch-disk behavior. |
| Advanced diagnostic and scripting operations. Use only with trusted inputs and explicit user intent. |
Additional supported operations
The remaining catalog covers lower-level control of media properties, project settings, display formats, anti-aliasing, poster frames, color labels, selection, track targeting, project paths, and project counts. It includes set_override_frame_rate, set_override_pixel_aspect_ratio, set_frame_blend, set_time_interpolation, set_poster_frame, set_anti_alias_quality, set_uniform_scale, set_scale_width_height, set_sequence_display_format, set_project_scratch_disk, get_project_scratch_disks, get_all_project_paths, get_total_clip_count, get_insertion_bin, is_work_area_enabled, and match_frame.
Use MCP introspection in your client for each tool's exact input schema and return shape. An agent should inspect first, make a focused mutation, and read back the affected state before continuing a multi-step edit.
Real Limits
A self-signed CEP
.zxpconfirms archive integrity but is not Adobe Marketplace approval or a public trust guarantee. The reproducible signing workflow requires private certificate secrets and target-platform Premiere validation.
This project is much more usable than the original prototype, but it is not magic.
Premiere scripting still does not expose every UI operation cleanly.
Professional title design still depends on real MOGRT assets or external graphics workflows.
get_render_queue_statusis only useful when Adobe Media Encoder integration is available.The best results come from real source footage, real audio, and real brand assets. The automation layer assembles and manipulates them; it does not replace editorial judgment.
Telemetry
Anonymous usage telemetry is on by default so we can see how many people run the server, which tools they use, and which tools fail.
Each event is an install id, OS, and package version. server_started counts installs. Tool calls include the tool name and whether they succeeded. We keep every failure, and at most one successful call per tool per install per day. Failures also include duration, a short error code, the Zod field names that failed, and a path-stripped error template. Project names, media paths, arguments, and results are not sent. Details are in PRIVACY.md.
Opt out in any of these ways:
Uncheck Share anonymous usage data in
Window > Extensions > MCP Bridge (CEP)Set
"telemetry": falsein~/.premiere-mcp-bridge/config.jsonSet
PREMIERE_MCP_TELEMETRY=0in the MCP server environmentSet
DO_NOT_TRACK=1
By default tools/list advertises search_tools, get_tool_schema, invoke_tool, verify_premiere_connection, and list_sequences. Call search_tools then invoke_tool for the rest of the catalog. Set PREMIERE_MCP_TOOLSET=full to advertise every tool (use this when the host natively defers MCP schemas, as Claude Code tool search does).
Updates
When a newer package is on npm, the MCP Bridge panel shows Update now and Later. Later snoozes the prompt for 7 days. Agents also see this on get_capabilities. Opt out with PREMIERE_MCP_UPDATE_CHECK=0 or "updateCheck": false in ~/.premiere-mcp-bridge/config.json.
Troubleshooting
If the tools are visible but calls fail:
Confirm Premiere Pro is open with a project loaded.
Open
Window > Extensions > MCP Bridge (CEP).Confirm the temp directory is exactly
/tmp/premiere-mcp-bridge.Click
Start Bridge.If you updated the bridge code, right-click the panel and choose
Reload.Retry the command.
If the MCP client cannot find the server:
Verify the absolute path to
dist/index.js.Verify
PREMIERE_TEMP_DIR=/tmp/premiere-mcp-bridge.Restart the MCP client after changing config.
Run
npm run setup:doctor.
Developer Notes
Useful commands:
npm run build
npm test -- --runInBand
npm run setup:doctor
node scripts/live-tool-sweep.mjsSee:
QUICKSTART.mdfor the shortest install pathKNOWN_ISSUES.mdfor current limitsCONTRIBUTING.mdfor development workflow
Available Tools
5 toolsget_tool_schemaA
Return the full JSON input schema for one Premiere tool name from search_tools. After reading it, call invoke_tool.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact tool name, e.g. trim_clip |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of explaining behavior. It discloses that this tool only returns a schema and implies that it does not execute tools by instructing the agent to call invoke_tool afterward. It does not cover error cases, but for an introspection tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences provide the core behavior and the intended next action. There is no filler, repetition, or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description explains what is returned and how to continue the workflow. It could mention behavior for an invalid or unknown tool name, but the essential information for correct invocation is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 100% and already documents the 'name' parameter with an example. The description adds only that the name should come from search_tools, which is helpful context but does not substantially enrich parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource: 'full JSON input schema for one Premiere tool name.' It also distinguishes the tool from siblings by tying it to search_tools and instructing that invoke_tool should come next.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description places the tool in a workflow: tool names come from search_tools, and after reading the schema the agent should call invoke_tool. It does not explicitly say when not to use this tool, but the sequential guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoke_toolA
Run a Premiere tool by exact name. Use after search_tools. Hosts that only advertise the small always-on set cannot call trim_clip etc. as top-level MCP tools.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact tool name returned by search_tools | |
| arguments | No | Arguments for that tool |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It says 'Run a Premiere tool' but does not disclose that this is an arbitrary passthrough capable of side-effecting operations like trim_clip, nor does it mention error behavior when the tool name is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the core purpose front-loaded. The host-limitation sentence is useful context but slightly jargon-heavy; still, every sentence earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the key prerequisite ('Use after search_tools') and exact-name matching. However, it omits guidance on using get_tool_schema to fetch the target tool's argument schema, and gives no return/error expectations despite having no output schema or annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters: name is 'Exact tool name returned by search_tools' and arguments is 'Arguments for that tool'. The description reinforces exactness and ordering but does not add meaningful detail beyond the schema, such as how arguments should be structured per the target tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Run') with a specific resource ('a Premiere tool by exact name') and clarifies this is the generic execution entry point. Naming trim_clip and contrasting it with top-level MCP tools helps distinguish it from siblings like search_tools and get_tool_schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Use after search_tools', giving clear ordering guidance, and it explains the host limitation that makes invoke_tool necessary. However, it does not explicitly state when not to use this tool or mention alternatives like get_tool_schema for inspecting a tool's schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sequencesB
Lists all sequences in the current Premiere Pro project with their IDs, names, and basic properties.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It confirms the read-only, listing nature and names returned fields, but it's vague about 'basic properties' and omits edge-case behavior (empty project, no open document, performance on large projects).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with zero filler words. It states the action, scope, and result in one concise breath.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 0-parameter listing tool, the description covers the essentials: scope ('all sequences in current project') and return shape (IDs, names, basic properties). The primary gap is the undefined 'basic properties' term, which matters more because there's no output schema to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema carries no semantics, so per the rubric the baseline is 4. The description appropriately spends its space explaining the return value instead, which is the only useful thing it could add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource-scope structure ('Lists all sequences in the current Premiere Pro project') and specifies the return payload (IDs, names, basic properties). It distinguishes itself from list_project_items naturally, though 'basic properties' is undefined and it doesn't explicitly disambiguate from get_sequence_structure/get_full_sequence_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool vs. the many siblings such as list_sequence_tracks, get_full_sequence_info, or get_sequence_structure. There are no exclusions, prerequisites, or alternative suggestions — a missed opportunity given the crowded sibling space.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toolsA
Search the Premiere tool catalog with a BM25 natural-language query or a regex pattern, then call invoke_tool. Use this instead of expecting 280 editing tools in the MCP tool list. Empty query lists categories. Default 5 matches.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max matches, 1-25. Defaults to 5. | |
| query | No | Natural language BM25 query, e.g. "trim clip duration" or "export sequence" | |
| detail | No | How much of each match to return. schema includes the JSON input schema. Defaults to descriptions. | |
| pattern | No | Case-insensitive regex over tool name, description, category, and argument names. e.g. "^list_" or "mogrt" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It discloses several concrete behaviors: empty query lists categories, default 5 matches, and dual support for BM25 and regex searches. It does not explicitly state read-only status or output format, but for a search operation the disclosed behaviors provide meaningful transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four short sentences with no filler: purpose, usage instruction, empty-query behavior, and default limit. The critical 'use this instead' guidance is front-loaded, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and four optional parameters, the description covers tool selection rationale, query modes, the follow-up action, and important default/empty-query behavior. It does not specify the return shape, but the detail parameter schema fills that gap. This is sufficient for an agent to invoke the tool correctly in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by clarifying that query and regex are alternative search modes and by revealing that an empty query produces categories—information not present in the schema. It repeats the default limit, but the added empty-query behavior justifies a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair ('Search the Premiere tool catalog') and names two concrete query mechanisms (BM25 natural-language or regex). It clearly differentiates this from siblings like invoke_tool and get_tool_schema, and the reference to the 280-tool MCP list explains its role as a discovery tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs the agent to use this tool instead of expecting the full 280-tool MCP list, which is direct when-to-use guidance. It also tells the agent to follow up by calling invoke_tool, linking the search step to the execution step. While it doesn't enumerate exclusions in detail, the 'use this instead' phrasing is strong and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_premiere_connectionA
Readiness check for Premiere Pro and the MCP Bridge. Call this before any editing tool. If Premiere is installed and not running, this launches it and waits for the CEP panel, which auto-starts the bridge. If it fails, tell the user the nextStep and do not retry other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| launchIfNeeded | No | When true (the default), launch Premiere if it is installed and the bridge heartbeat is missing. Set false for a check that never starts the app. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, and it does well: it reveals that the tool may launch Premiere as a side effect, waits for the CEP panel, auto-starts the bridge, and exposes nextStep on failure. It does not describe the exact return shape or success/failure indicators, which would make it fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose, behavior/wait semantics, and failure handling. The most important instruction ('call before any editing tool') is front-loaded, and there is zero filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter check tool with no annotations and no output schema, the description is complete: what it does, when to call it, what side effects it may trigger, and how to handle failure. The 'nextStep' reference even hints at the failure return shape. An agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; the schema already fully documents launchIfNeeded including its default behavior and false-case meaning. The description refers to launching behavior but does not add parameter-level meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: a 'readiness check' for Premiere Pro and the MCP Bridge. It also frames itself as a prerequisite ('Call this before any editing tool'), which distinguishes it from the editing tools it precedes. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance ('Call this before any editing tool') and when-not-to-continue guidance ('If it fails... do not retry other tools'). It names the class of alternatives (editing tools) and instructs the agent to surface nextStep to the user instead. This is unusually actionable usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
285 tool updates
v1.2.7- Removed
add_adjustment_layer - Removed
add_audio_keyframes - Removed
add_custom_metadata_field - Removed
add_keyframe - Removed
add_marker - Removed
add_marker_to_project_item - Removed
add_text_overlay - Removed
add_to_render_queue - Removed
add_to_timeline - Removed
add_to_timeline_batch - Removed
add_track - Removed
add_tracks - Removed
add_transition - Removed
add_transition_to_clip - Removed
adjust_audio_levels - Removed
apply_audio_effect - Removed
apply_audio_effect_to_all_clips - Removed
apply_effect - Removed
apply_lut - Removed
assemble_product_spot - Removed
attach_custom_property - Removed
auto_reframe_sequence - Removed
batch_add_transitions - Removed
batch_apply_effect - Removed
batch_enable_disable - Removed
batch_rename_clips - Removed
build_brand_spot_from_mogrt_and_assets - Removed
build_motion_graphics_demo - Removed
capture_frame - Removed
check_offline_media - Removed
clear_item_in_out - Removed
clear_sequence_in_out - Removed
close_all_source_clips - Removed
close_project - Removed
close_sequence - Removed
close_source_monitor - Removed
color_correct - Removed
consolidate_and_transfer - Removed
consolidate_duplicates - Removed
copy_effect_values - Removed
copy_effects_between_clips - Removed
create_bars_and_tone - Removed
create_bin - Removed
create_caption_track - Removed
create_project - Removed
create_sequence - Removed
create_sequence_from_clips - Removed
create_sequence_from_preset - Removed
create_smart_bin - Removed
create_subclip - Removed
create_subsequence - Removed
crop_clip - Removed
delete_bin - Removed
delete_marker - Removed
delete_multiple_project_items - Removed
delete_preview_files - Removed
delete_project_item - Removed
delete_sequence - Removed
delete_track - Removed
deselect_all_clips - Removed
detach_proxy - Removed
detect_scene_edits - Removed
detect_silence - Removed
duplicate_clip - Removed
duplicate_sequence - Removed
enable_disable_clip - Removed
encode_file - Removed
encode_project_item - Removed
evaluate_expression - Removed
execute_extendscript - Removed
export_aaf - Removed
export_as_fcp_xml - Removed
export_as_project - Removed
export_frame - Removed
export_omf - Removed
export_sequence - Removed
extract_selection - Removed
find_items_by_media_path - Removed
find_project_item_by_name - Removed
freeze_frame - Removed
get_active_sequence - Removed
get_all_project_paths - Removed
get_bin_contents - Removed
get_capabilities - Removed
get_clip_adjustment_layer - Removed
get_clip_at_playhead - Removed
get_clip_at_position - Removed
get_clip_links - Removed
get_clip_markers - Removed
get_clip_properties - Removed
get_clip_speed - Removed
get_color_label - Removed
get_color_space - Removed
get_duplicate_media - Removed
get_effect_properties - Removed
get_encoder_presets - Removed
get_export_file_extension - Removed
get_footage_interpretation - Removed
get_full_clip_info - Removed
get_full_project_overview - Removed
get_full_sequence_info - Removed
get_graphics_white_luminance - Removed
get_insertion_bin - Removed
get_item_info - Removed
get_keyframes - Removed
get_linked_items - Removed
get_metadata - Removed
get_mogrt_component - Removed
get_next_edit_point - Removed
get_offline_media - Removed
get_playhead_position - Removed
get_premiere_state - Removed
get_project_info - Removed
get_project_item_info - Removed
get_project_panel_metadata - Removed
get_project_scratch_disks - Removed
get_qe_clip_info - Removed
get_render_queue_status - Removed
get_selected_clips - Removed
get_sequence_count - Removed
get_sequence_in_out_points - Removed
get_sequence_markers_by_type - Removed
get_sequence_settings - Removed
get_sequence_structure - Removed
get_source_monitor_info - Removed
get_source_monitor_position - Removed
get_target_tracks - Removed
get_timeline_gaps - Removed
get_timeline_summary - Added
get_tool_schema - Removed
get_total_clip_count - Removed
get_track_info - Removed
get_unused_media - Removed
get_used_media_report - Removed
get_value_at_time - Removed
get_version_info - Removed
get_work_area - Removed
get_workspaces - Removed
get_xmp_metadata - Removed
has_proxy - Removed
import_edl - Removed
import_fcp_xml - Removed
import_folder - Removed
import_image_sequence - Removed
import_media - Removed
import_mogrt - Removed
import_mogrt_from_library - Removed
import_sequences - Removed
import_sequences_from_project - Removed
insert_from_source - Removed
inspect_dom_object - Removed
invert_selection - Added
invoke_tool - Removed
is_work_area_enabled - Removed
lift_selection - Removed
link_audio_video - Removed
link_selection - Removed
list_available_audio_effects - Removed
list_available_audio_transitions - Removed
list_available_effects - Removed
list_available_transitions - Removed
list_clip_effects - Removed
list_markers - Removed
list_project_items - Removed
list_sequence_tracks - Removed
lock_track - Removed
manage_proxies - Removed
match_frame - Removed
move_clip - Removed
move_clip_to_track - Removed
move_item_to_bin - Removed
move_items_to_bin - Removed
move_playhead_to_edit - Removed
multiple_undo - Removed
mute_track - Removed
nest_clips - Removed
open_in_source - Removed
open_project - Removed
overwrite_clip - Removed
overwrite_from_source - Removed
ping - Removed
play_source_monitor - Removed
play_timeline - Removed
razor_all_tracks - Removed
razor_timeline_at_time - Removed
read_sequence_captions - Removed
redo - Removed
refresh_media - Removed
relink_media - Removed
remove_all_effects - Removed
remove_effect - Removed
remove_effect_by_name - Removed
remove_from_timeline - Removed
remove_keyframe - Removed
remove_keyframe_range - Removed
remove_selected_clips - Removed
rename_bin - Removed
rename_clip - Removed
rename_project_item - Removed
rename_track - Removed
replace_clip - Removed
replace_clip_media - Removed
reverse_clip - Removed
ripple_delete - Removed
roll_edit - Removed
save_project - Removed
save_project_as - Removed
scene_edit_detection - Removed
search_project_items - Added
search_tools - Removed
select_all_clips - Removed
select_clips_by_color - Removed
select_clips_by_name - Removed
select_clips_in_range - Removed
select_disabled_clips - Removed
select_item - Removed
set_active_sequence - Removed
set_all_tracks_targeted - Removed
set_anti_alias_quality - Removed
set_blend_mode - Removed
set_clip_anchor_point - Removed
set_clip_opacity - Removed
set_clip_pan - Removed
set_clip_position - Removed
set_clip_properties - Removed
set_clip_properties_batch - Removed
set_clip_rotation - Removed
set_clip_scale - Removed
set_clip_selection - Removed
set_clip_speed_qe - Removed
set_clip_start_time - Removed
set_clip_volume - Removed
set_color_label - Removed
set_color_value - Removed
set_effect_property - Removed
set_footage_interpretation - Removed
set_frame_blend - Removed
set_graphics_white_luminance - Removed
set_item_in_out - Removed
set_keyframe_interpolation - Removed
set_metadata - Removed
set_offline - Removed
set_override_frame_rate - Removed
set_override_pixel_aspect_ratio - Removed
set_playhead_position - Removed
set_poster_frame - Removed
set_project_panel_metadata - Removed
set_project_scratch_disk - Removed
set_scale_to_frame_size - Removed
set_scale_width_height - Removed
set_scratch_disk_path - Removed
set_sequence_audio_settings - Removed
set_sequence_display_format - Removed
set_sequence_field_type - Removed
set_sequence_frame_rate - Removed
set_sequence_in_out_points - Removed
set_sequence_pixel_aspect_ratio - Removed
set_sequence_resolution - Removed
set_sequence_settings - Removed
set_source_in_out - Removed
set_start_time - Removed
set_target_track - Removed
set_time_interpolation - Removed
set_transcode_on_ingest - Removed
set_uniform_scale - Removed
set_work_area - Removed
set_workspace - Removed
set_xmp_metadata - Removed
set_zero_point - Removed
setup_ducking - Removed
slide_edit - Removed
slip_edit - Removed
speed_change - Removed
split_clip - Removed
stabilize_clip - Removed
start_batch_encode - Removed
stop_playback - Removed
toggle_track_visibility - Removed
trim_clip - Removed
undo - Removed
unlink_selection - Removed
unnest_sequence - Removed
update_marker - Removed
validate_project_for_export - Changed
verify_premiere_connection1 field changed- added
Input schema / properties / launchIfNeededAdded value: +{ + "description": "When true (the default), launch Premiere if it is installed and the bridge heartbeat is missing. Set false for a check that never starts the app.", + "type": "boolean" +}
10 tool updates
v1.2.0- Changed
add_marker5 fields changed- added
Input schema / properties / color / anyOfAdded value: +[ + { + "enum": [ + "green", + "red", + "purple", + "orange", + "yellow", + "white", + "blue", + "cyan" + ], + "type": "string" + }, + { + "maximum": 7, + "minimum": 0, + "type": "integer" + }, + { + "pattern": "^[0-7]$", + "type": "string" + } +] - changed
Input schema / properties / color / descriptionPrevious value: -"Marker color (e.g., \"red\", \"green\", \"blue\")"New value: +"Marker colour — a name (green, red, purple, orange, yellow, white, blue, cyan) or an index 0-7. Defaults to green." - removed
Input schema / properties / color / typeRemoved value: -"string" - changed
Input schema / properties / sequenceId / descriptionPrevious value: -"The ID of the sequence to add the marker to"New value: +"The sequence ID (GUID) to add the marker to, as returned in the \"id\" field by list_sequences or get_active_sequence" - added
Input schema / properties / sequenceId / minLengthAdded value: +1
- Changed
delete_marker3 fields changed- added
Input schema / properties / markerId / minLengthAdded value: +1 - changed
Input schema / properties / sequenceId / descriptionPrevious value: -"The ID of the sequence"New value: +"The sequence ID (GUID) as returned in the \"id\" field by list_sequences or get_active_sequence" - added
Input schema / properties / sequenceId / minLengthAdded value: +1
- Changed
delete_track2 fields changed- changed
Input schema / properties / sequenceId / descriptionPrevious value: -"The ID of the sequence"New value: +"The sequence ID (GUID) as returned in the \"id\" field by list_sequences or get_active_sequence" - added
Input schema / properties / sequenceId / minLengthAdded value: +1
- Changed
list_markers2 fields changed- changed
Input schema / properties / sequenceId / descriptionPrevious value: -"The ID of the sequence"New value: +"The sequence ID (GUID) as returned in the \"id\" field by list_sequences or get_active_sequence" - added
Input schema / properties / sequenceId / minLengthAdded value: +1
- Changed
list_sequence_tracks2 fields changed- changed
Input schema / properties / sequenceId / descriptionPrevious value: -"The ID of the sequence to list tracks for"New value: +"The sequence ID (GUID) to list tracks for, as returned in the \"id\" field by list_sequences or get_active_sequence" - added
Input schema / properties / sequenceId / minLengthAdded value: +1
- Changed
lock_track2 fields changed- changed
Input schema / properties / sequenceId / descriptionPrevious value: -"The ID of the sequence"New value: +"The sequence ID (GUID) as returned in the \"id\" field by list_sequences or get_active_sequence" - added
Input schema / properties / sequenceId / minLengthAdded value: +1
- Changed
move_clip1 field changed- removed
Input schema / properties / newTrackIndexRemoved value: -{ - "description": "The new track index (if moving to different track)", - "type": "number" -}
- Changed
set_sequence_settings6 fields changed- changed
Input schema / properties / settings / properties / frameRate / descriptionPrevious value: -"Frame rate"New value: +"Frames per second, e.g. 23.976, 25, 30" - changed
Input schema / properties / settings / properties / height / descriptionPrevious value: -"Frame height"New value: +"Frame height in pixels" - added
Input schema / properties / settings / properties / pixelAspectRatio / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "string" + } +] - changed
Input schema / properties / settings / properties / pixelAspectRatio / descriptionPrevious value: -"Pixel aspect ratio"New value: +"Pixel aspect ratio, either a number (1, 1.5, 2) or an \"N:M\" string (\"1:1\", \"4:3\", \"10:11\")" - removed
Input schema / properties / settings / properties / pixelAspectRatio / typeRemoved value: -"number" - changed
Input schema / properties / settings / properties / width / descriptionPrevious value: -"Frame width"New value: +"Frame width in pixels"
- Changed
toggle_track_visibility2 fields changed- changed
Input schema / properties / sequenceId / descriptionPrevious value: -"The ID of the sequence"New value: +"The sequence ID (GUID) as returned in the \"id\" field by list_sequences or get_active_sequence" - added
Input schema / properties / sequenceId / minLengthAdded value: +1
- Changed
update_marker6 fields changed- added
Input schema / properties / color / anyOfAdded value: +[ + { + "enum": [ + "green", + "red", + "purple", + "orange", + "yellow", + "white", + "blue", + "cyan" + ], + "type": "string" + }, + { + "maximum": 7, + "minimum": 0, + "type": "integer" + }, + { + "pattern": "^[0-7]$", + "type": "string" + } +] - changed
Input schema / properties / color / descriptionPrevious value: -"New color"New value: +"New colour. Marker colour — a name (green, red, purple, orange, yellow, white, blue, cyan) or an index 0-7. Defaults to green." - removed
Input schema / properties / color / typeRemoved value: -"string" - added
Input schema / properties / markerId / minLengthAdded value: +1 - changed
Input schema / properties / sequenceId / descriptionPrevious value: -"The ID of the sequence"New value: +"The sequence ID (GUID) as returned in the \"id\" field by list_sequences or get_active_sequence" - added
Input schema / properties / sequenceId / minLengthAdded value: +1
287 tool updates
v1.1.6- Added
add_adjustment_layer - Changed
add_audio_keyframes1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
add_custom_metadata_field - Added
add_keyframe - Added
add_marker - Added
add_marker_to_project_item - Removed
add_shape - Changed
add_text_overlay15 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / alignmentRemoved value: -{ - "description": "Text alignment", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" -} - removed
Input schema / properties / colorRemoved value: -{ - "description": "The hex color code for the text, e.g., \"#FFFFFF\"", - "type": "string" -} - changed
Input schema / properties / duration / descriptionPrevious value: -"How long the text should remain on screen in seconds"New value: +"How long the text should remain on screen in seconds (best-effort; the MOGRT's natural duration may take precedence)" - removed
Input schema / properties / fontFamilyRemoved value: -{ - "description": "e.g., \"Arial\", \"Times New Roman\"", - "type": "string" -} - removed
Input schema / properties / fontSizeRemoved value: -{ - "description": "e.g., 48", - "type": "number" -} - added
Input schema / properties / mogrtPathAdded value: +{ + "description": "Absolute path to a .mogrt template file (required for text overlays)", + "type": "string" +} - removed
Input schema / properties / positionRemoved value: -{ - "additionalProperties": false, - "description": "Text position on screen", - "properties": { - "x": { - "description": "Horizontal position (0-100)", - "type": "number" - }, - "y": { - "description": "Vertical position (0-100)", - "type": "number" - } - }, - "type": "object" -} - added
Input schema / properties / rollbackOnTextFailureAdded value: +{ + "description": "If true, remove the imported timeline Graphic when every requested text write fails. Defaults to false; the imported project item may remain in the Project panel.", + "type": "boolean" +} - changed
Input schema / properties / text / descriptionPrevious value: -"The text content to display"New value: +"Text for the first AE text component in the MOGRT (typically the main title)" - added
Input schema / properties / text2Added value: +{ + "description": "Text for the second AE text component (e.g., subtitle of a lower third)", + "type": "string" +} - added
Input schema / properties / text3Added value: +{ + "description": "Text for the third AE text component (if present)", + "type": "string" +} - added
Input schema / properties / text4Added value: +{ + "description": "Text for the fourth AE text component (if present)", + "type": "string" +} - added
Input schema / properties / textPropertyNameAdded value: +{ + "description": "Override: explicit displayName of the property to write into. When set, only `text` is written (text2/text3/text4 are ignored) and the call fails if no property with that displayName exists. Use only when auto-detection picks the wrong field.", + "type": "string" +} - changed
Input schema / properties / trackIndex / descriptionPrevious value: -"The video track to place the text on"New value: +"The video track to place the text on (0-indexed; create the track first via add_track if needed)"
- Added
add_to_render_queue - Changed
add_to_timeline4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / linkAudioAdded value: +{ + "description": "When false, removes the auto-linked audio counterpart that Premiere places on audio tracks for video-track clips. Useful for video overlays whose source media (e.g. Remotion .mov outputs) carry silent PCM that would overwrite existing audio. Default true (preserves Premiere's native linking behavior).", + "type": "boolean" +} - added
Input schema / properties / sourceInPointAdded value: +{ + "description": "Source IN point in seconds — the start of the sub-range to pull from the source (footage or sequence). Replicates marking an in point in the Source monitor. Requires sourceOutPoint. When omitted, the whole source (or its current marks) is placed.", + "type": "number" +} - added
Input schema / properties / sourceOutPointAdded value: +{ + "description": "Source OUT point in seconds — the end of the sub-range to pull from the source. Replicates marking an out point in the Source monitor. Requires sourceInPoint.", + "type": "number" +}
- Added
add_to_timeline_batch - Added
add_track - Added
add_tracks - Changed
add_transition1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
add_transition_to_clip1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
adjust_audio_levels1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
apply_audio_effect - Added
apply_audio_effect_to_all_clips - Changed
apply_effect2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / parameters / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
apply_lut1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
assemble_product_spot - Added
attach_custom_property - Removed
auto_edit_to_music - Added
auto_reframe_sequence - Added
batch_add_transitions - Added
batch_apply_effect - Added
batch_enable_disable - Added
batch_rename_clips - Added
build_brand_spot_from_mogrt_and_assets - Added
build_motion_graphics_demo - Added
capture_frame - Added
check_offline_media - Added
clear_item_in_out - Added
clear_sequence_in_out - Added
close_all_source_clips - Added
close_project - Added
close_sequence - Added
close_source_monitor - Changed
color_correct1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
consolidate_and_transfer - Added
consolidate_duplicates - Added
copy_effect_values - Added
copy_effects_between_clips - Added
create_bars_and_tone - Changed
create_bin1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
create_caption_track - Removed
create_multicam_sequence - Changed
create_project1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Removed
create_proxy_media - Changed
create_sequence7 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / frameRateRemoved value: -{ - "description": "Frame rate (e.g., 24, 25, 30, 60)", - "type": "number" -} - removed
Input schema / properties / heightRemoved value: -{ - "description": "Sequence height in pixels", - "type": "number" -} - changed
Input schema / properties / presetPath / descriptionPrevious value: -"Optional path to a sequence preset file for custom settings"New value: +"Absolute path to an installed Premiere .sqpreset sequence preset. Required so Premiere does not show the native New Sequence dialog." - removed
Input schema / properties / sampleRateRemoved value: -{ - "description": "Audio sample rate (e.g., 48000)", - "type": "number" -} - removed
Input schema / properties / widthRemoved value: -{ - "description": "Sequence width in pixels", - "type": "number" -} - changed
Input schema / requiredPrevious value: -[ - "name" -]New value: +[ + "name", + "presetPath" +]
- Added
create_sequence_from_clips - Added
create_sequence_from_preset - Added
create_smart_bin - Added
create_subclip - Added
create_subsequence - Added
crop_clip - Added
delete_bin - Added
delete_marker - Added
delete_multiple_project_items - Added
delete_preview_files - Added
delete_project_item - Changed
delete_sequence1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
delete_track - Added
deselect_all_clips - Added
detach_proxy - Added
detect_scene_edits - Added
detect_silence - Added
duplicate_clip - Changed
duplicate_sequence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / clearContentsAdded value: +{ + "description": "When true, remove all clips from the copy so it is empty but keeps the source's frame rate/resolution/track layout. Default false (full copy).", + "type": "boolean" +}
- Added
enable_disable_clip - Added
encode_file - Added
encode_project_item - Added
evaluate_expression - Added
execute_extendscript - Added
export_aaf - Added
export_as_fcp_xml - Added
export_as_project - Changed
export_frame1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
export_omf - Changed
export_sequence9 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / allowOverwriteAdded value: +{ + "description": "Allow writing to an existing output file. Defaults to false.", + "type": "boolean" +} - changed
Input schema / properties / format / descriptionPrevious value: -"The export format or codec"New value: +"Deprecated hint only; the .epr preset controls codec/container." - added
Input schema / properties / presetNameAdded value: +{ + "description": "Exact user preset display name or filename stem. Must resolve to exactly one discovered .epr preset.", + "type": "string" +} - changed
Input schema / properties / presetPath / descriptionPrevious value: -"Optional path to an export preset file (.epr) for specific settings"New value: +"Absolute path to an export preset file (.epr). Required unless presetName uniquely resolves through get_encoder_presets." - changed
Input schema / properties / quality / descriptionPrevious value: -"Export quality setting"New value: +"Deprecated hint only; the .epr preset controls quality." - added
Input schema / properties / removeOnCompletionAdded value: +{ + "description": "Pass AME removeOnCompletion. Defaults to true to preserve existing queue behavior.", + "type": "boolean" +} - changed
Input schema / properties / resolution / descriptionPrevious value: -"Export resolution (e.g., \"1920x1080\", \"3840x2160\")"New value: +"Deprecated hint only; the .epr preset controls resolution." - added
Input schema / properties / sourceRangeAdded value: +{ + "description": "Export source range. Defaults to entire. Requested ranges are never silently substituted.", + "enum": [ + "entire", + "in_out", + "work_area" + ], + "type": "string" +}
- Added
extract_selection - Added
find_items_by_media_path - Added
find_project_item_by_name - Added
freeze_frame - Added
get_active_sequence - Added
get_all_project_paths - Added
get_bin_contents - Added
get_capabilities - Added
get_clip_adjustment_layer - Added
get_clip_at_playhead - Added
get_clip_at_position - Added
get_clip_links - Added
get_clip_markers - Added
get_clip_properties - Added
get_clip_speed - Added
get_color_label - Added
get_color_space - Added
get_duplicate_media - Added
get_effect_properties - Added
get_encoder_presets - Added
get_export_file_extension - Added
get_footage_interpretation - Added
get_full_clip_info - Added
get_full_project_overview - Added
get_full_sequence_info - Added
get_graphics_white_luminance - Added
get_insertion_bin - Added
get_item_info - Added
get_keyframes - Added
get_linked_items - Added
get_metadata - Added
get_mogrt_component - Added
get_next_edit_point - Added
get_offline_media - Added
get_playhead_position - Added
get_premiere_state - Changed
get_project_info1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
get_project_item_info - Added
get_project_panel_metadata - Added
get_project_scratch_disks - Added
get_qe_clip_info - Added
get_render_queue_status - Added
get_selected_clips - Added
get_sequence_count - Added
get_sequence_in_out_points - Added
get_sequence_markers_by_type - Added
get_sequence_settings - Added
get_sequence_structure - Added
get_source_monitor_info - Added
get_source_monitor_position - Added
get_target_tracks - Added
get_timeline_gaps - Added
get_timeline_summary - Added
get_total_clip_count - Added
get_track_info - Added
get_unused_media - Added
get_used_media_report - Added
get_value_at_time - Added
get_version_info - Added
get_work_area - Added
get_workspaces - Added
get_xmp_metadata - Added
has_proxy - Added
import_edl - Added
import_fcp_xml - Changed
import_folder1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
import_image_sequence - Changed
import_media1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
import_mogrt - Added
import_mogrt_from_library - Added
import_sequences - Added
import_sequences_from_project - Added
insert_from_source - Added
inspect_dom_object - Added
invert_selection - Added
is_work_area_enabled - Added
lift_selection - Added
link_audio_video - Added
link_selection - Added
list_available_audio_effects - Added
list_available_audio_transitions - Added
list_available_effects - Added
list_available_transitions - Added
list_clip_effects - Added
list_markers - Changed
list_project_items1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_sequence_tracks1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_sequences1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
lock_track - Added
manage_proxies - Added
match_frame - Changed
move_clip1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
move_clip_to_track - Added
move_item_to_bin - Added
move_items_to_bin - Added
move_playhead_to_edit - Added
multiple_undo - Changed
mute_track1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
nest_clips - Added
open_in_source - Changed
open_project1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
overwrite_clip - Added
overwrite_from_source - Added
ping - Added
play_source_monitor - Added
play_timeline - Added
razor_all_tracks - Added
razor_timeline_at_time - Added
read_sequence_captions - Added
redo - Added
refresh_media - Added
relink_media - Added
remove_all_effects - Changed
remove_effect5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / additionalPropertiesPrevious value: -falseNew value: +{} - removed
Input schema / propertiesRemoved value: -{ - "clipId": { - "description": "The ID of the clip", - "type": "string" - }, - "effectName": { - "description": "The name of the effect to remove", - "type": "string" - } -} - added
Input schema / propertyNamesAdded value: +{ + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "clipId", - "effectName" -]
- Added
remove_effect_by_name - Changed
remove_from_timeline2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / sequenceIdAdded value: +{ + "description": "Optional sequence ID to search. If omitted, searches the active sequence first, then all sequences.", + "type": "string" +}
- Added
remove_keyframe - Added
remove_keyframe_range - Added
remove_selected_clips - Added
rename_bin - Added
rename_clip - Added
rename_project_item - Added
rename_track - Added
replace_clip - Added
replace_clip_media - Added
reverse_clip - Added
ripple_delete - Added
roll_edit - Changed
save_project1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
save_project_as1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
scene_edit_detection - Added
search_project_items - Added
select_all_clips - Added
select_clips_by_color - Added
select_clips_by_name - Added
select_clips_in_range - Added
select_disabled_clips - Added
select_item - Added
set_active_sequence - Added
set_all_tracks_targeted - Added
set_anti_alias_quality - Added
set_blend_mode - Added
set_clip_anchor_point - Added
set_clip_opacity - Added
set_clip_pan - Added
set_clip_position - Added
set_clip_properties - Added
set_clip_properties_batch - Added
set_clip_rotation - Added
set_clip_scale - Added
set_clip_selection - Added
set_clip_speed_qe - Added
set_clip_start_time - Added
set_clip_volume - Added
set_color_label - Added
set_color_value - Added
set_effect_property - Added
set_footage_interpretation - Added
set_frame_blend - Added
set_graphics_white_luminance - Added
set_item_in_out - Added
set_keyframe_interpolation - Added
set_metadata - Added
set_offline - Added
set_override_frame_rate - Added
set_override_pixel_aspect_ratio - Added
set_playhead_position - Added
set_poster_frame - Added
set_project_panel_metadata - Added
set_project_scratch_disk - Added
set_scale_to_frame_size - Added
set_scale_width_height - Added
set_scratch_disk_path - Added
set_sequence_audio_settings - Added
set_sequence_display_format - Added
set_sequence_field_type - Added
set_sequence_frame_rate - Added
set_sequence_in_out_points - Added
set_sequence_pixel_aspect_ratio - Added
set_sequence_resolution - Added
set_sequence_settings - Added
set_source_in_out - Added
set_start_time - Added
set_target_track - Added
set_time_interpolation - Added
set_transcode_on_ingest - Added
set_uniform_scale - Added
set_work_area - Added
set_workspace - Added
set_xmp_metadata - Added
set_zero_point - Added
setup_ducking - Added
slide_edit - Added
slip_edit - Changed
speed_change1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
split_clip1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
stabilize_clip1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Added
start_batch_encode - Added
stop_playback - Added
toggle_track_visibility - Changed
trim_clip3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / duration / descriptionPrevious value: -"Alternative: set the desired duration in seconds"New value: +"Alternative: set the desired timeline duration in seconds; cannot be combined with outPoint" - changed
Input schema / properties / outPoint / descriptionPrevious value: -"The new out point in seconds from the start of the clip"New value: +"The new out point in seconds from the start of the clip; cannot be combined with duration"
- Added
undo - Added
unlink_selection - Added
unnest_sequence - Added
update_marker - Added
validate_project_for_export - Added
verify_premiere_connection
37 tool updates
- First observed
add_audio_keyframes - First observed
add_shape - First observed
add_text_overlay - First observed
add_to_timeline - First observed
add_transition - First observed
add_transition_to_clip - First observed
adjust_audio_levels - First observed
apply_effect - First observed
apply_lut - First observed
auto_edit_to_music - First observed
color_correct - First observed
create_bin - First observed
create_multicam_sequence - First observed
create_project - First observed
create_proxy_media - First observed
create_sequence - First observed
delete_sequence - First observed
duplicate_sequence - First observed
export_frame - First observed
export_sequence - First observed
get_project_info - First observed
import_folder - First observed
import_media - First observed
list_project_items - First observed
list_sequence_tracks - First observed
list_sequences - First observed
move_clip - First observed
mute_track - First observed
open_project - First observed
remove_effect - First observed
remove_from_timeline - First observed
save_project - First observed
save_project_as - First observed
speed_change - First observed
split_clip - First observed
stabilize_clip - First observed
trim_clip
TDQS
Scored across 5 tools
Each tool occupies a distinct role in the bridge workflow: connection readiness, catalog search, schema lookup, tool invocation, and sequence listing. The search/schema/invoke tools form a clear sequence with explicit handoffs, so an agent should not confuse them.
All tool names follow lowercase snake_case with a verb_noun structure: verify_premiere_connection, search_tools, get_tool_schema, invoke_tool, list_sequences. There are no mixed conventions or vague overloaded verbs.
Five tools is well-scoped for a server that intentionally exposes a 280-tool catalog through a compact bridge layer rather than flooding the MCP tool list. Each tool is necessary for the discovery-and-invocation lifecycle.
The surface covers the full interaction loop: verify connection, search available tools, get a schema, invoke any cataloged tool, and list sequences directly. Since invoke_tool can execute any Premiere tool, there are no obvious missing operations for the server's stated purpose.
Maintenance
Related MCP Connectors
Edit video by talking to your AI — search footage, cut timelines, apply effects, add captions.
- VidmoatOAuthcom.vidmoat
AI video editor: create projects, edit timelines, add captions and effects, and render videos.
AI video editing + publishing: turn clips into vertical shorts, post to TikTok/Instagram/YouTube.
A real timeline video editor for AI agents: journaled edits, FFmpeg/MLT rendering, exports
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables control of Adobe Premiere Pro through Claude using over 170 tools for editing, effects, and timeline management. It supports advanced project operations, automated captions, and AI-generated voiceovers via ElevenLabs integration.1,45232MIT
- AlicenseNot gradedqualityBmaintenanceControls Adobe Premiere Pro via Claude, enabling automated beat-synced editing, timeline manipulation, and media analysis through two MCP servers (Node + Python).1,452MIT
- AlicenseAqualityCmaintenanceEnables Claude to drive Adobe Premiere Pro directly through natural-language requests, supporting import, timeline editing, markers, effects, transitions, and export.231,452MIT
- AlicenseNot gradedqualityCmaintenanceControl Adobe Premiere Pro from AI agents via ExtendScript, enabling media import, sequence creation, effect application, media export, and custom scripting.18MIT