Premiere Pro AI控制服务器
Premiere Pro MCP服务器 - AI全流程控制视频编辑-MCP服务
Premiere Pro MCP服务器
让AI完全控制Adobe Premiere Pro。
28个模块中的269个工具——用于视频编辑的最全面的MCP服务器。
这是什么?
一 MCP(模型上下文协议) 让AI助手喜欢的服务器 克劳德, 帆板运动, 光标,或任何与MCP兼容的客户端直接控制Adobe Premiere Pro——导入媒体、编辑时间线、应用效果、管理关键帧、导出等。
1"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(推荐):
1npm install -g premiere-pro-mcp
选项B–从源克隆:
1234git clone https://github.com/ppmcp/premiere-pro-mcp.gitcd premiere-pro-mcpnpm installnpm run build
2.安装CEP插件
如果通过npm安装:
1premiere-pro-mcp --install-cep
如果从源克隆:
1npm run install-cep
此符号将插件链接到Premiere Pro的扩展文件夹中,并启用调试模式。
123456mkdir -p ~/Library/Application\ Support/Adobe/CEP/extensionsln -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 1done
复制
cep-plugin文件夹到%APPDATA%\Adobe\CEP\extensions\MCPBridgeCEP打开注册表编辑器并将这些DWORD值设置为
1:HKEY_CURRENT_USER\Software\Adobe\CSXS.12\PlayerDebugMode(对CSXS.9至CSXS.14重复此操作)
3.配置您的MCP客户端
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
1234567891011{ "mcpServers": { "premiere-pro": { "command": "node", "args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"], "env": { "PREMIERE_TEMP_DIR": "/tmp/premiere-mcp-bridge" } } }}添加到MCP服务器配置中:
123456789{ "premiere-pro": { "command": "node", "args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"], "env": { "PREMIERE_TEMP_DIR": "/tmp/premiere-mcp-bridge" } }}增添 .cursor/mcp.json 在您的项目或全局配置中:
1234567891011{ "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):
123456789101112┌───────────────┐ 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):
12345┌───────────────┐ 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远程连接
12345678{ "mcpServers": { "premiere-pro": { "command": "npx", "args": ["mcp-remote", "https://premiere-pro-mcp.fly.dev/mcp"] } }}Fly.io上的自助主机
1234567# Clone and deploy your own instancegit clone https://github.com/ppmcp/premiere-pro-mcp.gitcd premiere-pro-mcpfly apps create your-app-namefly deploy --remote-only# Optional: add bearer token authfly secrets set MCP_AUTH_TOKEN=your-secret-token
然后连接:
123456789{ "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传输身份验证的承载令牌(可选) | 未设置 |
项目结构
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253premiere-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无法提供的功能:
按名称应用效果和过渡
涟漪删除、滚动/滑动/滑动编辑
设置剪辑速度和倒档
帧混合和时间插值
从剪辑中删除所有效果
故障排除
验证调试模式:
defaults read com.adobe.CSXS.12 PlayerDebugMode应返回1检查插件是否存在:
ls ~/Library/Application\ Support/Adobe/CEP/extensions/MCPBridgeCEP完全重启Premiere Pro(不仅仅是关闭/重新打开项目)
检查CSXS版本是否与您的Premiere Pro版本匹配
验证CEP面板是否显示带绿点的“正在运行”
确保MCP客户端配置和CEP面板之间的临时目录匹配
检查Premiere Pro是否繁忙(渲染,模态对话框打开)
增加超时:设置
PREMIERE_TIMEOUT_MS到60000或更高尝试
ping测试基本连接的工具
编辑配置后重新启动AI客户端
验证路径
dist/index.js绝对正确跑
node dist/index.js在终端中检查启动错误确保
npm run build已完成,无错误
QE工具需要一个活动序列——先打开一个
一些量化宽松操作是基于索引的,如果剪辑被重新排序,可能会失败
QE操作后重新查询序列结构
贡献
欢迎投稿!看 贡献.md 作为指导方针。
许可证
麻省理工学院 --免费用于个人和商业用途。