MCP for Adobe Premiere Pro — local MCP server
Languages: English · Español · Português (Brasil) · Français · Deutsch · 简体中文 · 繁體中文 · 日本語 · 한국어 · Русский · العربية · हिन्दी · Italiano · Türkçe · Bahasa Indonesia

Adobe Premiere Pro MCP server for reviewable, local-first workflows with compatible AI assistants.
Premiere Pro automation for Claude, Cursor, Codex, and other MCP clients: AI-assisted editing, project organization, and export checks through Adobe’s documented UXP and CEP/ExtendScript APIs.
Free, MIT licensed, local-first, and published to npm as premiere-pro-mcp — the only package name that installs this project.
Website · Recorded demo · Compare servers · Setup guides · Search tools · Troubleshooting · Release facts
Development source: 447 core tools across 68 modules, 4 resources, and 29 guided workflows. A connected UXP host adds 98 capability-gated tools.
The completed AE render handoff previews and confirms importing one finished render into an existing Premiere bin, with host and file rechecks and an import receipt.



Table of contents
What is this?
MCP for Adobe Premiere Pro is the independent, MIT-licensed local MCP server
published as premiere-pro-mcp by
leancoderkavy/premiere-pro-mcp.
Install this package and its separate Premiere connector to connect a compatible
AI assistant to supported project inspection, timeline editing, and export tools.
Start with verify_premiere_connection and make no changes until the bridge works.
Find the right Adobe Premiere Pro MCP guide
An MCP (Model Context Protocol) server that lets AI assistants like Claude, Windsurf, Cursor, GitHub Copilot, or any MCP-compatible client directly control Adobe Premiere Pro — importing media, editing timelines, applying effects, managing keyframes, exporting, and more.
"Add the B-roll clips to V2, apply a cross dissolve between each, color correct them to match the A-roll, and export a 1080p ProRes."
At a glance
This project is independent and is not affiliated with or endorsed by Adobe Inc.
It is also separate from other MCP servers for Premiere Pro. The only npm package
published from this repository is premiere-pro-mcp, and no other package name
installs it.
Comparing similarly named packages? Both this package and
adobe-premiere-pro-mcp declare a premiere-pro-mcp executable. Verify the package
and repository before configuring a client. The new
local configuration helper prints Claude, Cursor,
VS Code, or Codex settings that point directly to this installation. It is a
feature included in v1.15.1 and later.
The current source exposes 447 core tools for supported workflow steps spanning the supported ExtendScript, QE DOM, local media and interchange analysis, revisioned project-context retrieval, safe edit-planning, project-intake preview, review handoff, connection verification, and guarded After Effects MOGRT authoring, batch, library, render-queue, inspection, and Premiere-handoff workflows. A compatible, authenticated UXP panel adds 98 documented, capability-gated tools without replacing the production CEP bridge.
Latest release: 1.29.0
The published v1.29.0 npm artifact contains 447 core tools, 445 in its default profile,
and 543 with a compatible UXP connection. The development catalog above can include
unreleased work. See the versioned facts and package provenance.
GitHub releases use v<SemVer> for both title and tag, such as v1.29.0.
See release naming and version conventions.
Try a bounded workflow
Choose a setup guide: Claude Desktop,
Codex,
other local MCP clients,
or ChatGPT connection options.
Download the workflow starter kit for
synthetic media and three evaluation recipes: a read-only sequence check, an
explicitly confirmed review-frame export, and a product-spot preview. No email is
required. The kit has no recorded Premiere demo or verified host result. Start with
a disposable project and use setup and recovery
if the connection is unavailable.
Release highlights
-
1.28.0 guarded workflows: preview and confirm an After Effects clip round trip, clone a range between sequences with capability-gated UXP actions, and optionally inspect a direct export’s first decoded audio stream. Copying omits transitions and picture/sound links; audio signal does not establish audibility or synchronization.
-
1.28.0 safety and correctness: precise file/host authority, explicit overwrite consent, owned temporary-file cleanup, pre-write refusal recovery, subclip time-of-day metadata, caption mark preservation and audio parameter-scale annotations.
-
1.28.0 connection selection: automatic diagnostics prefer connected UXP; PREMIERE_BRIDGE_MODE=cep withholds UXP tools. CEP-only tools keep their CEP route. Failed UXP mutations are never retried through CEP. Exact-head live Undo, reopen/persistence and cross-host linked-audio validation remain unverified.
-
1.24.0 mark-write fixes: temporary overwrite marks and restored project-item marks are written a quarter media frame past the tick boundary, so Premiere 26.5.2 no longer floors them one frame early in unnest_sequence, replace_clip and duplicate_clip.
-
1.24.0 caption style guidance: get_caption_style_guidance accepts a bounded custom_style and returns Properties panel and Track Style steps; it is guidance only and applies nothing.
-
1.23.0 bounded workflows: 41 added core tools and five guided routes cover exact timeline planning, editorial review, interchange/turnover and guarded delivery. The 52-item implementation ledger records each supported subset and host limit.
-
1.23.0 execution and recovery: cooperating processes serialize protected edits, retain recovery for uncertain outcomes and report cancellation/partial work explicitly. UXP writes require the matching updated panel; older unversioned panels remain read-only.
-
1.23.0 artifact evidence: review and delivery checks pin source checksums, inspect actual decoded frames/audio and preserve unknown native-job completion. Local decoder checks do not establish Premiere playback or native round-trip compatibility.
-
1.23.0 import fixes: folder imports verify actual project-item readback; caption imports validate formats and counts and preserve mutation readback. Export preset discovery avoids proxy ingest presets, and unnesting refuses mixed-media overwrite hazards.
-
1.22.0 readback receipts: effect writes, stabilization, smart bins, proxies, folder imports, sequence creation, marker deletion and clip selection report what Premiere applied as verified, committed_unverified or failed; create_subclip, add_title and update_marker report the stored values; set_sequence_frame_rate lists clips Premiere re-snapped.
-
1.22.0 display codes and proxies: set_sequence_display_format writes Premiere’s real display codes (video 100-113, audio 200-201) and maps the older 0-11 and 0-1 inputs onto them; manage_proxies toggle can set a known proxy display state; the Windows ACL check waits up to 30 seconds for PowerShell.
-
1.21.0 Claude Desktop startup fix: the extension starts when optional settings are blank, and Desktop’s discover-only probe no longer holds the UXP port, so the real server keeps its UXP tools.
-
1.21.0 frame-grid verification: project-item marks, sequence In/Out, work area, link/unlink, zero point, transitions, replace_clip and duplicate_clip verify against Premiere’s own frame and sample grids and fail closed; UXP tools snap times to the sequence frame grid.
-
1.20.0 verified range removal: ripple_remove_timeline_ranges previews, then applies a multi-range ripple removal with a single-use confirmation token and clip-level readback (QE razor; experimental).
-
1.20.0 effect safety: effect colours read and write losslessly, ambiguous property names (for example repeated Lumetri controls) are refused unless property_index is given, and duplicate_clip copies keep the original length.
-
1.20.0 import and metadata additions: import_fcp_xml can import into the open project, import_folder accepts target_bin, get_encoder_presets pages with limit/offset, set_footage_interpretation sets field_type, and XML/AAF/EDL imports through import_media no longer report a false error.
-
1.19.1 timeline fixes: bounded sequence pages with continuation, measured unlinked-clip compatibility, and faster ripple movement with a large-edit opt-in and scaled host waits.
-
1.19.1 safer handoffs: AME queue-wide start requires explicit opt-in, malformed MOGRT files refuse before host import, and uncertain committed edits retain inspection guidance.
-
1.19.1 transcript and capture fixes: empty host-attached transcripts can accept guarded imports; stored values and still files do not establish temporal animation. A short actual video export is needed to assess keyframe curves.
-
Editorial planning: film evidence, transcript cleanup, caption authoring, shorts and chapter planning, rhythm and speaker layouts, timeline QA, and platform delivery plans.
-
Cross-app handoff: capability-aware workflow routes and guarded After Effects render-to-Premiere handoff.
-
Editing correctness: verified readback and explicit capability or committed-but-unverified failures across transition, import, effects, source identity, and track operations. Insert edits ripple QE sync-locked tracks instead of silently desyncing neighbours.
-
MOGRT studio: an optional, separate After Effects CEP connector can
author approval-gated title, callout, quote, and social recipes; constrain
them with local brand kits; batch, publish, queue, inspect, and hand them to
Premiere without claiming visual or completed-render proof.
-
Global-update handoff: a global npm installation can show its server and
connector update state in the Windows CEP panel and, after explicit
confirmation, update only after Premiere has been quit; it never changes a
project, client configuration, source checkout, or custom npm prefix.
-
Local review planning: caption timing previews parse caller-supplied
SRT/VTT without writing or importing it, while revision-bound editorial
evidence stays in the opt-in local context index without provider calls.
-
Repair preview: premiere-pro-mcp --doctor --plan-fixes produces a
privacy-safe, no-write repair plan; the narrowly eligible connector repair
still requires an explicit confirmation that Premiere is closed.
-
Auditable guidance: the universal setup guide, generated public workflow
manifest, and proof runbook make workflow and verification boundaries
inspectable without claiming a licensed-host walkthrough occurred.
-
Faster, clearer delivery: immutable MCP registration work is reused
safely across stateless requests, and the website gained a lighter,
mobile-first workflow view plus current machine-readable facts and crawl
guidance for its public pages.
-
Explicit boundary: the hosted endpoint remains an operator-managed MCP
service; unauthenticated callers are rejected and it does not pair users to
local Premiere processes. See the generated supported action catalog
for individual capability and verification contracts.
See the v1.29.0 release notes
for complete details. Live installation in Premiere Pro still requires host verification.
Current MCP protocol support
The server uses the stable TypeScript SDK v2 and serves the 2026-07-28
stateless protocol over HTTP and stdio, while retaining legacy MCP compatibility
through 2025-11-25. Modern clients receive discovery, validated routing headers,
cache hints, subscription-stream support, and the formal Premiere extension
capability. See the complete MCP capability and boundary report.
If an MCP client cannot complete its server/discover probe, set
PREMIERE_MCP_PROTOCOL_MODE=legacy in that client’s server environment and restart
the client. This uses the SDK’s base stdio transport and the legacy initialization
handshake only; leave it unset (or auto) for modern MCP capabilities.
Guarding multi-project CEP sessions
Every registered tool accepts optional expected_project_path, an absolute path to the intended saved Premiere project. Generated CEP scripts compare the active project’s host-normalized file path before the tool body; a different, missing or unsaved project refuses without running that body. The guard is scoped to the request and checked for every generated command in a multi-command tool. Omitting it preserves existing behavior.
{"name":"get_project_info","arguments":{"expected_project_path":"/Projects/Film.prproj"}}
This protects against accidental active-project switches, not deliberate project switching inside unsafe scripts. It does not select a project or prove media identity. Paths remain in request context and are not telemetry. UXP and After Effects commands refuse this CEP-only guard; UXP workflows use their expected_snapshot identity contracts. Local-only tools do not inspect Premiere. Filesystem aliases are not resolved as a claim of project identity.
For editors evaluating an AI workflow
Before an assistant changes an active project, use the
Premiere Pro AI workflow checklist
to define the target and no-change boundaries, verify the local connection, request
a bounded plan, and inspect the returned result. It is a practical starting point for
assistant editors and post leads testing a repeatable workflow on a duplicate project
or small test sequence.
For product context, see the Adobe Premiere AI Assistant and MCP comparison
and the Claude Desktop setup guide.
If you are deciding between a single local project, an Adobe Production on shared
storage, or a remote Team Project, use the Premiere Pro collaboration workflow
guide before
you evaluate an MCP path. It links the relevant Adobe guidance, makes no project
inspection request, and ends with the same read-only connection check.
For a concrete first Project Intake preview, choose one of the three
schema-checked, no-sensitive-data starter templates.
They are evaluation samples only: a human policy owner must review and replace
their bins, media rules, and organization rules before a facility uses one.
Quick Start
Install the published package (verify the name)
npm i -g [email protected]
This repository publishes only premiere-pro-mcp. A differently named package (adobe-premiere-pro-mcp) may also declare a premiere-pro-mcp executable. Before configuring a client, confirm:
npm list -g premiere-pro-mcp
premiere-pro-mcp --version
npm view premiere-pro-mcp homepage repository.url
On Premiere 25.6+, install the UXP .ccx connector first, configure its token, then run the read-only verify_premiere_connection prompt. Keep --install-cep as the compatibility path for older hosts and operations not yet available through UXP.
Easiest supported path: Claude Desktop
- Download the current Claude Desktop bundle (
.mcpb).
- In Claude Desktop, open Settings > Extensions > Advanced settings > Install Extension, select the downloaded bundle, and restart Claude Desktop.
- On Premiere 25.6+, install the release’s UXP
.ccx connector and configure the same PREMIERE_UXP_TOKEN in the server and panel. See UXP installation. Install the signed CEP connector (.zxp) too when you need compatibility-only tools or an older Premiere host.
- Restart Premiere, open a project, then open Window > UXP Plugins > MCP for Adobe Premiere Pro. For CEP compatibility, use Window > Extensions > MCP for Adobe Premiere Pro.
- In Claude, enter:
Safely check my Premiere connection with verify_premiere_connection. Make no changes.
The Claude bundle contains the local MCP server, so this route does not require Node.js. The Premiere connector is a separate required install. The first prompt is read-only and reports whether the server is installed, configured, connected, and live-verified.
First proof, before the first edit

