注: 这是一个bug修复PR的临时分支。请参阅原始版本 leancoderkavy/首映亲mcp.
Premiere Pro MCP服务器
让AI完全控制Adobe Premiere Pro。
28个模块中的269个工具——用于视频编辑的最全面的MCP服务器。
 ](https://nodejs.org)  ](https://www.npmjs.com/package/premiere-pro-mcp)  
______________________________________________________________________
这是什么?
一 MCP(模型上下文协议) 让AI助手喜欢的服务器 克劳德, 帆板运动, 光标,或任何与MCP兼容的客户端直接控制Adobe Premiere Pro——导入媒体、编辑时间线、应用效果、管理关键帧、导出等。
"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."人工智能通过269个工具处理整个工作流程,这些工具几乎涵盖了Premiere Pro中提供的所有ExtendeScript和QE DOM API。
______________________________________________________________________
快速开始
1.安装
选项A-npm(推荐):
npm install -g premiere-pro-mcp选项B--从源克隆:
git clone https://github.com/ppmcp/premiere-pro-mcp.git
cd premiere-pro-mcp
npm install
npm run build2.安装CEP插件
如果通过npm安装:
premiere-pro-mcp --install-cep如果从源克隆:
npm run install-cep此符号将插件链接到Premiere Pro的扩展文件夹中,并启用调试模式。
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
doneManual installation (Windows)
- 复制
cep-plugin文件夹到%APPDATA%\Adobe\CEP\extensions\MCPBridgeCEP - 打开注册表编辑器并将这些DWORD值设置为
1:
- HKEY_CURRENT_USER\Software\Adobe\CSXS.12\PlayerDebugMode - (对CSXS.9至CSXS.14重复此操作)
3.配置您的MCP客户端
Claude Desktop
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"premiere-pro": {
"command": "node",
"args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"],
"env": {
"PREMIERE_TEMP_DIR": "/tmp/premiere-mcp-bridge"
}
}
}
}Windsurf / Cascade
添加到MCP服务器配置中:
{
"premiere-pro": {
"command": "node",
"args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"],
"env": {
"PREMIERE_TEMP_DIR": "/tmp/premiere-mcp-bridge"
}
}
}Cursor
添加 .cursor/mcp.json 在您的项目或全局配置中:
{
"mcpServers": {
"premiere-pro": {
"command": "node",
"args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"],
"env": {
"PREMIERE_TEMP_DIR": "/tmp/premiere-mcp-bridge"
}
}
}
}4.在Premiere Pro中启动桥接
- 打开(或重新启动)Premiere Pro
- 首选 窗口>扩展>MCP桥
- 设置 临时目录 以匹配您的MCP客户端配置(例如。,
/tmp/premiere-mcp-bridge) - 点击 开始桥 --您应该看到绿色的“正在运行”状态
- 问你的AI助手: *“我目前的Premiere Pro项目是什么?”*
______________________________________________________________________
建筑
本地(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) │ └──────────────┘ └──────┬────────┘
└───────────────┘ │ evalScript()
▼
┌──────────────┐
│ Premiere Pro │
│ ExtendScript │
│ + QE DOM │
└──────────────┘远程(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客户端调用MCP工具(例如。,
add_to_timeline) - MCP服务器生成与ES3兼容的ExtendScript,并添加了辅助函数
- 脚本被写入
.jsx共享临时目录中的命令文件 - CEP插件轮询命令文件,通过执行
CSInterface.evalScript() - 结果JSON被写入响应文件并返回给AI
基于文件的IPC桥简单、可靠,无需网络套接字即可在macOS和Windows上工作。
______________________________________________________________________
工具(269)
发现与检查(10+10)
| 工具 | 说明 |
|---|---|
get_project_info | 当前项目名称、路径、序列、项目 |
get_active_sequence | 所有剪辑的详细活动序列 |
list_project_items | 项目面板中的所有项目 |
get_full_project_overview | 全面快照:bin树、序列、媒体类型 |
get_full_sequence_info | 详尽的序列数据:轨迹、剪辑、效果、标记 |
get_full_clip_info | 剪辑的一切:效果、关键帧、元数据 |
get_timeline_summary | 人类可读概述:持续时间、覆盖率、效果 |
search_project_items | 按名称、扩展名、脱机状态、颜色标签筛选 |
get_premiere_state | 完整快照:项目、序列、播放头、选择 |
inspect_dom_object | 以交互方式探索任何Premiere Pro DOM对象 |
项目管理(26)
| 工具 | 说明 |
|---|---|
save_project / save_project_as / open_project | 文件操作 |
create_project / close_project | 项目生命周期 |
import_media / import_folder / import_ae_comps | 导入媒体和AE comps |
create_bin / delete_bin / rename_bin / create_smart_bin | 料箱管理 |
import_sequences / import_fcp_xml | 从其他项目导入 |
create_bars_and_tone | 生成条形图和色调媒体 |
set_scratch_disk_path | 配置临时磁盘 |
consolidate_and_transfer | 项目经理整合 |
时间线和编辑(10+27高级)
| 工具 | 说明 |
|---|---|
add_to_timeline / overwrite_clip | 插入和覆盖编辑 |
ripple_delete | 拆下夹子并闭合间隙(QE) |
roll_edit / slide_edit / slip_edit | 专业修剪模式(QE) |
move_clip_to_track | 轨道间移动(QE) |
set_clip_speed_qe / reverse_clip | 速度/倒退(QE) |
split_clip / trim_clip / move_clip | 基本编辑 |
set_clip_properties | 不透明度、比例、旋转、位置 |
link_selection / unlink_selection | 链接/取消链接a/V |
效果与色彩(8)
| 工具 | 说明 |
|---|---|
apply_effect / apply_audio_effect | 按姓名申请(QE) |
remove_effect / remove_all_effects | 删除效果 |
color_correct | Lumetri:曝光、对比度、温度等。 |
apply_lut | 应用LUT文件 |
stabilize_clip | 具有可配置设置的经纱稳定器 |
关键帧(8)
| 工具 | 说明 |
|---|---|
add_keyframe / get_keyframes | 创建和读取关键帧 |
remove_keyframe / remove_keyframe_range | 删除关键帧 |
set_keyframe_interpolation | 线性/保持/贝塞尔曲线 |
get_value_at_time | 随时查询插值 |
set_color_value | 设置效果的颜色属性 |
导出和编码(14)
| 工具 | 说明 |
|---|---|
export_sequence | 通过Adobe Media Encoder导出 |
capture_frame | 将帧导出为PNG,返回base64图像 |
export_as_fcp_xml / export_aaf / export_omf | 交换格式 |
encode_project_item / encode_file | 直接编码 |
start_batch_encode | 启动渲染队列 |
源监控和播放(7+4)
| 工具 | 说明 |
|---|---|
open_in_source / close_source_monitor | 源监控 |
insert_from_source / overwrite_from_source | 三点编辑 |
play_timeline / stop_playback | 回放控制(QE) |
play_source_monitor | 在源代码监视器中播放 |
选择和剪贴板(7+6)
| 工具 | 说明 |
|---|---|
select_clips_by_name / select_clips_in_range | 智能选择 |
copy_effects_between_clips | 通过QE复制效果 |
batch_apply_effect | 将效果应用于多个剪辑 |
set_blend_mode | 27种混合模式 |
媒体属性(16)
| 工具 | 说明 |
|---|---|
set_offline / has_proxy / detach_proxy | 离线/代理管理 |
set_override_frame_rate | 覆盖FPS |
set_scale_to_frame_size | 自动缩放到序列帧 |
get_xmp_metadata / set_xmp_metadata | 原始XMP访问 |
get_color_space | 颜色空间信息 |
序列管理(11)
| 工具 | 说明 |
|---|---|
create_sequence / create_sequence_from_preset | 创建序列 |
duplicate_sequence / delete_sequence | 管理序列 |
auto_reframe_sequence | 社交媒体的自动重构 |
attach_custom_property | FCP XML自定义属性 |
unnest_sequence | 用片段替换嵌套序列 |
工作区和标题(2+1)
| 工具 | 说明 |
|---|---|
get_workspaces / set_workspace | 切换工作区布局 |
create_caption_track | 创建字幕/字幕轨道 |
脚本(6)
| 工具 | 说明 |
|---|---|
execute_extendscript | 运行任意ExtendScript(ES3) |
evaluate_expression | 快速单行评估 |
send_raw_script | 绕过安全验证(高级) |
…以及100多个
跟踪目标、批处理操作、标记、音频级别、运动/变换、元数据、序列设置、导航、项目分析等。跑 get_project_info 首先,人工智能将发现它需要什么。
______________________________________________________________________
MCP资源
服务器公开了两个LLM上下文资源:
| 资源URI | 描述 |
|---|---|
config://premiere-instructions | 最佳实践:工作流程顺序、时间线规则、效果提示、错误处理 |
config://extendscript-reference | 完整的ExtendeScript API参考资料,用于编写自定义脚本 |
这些内容会自动提供给支持资源的MCP客户端,为人工智能提供有关如何有效驱动Premiere Pro的深入背景。
______________________________________________________________________
远程部署(Fly.io)
服务器包括HTTP/SSE传输(src/http-server.ts)通过以下方式进行远程访问 mcp遥控器 或支持流式HTTP的任何MCP客户端。
一个实时实例正在运行 https://premiere-pro-mcp.fly.dev.
通过mcp远程连接
{
"mcpServers": {
"premiere-pro": {
"command": "npx",
"args": ["mcp-remote", "https://premiere-pro-mcp.fly.dev/mcp"]
}
}
}Fly.io上的自助主机
# Clone and deploy your own instance
git clone https://github.com/ppmcp/premiere-pro-mcp.git
cd premiere-pro-mcp
fly apps create your-app-name
fly deploy --remote-only
# Optional: add bearer token auth
fly secrets set MCP_AUTH_TOKEN=your-secret-token然后连接:
{
"mcpServers": {
"premiere-pro": {
"command": "npx",
"args": ["mcp-remote", "https://your-app-name.fly.dev/mcp",
"--header", "Authorization: Bearer your-secret-token"]
}
}
}注: 文件桥仍然需要CEP插件共享相同的文件PREMIERE_TEMP_DIR。对于云部署,这意味着运行同步代理或使用fly proxy/WireGuard连接到您的本地机器。
______________________________________________________________________
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
PREMIERE_TEMP_DIR | MCP的共享临时目录↔ CEP通信 | 操作系统临时目录+ /premiere-mcp-bridge |
PREMIERE_TIMEOUT_MS | 命令超时(毫秒) | 30000 |
PORT | HTTP端口(仅限HTTP/SSE传输) | 3000 |
MCP_AUTH_TOKEN | HTTP传输身份验证的承载令牌(可选) | 未设置 |
______________________________________________________________________
项目结构
premiere-pro-mcp/
├── src/
│ ├── index.ts # Entry point — stdio transport setup
│ ├── http-server.ts # Entry point — HTTP/SSE transport (Fly.io / remote)
│ ├── server.ts # MCP server — registers all 269 tools + 2 resources
│ ├── bridge/
│ │ ├── file-bridge.ts # File-based IPC (write .jsx, poll .json)
│ │ └── script-builder.ts # ExtendScript generator with ES3 helpers
│ ├── tools/ # 28 tool modules
│ │ ├── discovery.ts # Project discovery and queries
│ │ ├── project.ts # Project management and import
│ │ ├── media.ts # Media and proxy management
│ │ ├── sequence.ts # Sequence creation and settings
│ │ ├── timeline.ts # Timeline clip operations
│ │ ├── effects.ts # Effect application and color correction
│ │ ├── transitions.ts # Transition management (QE DOM)
│ │ ├── audio.ts # Audio levels and keyframes
│ │ ├── text.ts # Text overlays and MOGRTs
│ │ ├── markers.ts # Sequence and clip markers
│ │ ├── tracks.ts # Track add/delete/lock/visibility
│ │ ├── playhead.ts # Playhead, work area, in/out points
│ │ ├── metadata.ts # Metadata, XMP, color labels
│ │ ├── export.ts # Export, frame capture, encoding
│ │ ├── advanced.ts # QE DOM: ripple, roll, slide, slip, speed
│ │ ├── keyframes.ts # Keyframe CRUD and interpolation
│ │ ├── scripting.ts # Execute arbitrary ExtendScript
│ │ ├── inspection.ts # Deep project/sequence/clip inspection
│ │ ├── selection.ts # Clip selection utilities
│ │ ├── clipboard.ts # Copy effects, batch operations
│ │ ├── source-monitor.ts # Source monitor control
│ │ ├── track-targeting.ts # Track targeting, motion, audio props
│ │ ├── utility.ts # Batch ops, analysis, navigation
│ │ ├── health.ts # Connectivity ping
│ │ ├── workspace.ts # Workspace layout switching
│ │ ├── captions.ts # Caption track creation
│ │ ├── playback.ts # Timeline/source playback control
│ │ └── project-manager.ts # Project consolidation/transfer
│ └── resources/
│ └── extendscript-reference.ts # API reference for LLM context
├── cep-plugin/ # CEP panel that runs inside Premiere Pro
│ ├── CSXS/manifest.xml # Extension manifest (PPRO 14.0+)
│ ├── index.html # Panel UI
│ ├── main.js # Bridge polling and script execution
│ ├── host.jsx # ExtendScript entry point
│ └── CSInterface.js # Adobe CEP interface library
├── scripts/
│ └── install-cep.sh # CEP plugin installer (symlink + debug mode)
├── Dockerfile # Multi-stage Docker build for Fly.io
├── fly.toml # Fly.io deployment config
├── RESEARCH.md # API research and implementation status
├── CONTRIBUTING.md # Contribution guidelines
├── CHANGELOG.md # Version history
└── LICENSE # MIT License______________________________________________________________________
技术细节
为什么选择CEP而不是UXP?
CEP(通用可扩展性平台)在Premiere Pro中提供完整的ExtendScript访问权限,包括未记录的 QE DOM --这是按名称应用效果、执行波纹删除和执行高级修剪操作的唯一方法。Premiere Pro中的UXP仍在成熟,缺乏同等的API覆盖范围。CEP在各地开展工作 2020年至2025年首映+.
ExtendScript兼容性
所有生成的脚本都使用 ES3语法 (var,手册 for 循环,没有箭头函数,没有 let/const)因为ExtendScript基于ECMAScript 3。这 buildToolScript() 函数为每个脚本添加一个辅助函数库。
安全
- 脚本在执行前经过验证——块
eval(),new Function(),System.callSystem() - 500KB脚本大小限制
send_raw_script绕过高级用户的验证(通过明确的选择加入)- 使用受限权限创建的临时目录(模式700)
QE DOM
许多工具使用未记录的QE DOM(通过启用 app.enableQE()).这些工具在描述中标记为“使用QE DOM”。QE DOM提供了标准ExtendeScript API无法提供的功能:
- 按名称应用效果和过渡
- 涟漪删除、滚动/滑动/滑动编辑
- 设置剪辑速度和倒档
- 帧混合和时间插值
- 从剪辑中删除所有效果
______________________________________________________________________
故障排除
CEP plugin doesn't appear in Premiere Pro
- 验证调试模式:
defaults read com.adobe.CSXS.12 PlayerDebugMode应返回1 - 检查插件是否存在:
ls ~/Library/Application\ Support/Adobe/CEP/extensions/MCPBridgeCEP - 完全重启Premiere Pro(不仅仅是关闭/重新打开项目)
- 检查CSXS版本是否与您的Premiere Pro版本匹配
Commands timeout or hang
- 验证CEP面板是否显示带绿点的“正在运行”
- 确保MCP客户端配置和CEP面板之间的临时目录匹配
- 检查Premiere Pro是否繁忙(渲染,模态对话框打开)
- 增加超时:设置
PREMIERE_TIMEOUT_MS到60000或更高 - 尝试
ping测试基本连接的工具
AI client can't see tools
- 编辑配置后重新启动AI客户端
- 验证路径
dist/index.js绝对正确 - 跑
node dist/index.js在终端中检查启动错误 - 确保
npm run build已完成,无错误
QE DOM tools fail
- QE工具需要一个活动序列——先打开一个
- 一些量化宽松操作是基于索引的,如果剪辑被重新排序,可能会失败
- QE操作后重新查询序列结构
______________________________________________________________________
贡献
欢迎投稿!看 贡献.md 作为指导方针。
______________________________________________________________________
许可证
麻省理工学院 --免费用于个人和商业用途。
