Premiere Pro Full MCP
Local-first MCP server for automating Adobe Premiere Pro — inspect and control projects, timelines, media, effects, captions, exports, workspace, plugins, and cloud workflows through a risk-gated action surface.
Report backend readiness, target domain, and operation risk with
premiere_capabilities.Invoke official UXP, safe legacy DOM/QE, and semantic UI capabilities via
premiere_api.Run bounded read-only host, project, and sequence inspections with
premiere_inspect.Manage project lifecycle actions such as import, relink, proxy, metadata, and project state with
premiere_project.Perform media import, relink, proxy, and metadata operations with
premiere_media.Edit sequences, tracks, clips, selections, markers, and transitions with
premiere_timeline.Discover or apply effects, parameters, keyframes, transitions, and audio operations with
premiere_effects_audio.Inspect or change graphics, transcripts, and captions with
premiere_text_captions.Run confirmed frame, sequence, interchange, or AME export actions with
premiere_export.Control workspace, playback, panels, and history with
premiere_workspace.Inventory installed plugins/extensions or invoke semantic plugin adapters with
premiere_plugins.Inspect or invoke approved signed-in Adobe cloud workflows without extracting credentials via
premiere_cloud.Preview, apply, check status, cancel, and undo operations with
premiere_operations.
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., "@Premiere Pro Full MCP Check the Premiere Pro connection and list the open projects"
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.
Premiere Pro Full MCP (v2.0)
Local-first MCP server for Adobe Premiere Pro. Rebuilt from scratch to be a safe, local-only tool.
Highlights
No external account or API token. CEP is loopback-local and UXP uses a machine-local HMAC key. There is no remote auth, approval envelope,
actionId, plan-hash, or preview/confirm lifecycle.One persistent dual-track connection. The Node server opens a loopback WebSocket to the CEP extension (the classic ExtendScript host) AND a HMAC-authenticated UXP bridge. Tools that Premiere 26.x only exposes through UXP (
export_frame/capture_frameviaExporter, theSequenceEditortransaction actions, clip move/remove/trim, effect add/remove, video transitions, track mute) automatically route over the UXP track; everything else runs over CEP/ExtendScript. No file polling, no leader lease.354 flat tools (266 official
adobe-premiere-pro-mcpv1.2.0 names + 87 project-specific extras +premiere_capabilities). Every tool is its own MCP tool namedpremiere_<snake_case_tool>. NoactionIdanywhere.UXP-only operations actually work. The previously-missing capabilities — frame capture, video transition add, clip effect add/remove, clip move/remove/trim, track mute — are implemented on the UXP panel bridge. The server reports
uxpConnected,uxpOperations, anduxpCatalogCountsso an agent can see which track is live before mutating.Frame capture is fixed. Premiere 26.x CEP has no
exportFramePNG; theexport_frame/capture_frametools now use the UXPExporterpath, so they produce a real, distinct frame at the requested playhead position.Host failures fail closed. Request timeouts are carried end to end, CEP disconnect/replacement settles pending work immediately, and timed-out mutations are recorded as
UNKNOWNrather than treated as safe retries. The daemon serializes CEP work, holds one mutation lease across mixed CEP/UXP subrequests, and quarantines later mutations until recovery is explicitly acknowledged against the observed project fingerprint. When the coordinator is enabled, untagged CEP/UXP mutation requests are rejected.Large raw scripts are bounded.
premiere_execute_extendscriptaccepts a real timeout up to 120 seconds, but is limited to 16 KiB and one risky operation class. Placement, keyframe, and project-save APIs cannot be mixed in one raw script; use their dedicated MCP tools as separate stages.
Related MCP server: MCP Bridge for Adobe Premiere Pro
Layout
src/ TypeScript MCP server (thin)
index.ts stdio entry; connects to the always-on bridge daemon
server.ts registers 354 flat MCP tools routed over one persistent bridge
daemon.ts always-on bridge daemon entry (auto-starts at logon)
auto-start.ts daemon auto-start wiring
bridge/ws-host.ts WS server + endpoint files (%LOCALAPPDATA%\PremiereMCP)
bridge/ws-client.ts loopback WS client used by MCP servers
bridge/uxp-host.ts UXP bridge (HMAC /uxp WebSocket) for UXP-only operations
bridge-types.ts wire contract ({ kind, requestId, script } -> response)
operations/ daemon ledger, tool policy, queues, recovery coordinator
tool-names.ts 266 official + 87 extra tool names (single source of truth)
vendor/upstream/ official adobe-premiere-pro-mcp v1.2.0 handlers (validated)
cep-plugin/ Adobe CEP extension (Premiere side, fallback track)
main.ws.js CEF client: reads endpoint, connects WS, evalScript to host
CSInterface.js CEP bridge shim
index.html minimal panel bootstrap
CSXS/manifest.xml extension manifest
uxp-plugin/ Adobe UXP plugin (Premiere side, primary edit/export track)
manifest.json UXP manifest (id com.codex.premiere-pro-full-mcp, v2.0.0)
main.cjs WebSocket client + UXP-only ops
main.js panel bootstrap; auto-connects on create/show
auth.cjs HMAC handshake helpers (shared with daemon)
api-catalog.cjs generated Adobe UXP member allowlist (761 members)
icons/icon.svg panel icon
scripts/
smoke.mjs assert >= 354 tools are advertised
_e2e-bridge.mjs daemon<->CEP wire-path exercise (mock host)
_live-probe.mjs ping the running daemon's CEP host and UXP bridge
_syntax-check.mjs wrapped-script parse audit (no top-level return leak)
build-ccx.mjs package uxp-plugin/ into a .ccx (ZIP with manifest at root)
install-daemon.ps1 register always-on daemon (Task Scheduler, logon)
install-cep.ps1 deploy the CEP extension into Premiere's CEP folder
install-uxp.ps1 deploy the UXP plugin into Premiere's UXP folder (no dev tool)
tests/ vitest: tool surface, server, bridge contractBuild & verify
npm run build # tsc (src -> dist)
npm run typecheck
npm test # vitest (tool count, server 353+, bridge round-trip)
npm run check # typecheck + test + build + smoke + e2e + syntax
node scripts/smoke.mjs # assert >= 354 tools advertise
npm run verify:release # version/manifest coherence before staging a releaseRelease staging
Do not reuse an old ZIP or tarball after changing the CEP bridge. Stage a new release only after the source checks pass, then verify every archive against the current source before publishing:
node scripts/build-release.mjs --out .release-staging
node scripts/verify-release.mjs .release-staging\premiere-pro-full-mcp-2.0.0.tgzThe staging command refuses a non-empty output directory and a dirty worktree.
It runs the acceptance gate, then emits and verifies the npm tarball, Windows
ZIP, UXP CCX, per-artifact SHA-256 files, and release-manifest.json. For a
local non-publishable verification build, add --allow-dirty.
CEP upgrade and legacy-conflict guard
Close Premiere Pro before upgrading the CEP bridge and daemon. The CEP ready
handshake is protocol-versioned and identity-checked, so the CEP files and
daemon must use a compatible bridge protocol. Installing both from the same
release is the supported upgrade path; install them together, then reopen
Premiere:
powershell -ExecutionPolicy Bypass -File scripts/install-all.ps1 -RestartDaemonThe installer audits each immediate child of %APPDATA%\Adobe\CEP\extensions
by its CSXS\manifest.xml bundle ID. If the obsolete
com.local.ppmcp.cep.2026 bundle is present, installation fails closed with
CEP_LEGACY_CONFLICT; similarly named folders and unrelated extensions are not
changed. To migrate that exact legacy bundle, opt in to reversible quarantine:
powershell -ExecutionPolicy Bypass -File scripts/install-all.ps1 `
-RestartDaemon -QuarantineKnownLegacyCepThe legacy folder is moved outside CEP discovery under
%LOCALAPPDATA%\PremiereMCP\quarantine\cep\<timestamp-id>\. Its original path,
bundle ID, manifest SHA-256, quarantine time, and restore location are recorded
in quarantine.json; it is not permanently deleted by the installer. Restarting
Premiere after the move is required because terminating or moving a loaded CEP
folder does not unload that runtime from the current Premiere process.
UXP plugin install (.ccx)
The UXP bridge is what lets the MCP server reach the Premiere 26.x APIs that
CEP/ExtendScript cannot. It ships both as an unpacked plugin folder and as a
single .ccx package:
node scripts/build-ccx.mjs # -> dist/premiere-pro-full-mcp-2.0.0.ccx
powershell scripts/install-uxp.ps1install-uxp.ps1 copies uxp-plugin/ into
%APPDATA%\Adobe\UXP\Plugins\External\com.codex.premiere-pro-full-mcp_<version>\
(which Premiere auto-discovers) and seeds the shared HMAC key +
bridge-settings-v1.json into the plugin data folder so the panel authenticates
and finds the daemon immediately. Some Premiere/UXP builds gate the External
loader behind Adobe UXP Developer mode; the installer enables that flag when
the Developer settings path is present unless -NoDevMode is supplied. A CCX
installed through Adobe's trusted loader does not need that development flag.
install-all.ps1 runs daemon + CEP + UXP in one shot.
The panel opens via Window > Extensions > Premiere Pro Full MCP. It connects on
load and reconnects automatically on daemon restart or panel re-show (the bridge
module is idempotent and never tears down the socket on hide/destroy).
MCP registration
Point your MCP client at this package's entry (dist/index.js) with stdio
transport. The server prints the loopback WebSocket port to stderr on startup;
the CEP extension reads %LOCALAPPDATA%\PremiereMCP\bridge-endpoint.json to
connect back. The UXP panel reads the bridge port from its plugin data folder.
Tool surface
Every tool is
premiere_<name>and takes only that tool's arguments.premiere_capabilitiesreturns the connected host,uxpConnected,uxpOperations,uxpCatalogCounts, operation protocol versions, and recovery status.premiere_connection_statusreports daemon/CEP/UXP session state, queues, quarantine, and unresolved operations.premiere_health_checkperforms a short callback/transport probe by default, performs an actual read-onlyapp.projectprobe withmode: "dom_readiness", or acknowledges one recovery item with its current fingerprint. The defaultresponsive: trueproves only that the CEPevalScriptcallback returned; it is deliberately separate fromtransportResponsiveanddomReadyin the DOM-readiness result. Before resuming mutations after a host error, require three DOM-readiness successes in the same session/generation (`operationStatus.domReadiness.consecutiveSuccesses= 3
). Premiere exposes no reliable generic modal-state API, somodalStateremainsunknown`. Each mutation still requires its own 5-second target snapshot preflight; a blocked UI or DOM failure prevents dispatch.Read-only operations never use mutation postflight snapshots and terminate as
FAILED, notUNKNOWN, even when the transport retainsoutcomeUnknown: trueas a diagnostic. MutationUNKNOWN, quarantine, and recovery semantics remain unchanged.Tools remain flat and need no approval dialog, but mutating calls receive a bounded operation ID, pre/post project fingerprint, script hash, target sequence hint, and terminal status in
%LOCALAPPDATA%\PremiereMCP\operations\operation-ledger-v1.jsonl. Script, argument, and result bodies are not persisted.Recovery fingerprints use a bounded projection: up to 128 project sequences, 512 project items, 32 tracks per media type, and 256 target-sequence clips. Effect/keyframe/raw-script operations also inspect components and up to 256 properties across 16 clips. Time-varying properties are sampled at clip start/mid/end without materializing unbounded key arrays. Sequence settings use a fixed field projection.
BOUNDED_MATCHmeans only that this projection matches the preflight snapshot; truncation metadata remains part of the fingerprint and it is not a full-project proof. Fingerprints from a different projection version are reported asINCOMPARABLE_PROJECTION, never as a project change or match.
Premiere does not expose a rollback transaction across multiple host calls.
Treat a CUT edit as a staged workflow: inspect/checkpoint, bounded placement,
verify, save_project, bounded keyframes, verify, and save_project again.
Stop after any failure or UNKNOWN; never replay a timed-out mutation
automatically.
License
MIT. The official adobe-premiere-pro-mcp (MIT) tool-name list is used as a
compatibility floor; implementations are original and local-first.
Available Tools
13 toolspremiere_apiPremiere full API surfaceCDestructive
Search or invoke official UXP, safe legacy DOM/QE capabilities, and semantic UI fallback through one risk-gated surface.
Inputs: actionId (required), args, target, approvalId, +2 more.
premiere_capabilitiesPremiere capabilitiesCRead-only
Report the local target, enabled authorities, backend readiness, action risk, and live-host verification boundaries.
Inputs: domain.
premiere_cloudPremiere cloudCDestructive
Inspect or invoke approved signed-in Adobe cloud workflows without extracting credentials.
Inputs: actionId (required), args, target, approvalId, +2 more.
premiere_effects_audioPremiere effects and audioC
Discover or apply typed effects, parameters, keyframes, transitions, and audio operations.
Inputs: actionId (required), args, target, approvalId, +2 more.
premiere_exportPremiere exportCDestructive
Run confirmed frame, sequence, interchange, or AME export actions.
Inputs: actionId (required), args, target, approvalId, +2 more.
premiere_inspectInspect PremiereCRead-only
Run a bounded read-only host, project, or sequence inspection action.
Inputs: actionId (required), args, target, approvalId, +2 more.
premiere_mediaPremiere mediaCDestructive
Run a typed media import, relink, proxy, or metadata action.
Inputs: actionId (required), args, target, approvalId, +2 more.
premiere_operationsPremiere operation lifecycleD
Preview and confirm R2/R3 work, apply an exact request, inspect operation status, or report cancellation/undo boundaries.
Inputs: mode (required), request, operationId.
premiere_pluginsPremiere pluginsCDestructive
Inventory installed effects/extensions or invoke a versioned semantic plugin adapter.
Inputs: actionId (required), args, target, approvalId, +2 more.
premiere_projectPremiere projectDDestructive
Run a typed project lifecycle action.
Inputs: actionId (required), args, target, approvalId, +2 more.
premiere_text_captionsPremiere text and captionsC
Inspect or change graphics, transcripts, and captions through an advertised action.
Inputs: actionId (required), args, target, approvalId, +2 more.
premiere_timelinePremiere timelineDDestructive
Run a typed sequence, track, clip, selection, marker, or transition action.
Inputs: actionId (required), args, target, approvalId, +2 more.
premiere_workspacePremiere workspaceC
Control supported workspace, playback, panel, and history actions.
Inputs: actionId (required), args, target, approvalId, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
Each tool targets a distinct domain—capabilities, API, inspection, project, media, timeline, effects/audio, text/captions, export, workspace, plugins, cloud, and operations—with no obvious overlaps in purpose. The descriptions clearly delineate what each tool handles, making selection straightforward for an agent.
All tools follow a consistent 'premiere_' prefix followed by a specific noun, using snake_case throughout. This pattern is uniform and predictable, making it easy for an agent to infer tool purposes and group related actions.
With 13 tools, the server falls comfortably within the ideal 3-15 range. Each tool represents a major functional area of Premiere Pro, and none seem redundant or superfluous—every tool earns its place in the set.
The tool surface covers the full lifecycle of Premiere Pro work: project management, media handling, timeline editing, effects/audio, text/captions, export, workspace control, plugin support, cloud workflows, and operation management. This appears to cover all core editing and production needs, with no obvious gaps that would cause agent failures.
Maintenance
Related MCP Connectors
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…
Connect AI assistants to your approved computer for files, commands, browser and desktop tasks.
Compose, edit and render video with your AI agent. Turn footage into finished edits with content-aware reframing, word-timed captions and motion graphics. Hosted MCP with OAuth sign-in; cloud processing uses credits.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to automate and inspect Adobe Photoshop, Premiere Pro, After Effects, and Illustrator through a secure, typed MCP surface with schema-validated operations, risk-classified plans, artifacts, and verification. Bridges translate safe domain commands into UXP, CEP, ExtendScript, or approved CLI work without exposing arbitrary scripts or shell access.MIT
- AlicenseAqualityBmaintenanceEnables MCP clients to operate local Adobe Premiere Pro projects, covering media ingest, bins, sequence and timeline editing, transitions, effects, keyframes, captions, markers, metadata, proxies, multicam, color, audio, and exports through 283 discoverable tools, 13 context resources, and 10 guided prompts. A bundled CEP panel provides the supported production bridge, with read-only connection verification and higher-level workflows for assembling product spots and motion-graphics demos.53,657 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible AI assistants to control Adobe Premiere Pro through natural language, automating project and media management, timeline editing, color and audio adjustments, titles and markers, and batch exports via a local bridge.8,356 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to perform validated, authenticated project, timeline, media, marker, and export-queue operations in Adobe's video editor through a local UXP panel. It supports safe previews and explicit approval for destructive actions.8,356 npmMIT