This is an illustrated workflow, not a Premiere panel screenshot or licensed-host proof.
- Open a copied test project and an active sequence in Premiere.
- Open Window > Extensions > MCP for Adobe Premiere Pro. “Running” means the local panel bridge is available; it does not show that an edit completed.
- Run
premiere-pro-mcp --doctor to check only local package/configuration readiness.
- Ask the AI client:
Run verify_premiere_connection. Make no changes. The returned check is read-only and avoids project names, paths, and media details.
If a bridge, project, or active sequence is missing, fix that setup state before allowing a mutation. For a concise, translatable version of this path, see quick starts in English, Spanish, and Japanese. The translations are machine-assisted drafts and retain command names in English.
Other AI assistants
Cursor, VS Code/Copilot, Windsurf, and other MCP clients do not currently have a project-provided one-click installer. Use their MCP settings with the advanced npm route below. Keep the assistant, server, connector, and Premiere on the same computer.
For a portable reference users can download and attach to any AI assistant, see
the MCP for Adobe Premiere Pro setup guide for AI assistants.
Attaching the guide provides assistant context; the local server and Premiere
connector still need to be installed separately.
Advanced setup: npm or source
Before you begin
- Node.js 20.19 or newer on Windows or macOS.
- Adobe Premiere Pro 2020–2026. Prefer the UXP bridge on Premiere 25.6+; use CEP for older hosts and compatibility-only operations. Keep Premiere, installed bridges, and your MCP client on the same computer.
- For
trim_clip and slip_edit, install FFmpeg
with ffprobe on PATH (brew install ffmpeg on macOS or
winget install Gyan.FFmpeg on Windows). These source-range edits are unavailable
without ffprobe and accessible media with readable timestamp clocks: they
refuse before mutation when physical source bounds cannot be verified.
FFmpeg also provides the optional detect_silence dependency. The production
Docker image already includes it.
1. Install
Option A — npm:
npm install -g premiere-pro-mcp
Option B — Clone from source:
git clone https://github.com/leancoderkavy/premiere-pro-mcp.git
cd premiere-pro-mcp
npm install
npm run build
2. Install the Premiere bridge
For Premiere 25.6+, install the UXP .ccx connector using the UXP distribution instructions, then set the same secret (at least 16 characters) as PREMIERE_UXP_TOKEN in the MCP server and UXP panel. Automatic connection diagnostics select UXP when connected; CEP-only tools still require CEP.
Install CEP as the compatibility bridge for older Premiere versions and tools without a documented UXP route:
If installed via npm:
premiere-pro-mcp --install-cep
If cloned from source:
npm run install-cep
This installs the CEP compatibility plugin into Premiere Pro’s per-user extensions folder and enables debug mode. Set PREMIERE_BRIDGE_MODE=cep only when you need to force CEP even while UXP is connected.
3. Check the setup
premiere-pro-mcp --doctor
Then ask your MCP client to run verify_premiere_connection. The check is read-only.
Update an existing installation
New releases update the local server and Premiere connector; a deployment of
the hosted MCP service does not replace software on your computer. Fully quit
Premiere before updating the connector.
Installed globally from npm:
premiere-pro-mcp --check-update
premiere-pro-mcp --update
--update only changes a global npm installation. It installs the published
latest package, refreshes the bundled CEP connector, and leaves your MCP
client configuration and projects untouched. Restart Premiere and your MCP
client afterward, then run verify_premiere_connection before editing.
From the MCP for Adobe Premiere Pro panel (Windows global npm install):
The MCP updates card compares the installed global server and connector
with npm latest. Choose Update after quit, review the confirmation, then
quit Premiere normally. A per-user helper waits for Premiere to exit; it never
force-quits the app, then installs the published npm package and refreshes its
matching connector. This also supports older global installs that predate the
--update command.
When you reopen Premiere, the panel reports the result and reminds you to
restart your MCP client and verify the connection. This flow never changes a
project or MCP client configuration. It deliberately will not update a Git
checkout, a custom npm prefix, or a Claude Desktop .mcpb bundle.
Installed from a Git clone:
npm run check-update:source
npm run update:source
The source updater refuses a checkout with uncommitted files or local commits,
fast-forwards only to its configured upstream, runs npm ci and the production
build, then refreshes the CEP connector. This avoids silently overwriting local
code. If you installed the Claude Desktop .mcpb bundle, download and install
the newer bundle from the GitHub release instead; Claude controls extension
updates.
Remove the CEP connector
Fully quit Premiere, then remove only this connector:
premiere-pro-mcp --uninstall-cep
The uninstaller intentionally leaves Adobe’s shared PlayerDebugMode setting in place so it does not disrupt other CEP extensions. Remove the MCP server from your AI client’s configuration and uninstall the npm package separately if you no longer use it. On macOS, --uninstall-cep removes the per-user npm/source install; the signed system-wide .pkg route has a separate privileged removal command in distribution readiness.
Publishing to npm
The easiest repeatable path is the token-free GitHub Actions workflow:
- In the npm package settings, configure GitHub Actions as the trusted publisher for
leancoderkavy/premiere-pro-mcp and workflow file npm-publish.yml.
- Allow the
npm publish action.
- Open Actions -> Publish npm -> Run workflow and keep the default
latest tag.
The workflow installs dependencies, builds, runs tests, verifies the packed files, refuses to
republish an existing version, then publishes through short-lived OIDC credentials with automatic
provenance. No npm token or recurring OTP is required.
For local publishing, use the guided helper:
npm run publish:npm
Useful local variants:
npm run publish:npm:dry-run
NPM_OTP=123456 npm run publish:npm
NPM_TOKEN=npm_xxx npm run publish:npm
Manual installation (macOS)
mkdir -p ~/Library/Application\ Support/Adobe/CEP/extensions
ln -s "$(pwd)/cep-plugin" ~/Library/Application\ Support/Adobe/CEP/extensions/MCPBridgeCEP
# Enable unsigned extensions (CSXS 9–14)
for v in 9 10 11 12 13 14; do
defaults write com.adobe.CSXS.$v PlayerDebugMode 1
done
Manual installation (Windows)
- Copy the
cep-plugin folder to %APPDATA%\Adobe\CEP\extensions\MCPBridgeCEP
- Open Registry Editor and set these String (
REG_SZ) values to 1 (not DWORD):
HKEY_CURRENT_USER\Software\Adobe\CSXS.12\PlayerDebugMode
- (repeat for CSXS.9 through CSXS.14)
If you installed from npm, configure the client to run the global command:
{
"mcpServers": {
"premiere-pro": {
"command": "premiere-pro-mcp"
}
}
}
If you cloned the repository instead, use the source-build configuration shown below for your client.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"premiere-pro": {
"command": "node",
"args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"]
}
}
}
Windsurf / Cascade
Add to your MCP server configuration:
{
"premiere-pro": {
"command": "node",
"args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"]
}
}
Cursor
Add to .cursor/mcp.json in your project or global config:
{
"mcpServers": {
"premiere-pro": {
"command": "node",
"args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"]
}
}
}
After the server is enabled, select Claude Fable 5.1 in Cursor when you want a
longer-horizon session. See Claude Fable 5.1 workflows.
GitHub Copilot (VS Code)
Add to your VS Code MCP server configuration:
{
"mcpServers": {
"premiere-pro": {
"command": "node",
"args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"]
}
}
}
4. Verify the bridge in Premiere Pro
- Open (or restart) Premiere Pro
- The bridge starts automatically using the default temp directory (or its previously saved setting)
- Optionally go to Window > Extensions > MCP for Adobe Premiere Pro to confirm the green “Running” status or change the Temp Directory to match your MCP client config
- Ask your AI assistant to run
get_capabilities, then verify_premiere_connection, with Premiere open. Both report the active bridge; ping remains the CEP-specific probe.
- For a safe first request, ask: “What is my current Premiere Pro project and active sequence? Do not make changes.”
The default bridge directory is derived from the operating system on both sides, so most local setups should not set PREMIERE_TEMP_DIR. On macOS, the server resolves the per-user system temporary directory even when a GUI-launched client strips TMPDIR, keeping it aligned with Premiere’s CEP panel. If you override it, use the same absolute path in the MCP server and CEP panel; Windows and macOS paths are not interchangeable.
Codex plugin
This repository includes an installable Codex plugin that bundles the local MCP
server with a safety-oriented Premiere editing skill.
From a clone of this repository:
codex plugin marketplace add .
codex plugin add premiere-pro@premiere-pro-mcp
npx -y [email protected] --install-cep
Restart Premiere Pro and start a new Codex session after installation. The plugin
launches [email protected] through npx; the separate CEP installation is
required because the MCP server communicates with the running Premiere host through
the local bridge.
The plugin source lives in plugins/premiere-pro, and the
repository marketplace manifest lives in
.agents/plugins/marketplace.json.
Use the Codex plugin with codex --model gpt-6-astra when your account has access.
The server supplies session-aware workflow instructions and bounded tool discovery:
call get_capabilities with {"tool_query":"transcript","tool_limit":10} to
find relevant operations, their descriptions, and backend requirements. Searches
default to tools registered under the current authority and tool packs.
See GPT-6 Astra workflows for evidence retrieval, visual
review, execution ordering, and the division between MCP and client capabilities.
GPT-6 Sol and GPT-6 Luna
Use the Codex plugin with codex --model gpt-6-sol for multi-step agentic edits,
or codex --model gpt-6-luna for focused, high-volume inspection passes, when
your account has access. Both call the same MCP tools under the same authority,
preview, and readback rules. See GPT-6 Sol and Luna workflows.
Claude
For Claude Code, add this repository as a marketplace and install the plugin:
/plugin marketplace add leancoderkavy/premiere-pro-mcp
/plugin install premiere-pro@premiere-pro-mcp
Then install the Premiere bridge and start a new Claude Code session:
npx -y [email protected] --install-cep
The Claude Code package lives in
claude-plugins/premiere-pro, with its marketplace
at .claude-plugin/marketplace.json.
Claude Desktop uses the self-contained MCP Bundle (.mcpb) format. Build and
validate the current bundle with:
npm run build:claude
Install the resulting file from artifacts/ through Settings > Extensions >
Advanced settings > Install Extension. The Premiere CEP bridge must still be
installed separately.
Claude Fable 5.1
Use Cursor, Claude Desktop, or Claude Code with Claude Fable 5.1
(claude-fable-5-1) when your account has access. Model selection belongs to the
client; this server does not run an Anthropic model. Fable 5.1 is optional:
other Claude models can call the same MCP tools. If Cursor Privacy Mode or an
Enterprise plan is enabled, an admin must approve Anthropic’s Fable data-retention
policy before the model is available.
The server supplies session-aware workflow instructions and bounded tool discovery:
call get_capabilities with {"tool_query":"transcript","tool_limit":10} to
find relevant operations, their descriptions, and backend requirements. Keep
Premiere mutations serialized even in a long Fable 5.1 session. Image review of
returned frames is not playback or delivery proof.
See Claude Fable 5.1 workflows for connection order,
privacy boundaries, evidence retrieval, Cursor’s Opus fallback, and the division
between MCP and client capabilities. The public walkthrough is
How to Use Claude Fable 5.1 with MCP for Adobe Premiere Pro.
Claude Opus 5.5
Use Claude Code, Claude Desktop, or Cursor with Claude Opus 5.5
(claude-opus-5-5) when your account has access. Model selection belongs to the
client; this server does not run an Anthropic model. Opus 5.5 is optional. Keep
Premiere mutations serialized and preview before apply. See
Claude Opus 5.5 workflows.
Windows and macOS capability coverage
| Surface |
Windows |
macOS |
Verification boundary |
| UXP preferred diagnostic / preview workflows |
Premiere Pro 25.6+ |
Premiere Pro 25.6+ |
Live loopback WebSocket and host API verification required |
| CEP production / compatibility bridge |
Premiere Pro 2020–2026 |
Premiere Pro 2020–2026 |
Run get_capabilities, then ping with Premiere open |
| npm CEP installer |
Copies plugin and verifies REG_SZ debug keys |
Copies plugin and verifies the installed manifest/debug settings |
Restart Premiere after installation |
| AE MOGRT authoring CEP bridge |
After Effects 2018+ |
After Effects 2018+ |
Opens only a saved, workspace-contained AE project; a local ZIP check is not import, playback, or visual verification |
| CI build and unit tests |
Node 20, 22, and 24 |
Node 20, 22, and 24 |
GitHub-hosted OS runners; no Adobe host is available in CI |
get_capabilities reports the current operating system, temp directory, CEP/UXP coverage, enabled authority profile, and any live-host verification still required. It also includes the full tools catalog generated from the tools registered by the server, including tools disabled by the active profile. Every entry identifies:
- the execution backend (
local, CEP/ExtendScript, QE, or orchestrator);
- static support status (
supported, limited, experimental, or unsupported);
- the minimum Premiere version known to the server;
- the required authority and whether the current profile enables it;
- the verification boundary and whether a live Premiere host is required; and
- relevant operational notes.
QE-backed tools are reported as experimental because QE is undocumented and can vary between Premiere builds. Authority availability is reported separately from implementation support, so disabling edit, for example, does not incorrectly label editing tools as unsupported. Static metadata never claims that a Premiere operation succeeded; use ping and inspect each tool result for runtime evidence.
MCP tools/list is filtered to the active authority profile. The default
inspect,edit,export,filesystem profile advertises 367 of the 369 registered
tools and omits execute_extendscript and evaluate_expression, which require
explicit unsafe-script authority. ping and get_capabilities remain visible
under every profile so a restricted or misconfigured server can still explain
its state. The call-time capability guard remains authoritative even if listing
metadata is wrong.
Workflow-scoped discovery packs and structured outputs
By default, the full permitted catalog remains available. Set
PREMIERE_MCP_TOOL_PACKS to essential, inspection, delivery, captions,
or a comma-separated combination such as inspection,captions to reduce the
tool discovery and registered session surface for a focused client. full is the explicit
full-catalog mode and cannot be combined with another pack. ping and
get_capabilities remain listed for diagnosis, and every registered call still
passes through the same capability guard; a pack never grants authority.
Opt-in fast client setup
Print a configuration snippet for a smaller discovery surface:
premiere-pro-mcp --print-client-config claude --fast
Replace claude with cursor, vscode, or codex for that client’s format.
Merge the printed entry into your client configuration, then restart its MCP
connection. This command prints only; it does not edit client files or contact
Premiere. It targets this installed copy using absolute local paths.
The fast profile selects the existing essential pack, clears inherited explicit
tool lists, and keeps full per-call guard schemas. Authority checks and mutation
readback remain unchanged. It reduces discovery payload; it does not make
Premiere execute edits faster. Tools outside the pack are unavailable in that
session. For a broader workflow, change PREMIERE_MCP_TOOL_PACKS in the entry to
another pack or full, then reconnect. Without --fast, configuration output
and the default full catalog remain unchanged. No plugin install defaults change.
Compact schema profile
Every tool accepts two optional host guards per call, expected_project_path
and expected_cep_target, and by default every listed inputSchema carries
both (about 3,100 characters per tool). Set PREMIERE_MCP_SCHEMA_PROFILE=compact
to omit them from tools/list and register one extra tool, set_session_guard,
that stores them once for the MCP stdio session (one process, memory only).
Stateless HTTP rejects the compact profile; use full schemas and per-call guards there. Every later call applies the stored guards exactly as if
the client had passed them; a per-call value still wins and is still validated
against the full guard schema. full is the default and changes nothing. The
profile is a listing decision only: enforcement is unchanged under both.
For a session that needs a handful of specific tools rather than a whole pack,
set PREMIERE_MCP_TOOL_LIST to a comma-separated list of tool names, for
example PREMIERE_MCP_TOOL_LIST=get_project_info,get_bin_contents,save_project.
The list unions with PREMIERE_MCP_TOOL_PACKS when both are set, ping and
get_capabilities stay listed, and a name that matches no registered tool is a
startup error so a typo never silently drops a tool. UXP tool names are
accepted without PREMIERE_UXP_TOKEN; they register once the UXP bridge is
configured. fork/packs/*.txt hold reviewable one-name-per-line lists
(PREMIERE_MCP_TOOL_LIST="$(grep -v '^#' fork/packs/cleanup.txt | paste -sd, -)").
Every listed tool now declares the same machine-readable result envelope through
MCP outputSchema: ok, tool, plus data on success or error on failure.
The tool-specific data shape remains versioned by the individual tool result,
so clients can reliably distinguish transport success from a Premiere or local
operation failure without parsing the text block.
After Effects MOGRT studio
This is a narrow authoring path, not an arbitrary After Effects script runner.
Install the separate local connector, fully restart After Effects, and open
Window > Extensions > MCP for Adobe After Effects:
premiere-pro-mcp --install-after-effects-cep
Then open a saved .aep project inside an approved workspace and use this order:
verify_after_effects_connection — read-only connector and saved-project check.
preview_mogrt_recipe — produces an expiring, one-time plan for one of five
supported recipes: lower_third, title_card, callout, quote_card, or
social_end_card; it never creates directories or contacts Adobe.
create_mogrt_recipe with that token and confirm_export: true — creates one
composition, saves the open project, and requests one .mogrt export.
verify_mogrt_artifact — checks only local file existence and its ZIP header.
Optional studio paths retain the same preview-and-confirm boundary:
validate_mogrt_brand_kit validates local name-prefix, accent/text colors,
font request, safe-margin, and workspace-contained logo values before they
are passed into a recipe.
preview_mogrt_batch / create_mogrt_batch export up to 20 JSON/CSV rows
serially; batches stop on a host error and do not promise rollback.
preview_mogrt_library_publish / publish_mogrt_to_library write a new,
immutable v001, v002, … copy under an already-existing local library.
inspect_after_effects_template_source returns source-comp dimensions,
duration, fonts, layer kinds, and controller names on AE 16.1+, while
inspect_after_effects_render_templates lists host template names from an
existing queue item.
preview_after_effects_render / enqueue_after_effects_render queue one
exact render but never start it. preview_mogrt_premiere_handoff /
apply_mogrt_premiere_handoff import into an explicitly named empty
MOGRT Verify - … Premiere sequence and read back insertion/control
descriptors.
The authoring connector uses AFTER_EFFECTS_MCP_TEMP_DIR (default: the OS temp
directory plus after-effects-mcp-bridge), completely separate from
PREMIERE_TEMP_DIR. The tool will not create, replace, or switch projects; it
requires the already-open AE project and output directory to be contained by the
same approved workspace. An import/control readback still needs rendered-frame
review before delivery; use capture_frame or a separate approved export path.
inspect_sequence_review_report creates one read-only handoff report from
Premiere timeline readback: sequence structure, primary-track gaps, disabled
clips, muted tracks, marker timing, and offline-source evidence. It never
returns media paths; marker comments are omitted unless explicitly requested.
The report is not proof of rendered pixels, audio quality, caption accuracy,
rights, or editorial approval.
The MCP handshake reads serverInfo.version from the installed package.json,
so clients receive the package version that is actually running rather than a
separately maintained literal.
Tools with mixed execution boundaries can provide explicit operational metadata at registration. This is used for local file verification, static feature-support reports, and hybrid local-plus-Premiere validation so the capability catalog does not infer a host dependency from naming alone.
Collaboration and AI feature boundaries
get_advanced_feature_support returns a machine-readable matrix for Productions,
Team Projects, Frame.io, Media Intelligence, Generative Extend, Object Mask,
caption translation, Speech-to-Text, Enhance Speech, Remix, editorial plans,
Premiere AI Assistant, Generative Media, and a future local semantic index. Each
entry includes an explicit access mode: direct, observable-only, artifact-import,
external-provider, user-assisted, unavailable, or planned. Pass an optional
Premiere version, intended backend, confirmed entitlements, and network state to
evaluate prerequisites without conflating them with API availability. It
distinguishes documented APIs from entitlements, network prerequisites, separate
service APIs, and user-assisted operations without using menu automation or
private APIs.
The report tool itself is local: it does not contact Premiere and is callable
through the current MCP server. Each feature entry separately reports whether
its operations are callable through the production CEP transport. Productions
reports only static backend/version eligibility until a UXP host performs live
capability negotiation.
- Productions exposes documented read-only state through UXP, but the production
MCP transport is still CEP.
- Frame.io needs a separately authenticated Frame.io API integration; an account
entitlement alone does not make it callable through Premiere’s DOM.
- Transcript JSON import/export is documented in UXP. Starting Speech-to-Text is not.
preview_transcript_edit_uxp and plan_transcript_rough_cut_uxp provide a
revision-locked transcript-edit workflow. The planner maps selected transcript
ranges to verified 1x placements in a duplicate sequence and emits descending
split/remove instructions; it does not claim that Adobe exposes native transcript
text deletion or perform an unverified destructive edit.
- The remaining AI operations are user-assisted or unsupported by documented
public APIs. The tool explains what can be inspected after a user completes
the operation and where artifact provenance cannot be established safely.
- The server never uses menu automation, private APIs, clip-name heuristics, or
duration changes as proof that an AI operation occurred.
Reusable project context
For projects where repeatedly inspecting clips, transcripts, audio, and timeline
placements is expensive, call manage_project_context with action: "capture".
The local context engine indexes a bounded active-sequence snapshot, hashes native
project/media paths before persistence, and returns independent source, timeline,
and combined context revisions. Add transcript passages, shot descriptions, audio
observations, or editor notes once with action: "enrich"; ordinary trims and moves
update the timeline revision without discarding unchanged source analysis.
Use search_project_context to retrieve only evidence relevant to the current
editing intent. create_context_edit_plan returns a non-mutating candidate scaffold
and stale-state guards; create_editorial_plan adds reviewed organization,
stringout, rough-cut, and caption-artifact routes without calling an LLM or
changing Premiere. Exact identities must still be resolved and passed through the
routed operation’s preview/confirmation flow before any application. See the
project context engine guide for storage
controls, privacy boundaries, and invalidation behavior; see
local-first AI editorial workflows for the
complete review-and-route workflow.
Authenticated UXP connection
Automatic connection diagnostics prefer a connected local UXP panel. Supported UXP tools remain capability-gated, and CEP-only tools retain their CEP route. If UXP is not connected, the automatic diagnostic selects CEP:
PREMIERE_UXP_TOKEN="replace-with-a-long-random-secret" premiere-pro-mcp
Generate that secret yourself and enter the same value in the UXP panel (Window → UXP Plugins, not the CEP Connector). CEP-only setups do not use a token. The listener binds only to 127.0.0.1:7777, authenticates the WebSocket upgrade, requires a versioned capability handshake, correlates concurrent requests, and fails pending work on timeout or disconnect. Set PREMIERE_UXP_PORT to use another loopback port.
PREMIERE_BRIDGE_MODE=auto is the default. Automatic connection diagnostics prefer connected UXP; PREMIERE_BRIDGE_MODE=cep disables UXP tool registration and forces CEP selection. Core CEP-only tools keep their CEP route. get_capabilities and verify_premiere_connection report the mode and connection selection; runtime capability checks still decide each UXP operation. A failed UXP mutation is never retried through CEP.
When enabled, MCP discovery includes 98 capability-gated UXP additions. The first expansion covers effects, deterministic timeline selection, selection batches, scene detection, proxy/ingest, relink, metadata, color conformance, read-only Premiere/After Effects environment inspection, Source Monitor audition, storage, and least-privilege workspace access. The second adds Project-panel selection, marker CRUD, single-transaction undoable beat-grid marker application, bin organization, sequence settings, imports, typed effect parameters/keyframes, track-item transforms, atomic J/L split edits, SequenceEditor timeline edits, sequence lifecycle, and AME encoding. The third wave begins with a redacted event journal, conservative AME terminal receipts, explicit host-readiness gates, safe multi-project sessions, lease-based growing-media control, namespaced workflow checkpoints, bounded media-health maintenance, caption-aware track mute state, transactional source trim/framing, guarded sequence-range updates, guarded source-media start timing, and guarded source-media frame-rate/pixel-aspect overrides documented in the third-wave workflow matrix. The bounded migration surface also includes a non-ripple selected-item lift, native video-transition listing and guarded transactions, native active and explicit-GUID sequence timing inspection, opt-in installed-MOGRT directory inspection without filesystem enumeration, bounded native timeline structure inspection with opt-in source IDs, classification, and broad content category, guarded sequence display-format updates, a capped native Project-panel tree, a double-read Project-panel insertion-bin snapshot, guarded empty/default sequence creation, bounded native Project-panel schema/item-column metadata inspection, guarded direct Project-panel metadata replacements with exact state/readback guards, guarded typed Project metadata schema-field creation with non-field-level readback, guarded direct updates to three named application preferences, guarded transcript JSON replacement for one exact source clip, direct active-track-item identity readback, guarded source-only slips, guarded contiguous three-item slides, guarded append-only timeline duplicates, a guarded clone-based unnest that keeps every nested clip’s effects in one undoable transaction, guarded contiguous same-track ripple deletes, guarded source-project-item color labels resolved from one timeline coordinate, guarded explicit-sequence preview-frame rectangle updates, explicit opt-in source-media provenance paths with bounded double resolution, bounded source-proxy readiness with an explicit attached-path disclosure, guarded static effect-parameter PointF x/y updates, bounded effect-parameter descriptor catalogs, bounded project/sequence Object Mask audits, native FrameRate/TickTime frame-alignment inspection with caller-owned inputs and tick readback, and native TickTime arithmetic over caller-owned canonical tick strings; it does not claim direct empty-track create/delete, global redo support, playback proof, Object Mask counts or visual validity, an atomic Project-panel metadata compare-and-set, app-preference Undo, installed-template availability or compatibility, imported transcript persistence, override-presence/clear semantics, path existence, source lineage or rights, proxy compatibility, general or keyframed effect-parameter value readback, rendered-frame correctness, linked-item sync, or licensed-host validation. A separate hybrid benchmark gate keeps native acceleration disabled until reproducible cross-platform evidence exists. See also the first stable workflow matrix, the next-ten workflow matrix, the guarded-slip workflow notes, the guarded-slide workflow notes, the guarded-duplicate workflow notes, the clone-based unnest notes, and the guarded-ripple-delete workflow notes. Commands are advertised only while the authenticated local UXP bridge is connected; the host capability handshake remains the authority for support in the running Premiere build. A failed UXP command is never silently retried through CEP because the first operation may have partially succeeded. UXP edits require a matching command-schema/receipt version, durable panel ledger storage and native cryptographic entropy; older unversioned panels remain read-only until the matching panel is installed.
The bounded UXP migration surface also exposes a read-only animated-PointF endpoint-displacement inspection through automate_effect_parameters_uxp. It requires one exact component and parameter target plus a strictly increasing time interval, double-reads native endpoint values and their distance, and refuses static, malformed, or changed parameter state. It does not modify Premiere or prove rendered appearance, playback, persistence, Undo, or licensed-host behavior.
The bounded UXP migration surface also exposes guarded static Color effect-parameter RGBA updates through automate_effect_parameters_uxp. They require a complete double-read snapshot, explicit confirmation, a valid operation ID, per-parameter serialization, one native transaction, and exact raw-component readback. They reject time-varying parameters and do not claim keyframed Color edits, color management, rendered appearance, playback, persistence, Undo, or licensed-host validation.
The bounded UXP migration surface also exposes guarded typed Project metadata schema-field creation. It requires the exact inspected active-project identity and 12 KiB-bounded panel XML, an explicit confirmation and operation ID, and serializes this bridge’s schema and panel-replacement calls per project. Adobe provides no atomic compare-and-set or field-level schema getter: native acceptance and a changed panel XML are evidence only, so the command always returns committed_unverified and does not claim field presence, persistence, UI results, Undo, cancellation, or licensed-host validation.
The panel now requests access to one operator-selected workspace instead of declaring full filesystem access. Choose the folder in the panel before invoking a path-based UXP workflow. Media, relink, preset, export, and Source Monitor file paths must remain inside it; the persistent capability token and native root path are never returned over MCP. After a folder is granted, path-based commands resolve each native path through that folder’s Entry tree and compare the host nativePath against the approved root, so symlink or junction targets outside the workspace still fail closed. If the host Entry cannot be walked and no resolver is supplied, those commands stay unsupported and the CEP fallback remains the path-based compatibility route.
Native transcript editing starts with a read-only, revision-locked planning flow. Use
get_clip_transcript_uxp to export the transcript Premiere generated for a source
clip, select source-time ranges from that JSON, and pass its SHA-256 revision to
preview_transcript_edit_uxp. The preview sorts and merges ranges and returns a
confirmation token without changing the timeline. Premiere does not expose a
documented operation that directly turns deleted transcript text into timeline cuts,
so automatic application remains withheld until the source-to-sequence mapping and
documented reconstruction path pass live-host validation. search_clip_transcript_uxp
provides read-only discovery without substituting an external transcription engine.
Premiere 26.2-26.3 hosts also expose documented UXP workflows for revisioned project
inspection, verified project saves, preset-based sequence creation, OTIO/FCP XML
interchange, transcript-language discovery, Object Mask detection, Adobe Media
Encoder control, track renaming, subclip creation, stable marker inspection,
Source Monitor positioning, and clip transcript detection. Mutations accept optional
idempotency keys and return explicit verification outcomes. See the Adobe UXP 26.3
coverage matrix and the UXP capability
foundation for the command matrix and live-host
validation boundary.
The Premiere surface registry separately
tracks the Premiere DOM, general UXP JavaScript, HTML/CSS, Spectrum, plugin
guides, UXP Hybrid C++, the standalone Premiere C++ PrSDK, CEP/ExtendScript,
the CEP platform, QE, and pinned competitor sources. The exhaustive
general UXP JavaScript inventory is generated
from Adobe’s pinned declarations, while the exhaustive
Premiere documentation inventory tracks every
page in Adobe’s live sitemap. This keeps declaration and documentation
inventory distinct from implementation and licensed-host coverage.
The stable workflow expansion adds native component-chain effects, deterministic
timeline selection, compound selection batches, scene-edit detection, proxy/ingest control, guarded offline
relink, transactional project/XMP metadata, color and footage-conformance
preflight, full Source Monitor audition, and project/Production storage checks.
See the stable UXP workflow matrix for exact
argument, undo, confirmation, and live-host boundaries.
Architecture

Local (stdio):
┌───────────────┐ stdio (MCP) ┌──────────────┐ File-based IPC ┌───────────────┐
│ AI Client │ ◄──────────────► │ MCP Server │ ◄────────────────► │ CEP Plugin │
│ (Claude, │ │ (Node.js / │ .jsx commands │ (runs inside │
│ Windsurf, │ │ TypeScript) │ .json responses │ Premiere) │
│ Cursor, │ └──────────────┘ └──────┬────────┘
│ Copilot) │ │
└───────────────┘ │ evalScript()
▼
┌───────────────┐
│ Premiere Pro │
│ ExtendScript │
│ + QE DOM │
└───────────────┘
Remote (HTTP/SSE — Fly.io):
┌───────────────┐ HTTP+SSE (MCP) ┌─────────────────────┐ File-based IPC ┌──────────────┐
│ AI Client │ ◄──────────────► │ MCP Server │ ◄────────────────► │ CEP Plugin │
│ (any MCP │ │ premiere-pro-mcp │ .jsx / .json │ (Premiere) │
│ client) │ │ .fly.dev │ shared volume └──────────────┘
└───────────────┘ └─────────────────────┘
- AI client invokes an MCP tool (e.g.,
add_to_timeline)
- MCP server generates ES3-compatible ExtendScript with helper functions prepended
- Script is written to a
.jsx command file in a shared temp directory
- CEP plugin polls for command files, executes via
CSInterface.evalScript()
- Result JSON is written to a response file and returned to the AI
The file-based IPC bridge is simple, reliable, and works across macOS and Windows without network sockets.
inspect_unique_object_identity_uxp is a separate read-only native identity
inspection route. It resolves exactly one project item or sequence, reads the
opaque UniqueSerializeable identity twice, and rejects drift without retaining
the value or treating it as ed</https:></https:>
README 内容过长,已截取前 64 KB。完整内容请前往 GitHub 仓库查看。
评论