Manage Proxies
manage_proxiesCreate, attach, or toggle proxy media for a Premiere Pro project item. Switch proxy display application-wide or hand off a proxy encode to Adobe Media Encoder.
Instructions
Create or attach proxies for a project item, or set Premiere's proxy display. 'toggle' is application-wide, not per item: it changes app.getEnableProxies()/setEnableProxies() for every sequence and monitor, and item_id is only checked to exist. Pass enabled: true or false to set a known state; omitting enabled flips the current state, so two calls undo each other. The result reports previousEnabled and proxiesEnabled read back from Premiere. Note: 'create' only requests a proxy encode from Adobe Media Encoder and returns an unverified handoff. Independently verify the AME queue or output file before calling this tool again with action 'attach' and proxy_path set to the output_path you passed here. Optional start_batch requests processing of every ready AME queue job, including unrelated jobs. There is no single-call create-and-attach in Premiere's ExtendScript API.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform on proxies | |
| enabled | No | For 'toggle' only: sets the application-wide proxy display to this state (true shows proxies, false shows full-resolution media) and verifies it by reading app.getEnableProxies() back. Omit to flip the current state, which is discouraged because the outcome depends on a state you have not read. | |
| item_id | Yes | Node ID or name of the project item | |
| proxy_path | No | Path to an existing proxy file (required for 'attach') | |
| output_path | No | Full output path for the proxy to be rendered to (required for 'create') | |
| preset_path | No | Path to a proxy ingest preset (.epr) for 'create'. If omitted, the server lists Premiere's IngestPresets/Proxy presets and AME H.264 system presets, skips every preset whose output destination is Same as Project (Adobe's shipped proxy presets are), and uses the first remaining one. Fails with a clear error when none qualify. | |
| start_batch | No | Opt in to start the entire ready Adobe Media Encoder queue after this handoff, including unrelated jobs. Default false (enqueue only). A successful call does not verify that any render started or completed. | |
| idempotency_key | No | Optional client-chosen key (1-128 chars of A-Z a-z 0-9 . _ : -) for this intended edit. Pass a fresh key per edit and reuse it only when retrying that same edit, for example after a client-side timeout. A repeat with the same tool, key and arguments is not run again: while the first call is running it fails with IDEMPOTENCY_IN_PROGRESS (poll get_last_operations); after it finished it returns the original outcome marked replayed. A definite failure with nothing applied (receipt outcome not_applied) may be retried with the same key. Reusing a key with different arguments fails with IDEMPOTENCY_KEY_REUSED. Scoped to this MCP session (the stdio server process or one HTTP session) and held in memory only (200 keys, 1 hour); it does not survive a restart or reconnect. Read-only invocations are never deduplicated. | |
| expected_cep_target | No | Optional reviewed CEP sequence/clip identity and exact tick ranges. Checked before every generated command; UXP refuses this CEP-only guard. | |
| expected_project_path | No | Optional absolute saved-project path. Every generated CEP command refuses before its body when the active project differs or is unsaved. UXP commands refuse this CEP-only guard; local-only tools do not inspect Premiere. Omit to keep existing behavior. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | Whether the tool completed successfully. | |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. | |
| tool | Yes | The registered MCP tool name. | |
| error | No | Failure detail when ok is false. | |
| receipt | No | Versioned common mutation receipt; success never implies rendered verification. | |
| idempotency | No | Present when idempotency_key deduplicated this call: replayed is true when the original outcome was returned instead of running again. |