使用说明
DaVinci Resolve MCP
一 主控程序 服务器和Claude代码技能,揭示 完成 DaVinci Resolve脚本API-让任何兼容MCP的人工智能助手以编程方式控制DaVinci Resve。
AI Assistant <--> MCP Protocol <--> This Server <--> fusionscript <--> DaVinci Resolve
它能做什么
440+工具 涵盖DaVinci Resolve的各个方面:
| 类别 | 工具 | 示例 |
|---|---|---|
| 项目管理 | 25 | 创建/加载/导出项目,管理数据库,云项目 |
| 时间剪辑 | 59 | 添加/删除曲目、插入标题和生成器、管理标记、导出时间线 |
| 媒体池 | 27 | 导入媒体、从剪辑中创建时间线、组织文件夹、同步音频 |
| 剪辑操作 | 80 | 设置剪辑属性、管理Fusion comps、颜色版本、拍摄、CDL、稳定、智能重新构建 |
| 色彩分级 | 16 | 节点图控制、LUT管理、等级应用、颜色组 |
| 渲染 | 15 | 配置渲染设置、格式/编解码器、添加渲染作业、启动/停止渲染 |
| 融合合成 | 95 | 添加/连接节点、设置输入、关键帧动画、表达式、渲染比较 |
| 画廊和剧照 | 14 | 管理静止相册、PowerGrade相册、导入/导出静止图片 |
| 媒体存储 | 7 | 浏览卷、从磁盘导入、管理剪辑/时间线素材 |
| 字幕和音频 | 5+ | 从音频、语音隔离、Fairlight预设、转录生成字幕 |
| 应用程序控制 | 22 | 页面导航、布局预设、版本信息、关键帧模式 |
示例提示
- “列出我的所有项目”
- “将桌面上的所有.mov文件导入媒体池”
- “创建一个名为“Assembly”的新时间线,并添加媒体池中的所有剪辑”
- “在时间线的开头为视频轨道2添加文本+标题”
- “在我的Renders文件夹中设置一个4K分辨率的ProRes 422 HQ渲染作业”
- “将LUT‘Rec709’应用于当前剪辑的节点1”
- “根据当前时间线上的音频生成字幕”
- 使用背景、文本和合并节点构建Fusion comp
快速开始
先决条件
- 达芬奇调色 或 DaVinci Resolve工作室 (v19.0+)已安装并正在运行
- Python 3.10+
- MCP服务器必须在 同一台机器 DaVinci Resolve
安装
pip install davinci-resolve-mcp
配置Claude桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"davinci-resolve": {
"command": "davinci-resolve-mcp"
}
}
}
或与 uvx (无需安装):
{
"mcpServers": {
"davinci-resolve": {
"command": "uvx",
"args": ["davinci-resolve-mcp"]
}
}
}
配置Claude代码
claude mcp add davinci-resolve -- davinci-resolve-mcp
克劳德代码技能
此回购还包括 Claude代码技能 它教Claude如何有效地使用440+MCP工具,包括对象注册表模式、正确的工具链、Fusion节点连接和常见的工作流配方。
安装技能
claude skill install davinci-resolve-mcp.skill
或复制 skill/davinci-resolve-mcp/ 将您的Claude Code技能文件夹放入目录。
该技能提供:
- 对象注册表指南 --如何正确地链接父/子对象ID
- 工作流配方 --导入、编辑、分级、渲染的分步模式
- 融合参考 --节点类型、通用输入、连接模式
- 渲染设置参考 --格式/编解码器选项和配置键
建筑
对象注册表
Resolve API返回无法通过MCP序列化的本机对象。服务器维护一个内存注册表,将字符串ID映射到活动对象:
resolve_get_project_manager --> project_manager_id
--> project_manager_get_current_project --> project_id
--> project_get_current_timeline --> timeline_id
--> timeline_get_item_list_in_track --> [timeline_item_ids]
- 返回Resolve对象的工具会注册它们并返回JSON安全ID
- 后续工具接受该ID以查找活动对象
- 使用
clear_object_cache如果对象变得过时(例如,在Resolve UI中切换项目后) - 使用
initialize如果Resolve重新启动,则重新连接
服务器结构
src/davinci_resolve_mcp/
server.py # FastMCP server with lifespan management
resolve_connection.py # fusionscript bridge & object registry
models.py # Pydantic response models
constants.py # Enums and API constants
tools/
resolve.py # App-level tools (22)
project_manager.py # Project CRUD & databases (25)
project.py # Timeline & render management (43)
timeline.py # Track, marker, generator tools (59)
timeline_item.py # Clip properties, Fusion, grades (80)
media_pool.py # Import, organize, create (27)
media_pool_item.py # Metadata, markers, proxy (36)
media_storage.py # Volume browsing, import (7)
gallery.py # Stills & PowerGrades (14)
graph.py # Node graph & LUTs (11)
color_group.py # Color group management (5)
fusion_comp.py # Fusion composition tools (40)
fusion_tool.py # Fusion node tools (20)
fusion_input.py # Input connections & expressions (12)
fusion_output.py # Output values & cache (8)
fusion_flow.py # Node layout & selection (8)
fusion_spline.py # Keyframe animation (5)
fusion_misc.py # Fonts, registry, image cache (11)
folder.py # Folder browsing (8)
utility.py # Cache & init (3)
环境变量
| 变量 | 目的 | 默认值 |
|---|---|---|
RESOLVE_SCRIPT_LIB |
通往 fusionscript.dll/.so |
自动检测 |
RESOLVE_SCRIPT_API |
解析脚本模块的路径 | 自动检测到 |
按平台列出的默认路径
| 平台 | fusionscript 地点 |
|---|---|
| 窗户 | C:\Program Files\Blackmagic Design\DaVinci Resolve\fusionscript.dll |
| macOS | /Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Libraries/Fusion/fusionscript.so |
| Linux | /opt/resolve/libs/Fusion/fusionscript.so |
API覆盖范围
基于DaVinci Resolve 20.2.2脚本API。适用于Resolve 19.0+,但某些工具需要更新版本:
| 功能 | 最小版本 |
|---|---|
| 语音隔离API | 20.1 |
| 剪辑/项目的集合名称 | 20.2 |
| 灯光预设 | 20.2.2 |
| 监视器成长文件 | 20.0 |
| 图形/颜色组对象 | 19.0 |
局限性
- 必须与DaVinci Resolve在同一台机器上运行
- DaVinci Resolve必须在服务器启动前运行
- 某些操作需要特定的页面(例如,缩略图需要彩色页面)
- 某些功能仅限于Studio(免费版本中的脚本访问可能受到限制)
- 仅包装API脚本-无GPU插件控制
发展
git clone https://github.com/lordhoell/davinci-resolve-mcp.git
cd davinci-resolve-mcp
pip install -e ".[dev]"
为新API版本添加工具
- 检查
Scripting/CHANGELOG.txt在Resolve SDK中提供新方法 - 将工具添加到中的相应文件
src/davinci_resolve_mcp/tools/ - 将任何新的枚举常量添加到
constants.py - 将任何新模型添加到
models.py
许可证
麻省理工学院