# Premiere Pro MCP Server

Controls projects, sequences, and timeline edits in Adobe Premiere Pro directly from your MCP client. Useful for scripted editing workflows.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 28
- Author: zachshallbetter
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/zachshallbetter/adobe-mcp/tree/HEAD/packages/premiere
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/premiere-pro-mcp-server

## What it does

This server connects AI assistants to Premiere Pro using an internal UXP plugin. Premiere lacks typical external control like COM or AppleScript dictionaries, so Adobe relies on UXP panels. The MCP process acts as a local WebSocket server on `127.0.0.1:3011`. Inside the editor, the MCP Bridge panel initiates the connection to listen for editing commands.

Setup requires Premiere Pro 25.6 or newer, Node.js 18, and Adobe's UXP Developer Tool to load the bridge panel. All helper scripts were verified against mock DOM structures from Adobe API documentation rather than live Premiere sessions. Clip indexes also shift after timeline cuts, so expect to query clip lists again during multi-step edits.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `PREMIERE_WS_PORT`, `BRIDGE_TOKEN`, `PREMIERE_ALLOWED_DIRS`, `PREMIERE_SCRIPT_TIMEOUT_MS`, `PREMIERE_CONNECT_WAIT_MS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env PREMIERE_WS_PORT=<PREMIERE_WS_PORT> --env BRIDGE_TOKEN=<BRIDGE_TOKEN> --env PREMIERE_ALLOWED_DIRS=<PREMIERE_ALLOWED_DIRS> --env PREMIERE_SCRIPT_TIMEOUT_MS=<PREMIERE_SCRIPT_TIMEOUT_MS> --env PREMIERE_CONNECT_WAIT_MS=<PREMIERE_CONNECT_WAIT_MS> --transport stdio premiere -- npx -y adobe-mcp-premiere
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add premiere --env PREMIERE_WS_PORT=<PREMIERE_WS_PORT> --env BRIDGE_TOKEN=<BRIDGE_TOKEN> --env PREMIERE_ALLOWED_DIRS=<PREMIERE_ALLOWED_DIRS> --env PREMIERE_SCRIPT_TIMEOUT_MS=<PREMIERE_SCRIPT_TIMEOUT_MS> --env PREMIERE_CONNECT_WAIT_MS=<PREMIERE_CONNECT_WAIT_MS> -- npx -y adobe-mcp-premiere
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "premiere": {
            "command": "npx",
            "args": [
                "-y",
                "adobe-mcp-premiere"
            ],
            "env": {
                "PREMIERE_WS_PORT": "<PREMIERE_WS_PORT>",
                "BRIDGE_TOKEN": "<BRIDGE_TOKEN>",
                "PREMIERE_ALLOWED_DIRS": "<PREMIERE_ALLOWED_DIRS>",
                "PREMIERE_SCRIPT_TIMEOUT_MS": "<PREMIERE_SCRIPT_TIMEOUT_MS>",
                "PREMIERE_CONNECT_WAIT_MS": "<PREMIERE_CONNECT_WAIT_MS>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "premiere": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "adobe-mcp-premiere"
            ],
            "env": {
                "PREMIERE_WS_PORT": "<PREMIERE_WS_PORT>",
                "BRIDGE_TOKEN": "<BRIDGE_TOKEN>",
                "PREMIERE_ALLOWED_DIRS": "<PREMIERE_ALLOWED_DIRS>",
                "PREMIERE_SCRIPT_TIMEOUT_MS": "<PREMIERE_SCRIPT_TIMEOUT_MS>",
                "PREMIERE_CONNECT_WAIT_MS": "<PREMIERE_CONNECT_WAIT_MS>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e PREMIERE_WS_PORT=<PREMIERE_WS_PORT> -e BRIDGE_TOKEN=<BRIDGE_TOKEN> -e PREMIERE_ALLOWED_DIRS=<PREMIERE_ALLOWED_DIRS> -e PREMIERE_SCRIPT_TIMEOUT_MS=<PREMIERE_SCRIPT_TIMEOUT_MS> -e PREMIERE_CONNECT_WAIT_MS=<PREMIERE_CONNECT_WAIT_MS> premiere npx -y adobe-mcp-premiere
```
Replace <…> with your own values

## When to use it
- import media files directly into organized bins
- split timeline clips and position playheads by seconds
- apply video effects and transitions to active tracks
- relink offline footage across the open project

## Example prompts
- Run `premiere_status` to see if the bridge plugin is connected
- Insert a chapter marker at second 12 on the current sequence
- Create a bin named B-Roll and import footage from my home folder

## Similar
- [MCP for Adobe Premiere Pro](https://affpapa.org/en/nevibecode/mcp/mcp-for-adobe-premiere-pro.md) — MCP server · ★ 440
- [Premiere](https://affpapa.org/en/nevibecode/skills/premiere.md) — skill · 1800 installs
- [auto-editor-export](https://affpapa.org/en/nevibecode/skills/auto-editor-export.md) — skill · 719 installs
- [premiere-pro-mcp](https://affpapa.org/en/nevibecode/skills/premiere-pro-mcp.md) — skill · 844 installs
- [video-motion-graphics](https://affpapa.org/en/nevibecode/skills/video-motion-graphics.md) — skill · 2400 installs
- [after-effects](https://affpapa.org/en/nevibecode/skills/after-effects.md) — skill · 2800 installs

From the same set: [zachshallbetter/adobe-mcp](https://affpapa.org/en/nevibecode/by/zachshallbetter/adobe-mcp.md) — 6 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
