与 DaVinci Resolve 视频编辑软件集成, enables 直接访问项目、时间线、媒体池和调色工具,无需在应用程序之间切换。
这里是一个更新版本的 README,增强了反映 ResolveAPI
类扩展功能的内容,提高了清晰度,并增加了关于设置和使用的详细信息。结构与您原来的 README 保持一致,但我已经纳入了新特性(例如:图库管理、轨道控制、音频调整、播放等),并改进了 uv
安装和 Claude 集成的说明。
DaVinci Resolve MCP Server
一个模型上下文协议(MCP)服务器,使像 Claude 这样的 AI 助手能够与 DaVinci Resolve Studio 交互,提供对剪辑、色彩校正、音频等的高级控制。
概述
此服务器实现了 MCP 协议,创建了 AI 助手和 DaVinci Resolve 之间的桥梁。它允许 AI 助手:
- 创建、加载和管理 DaVinci Resolve 项目
- 操作时间线、轨道和片段
- 导入和组织媒体文件
- 访问和修改 Fusion 合成
- 执行色彩校正和管理图库中的静止图像
- 调整音频设置和控制播放
- 在 Resolve 页面之间导航(媒体、编辑、Fusion、色彩、Fairlight、交付)
- 执行自定义 Python 和 Lua 脚本
- 导出和导入项目
要求
- DaVinci Resolve Studio 18.0 或更高版本
- Python 3.10 或更高版本
- 访问 DaVinci Resolve 脚本 API
使用 uv 安装
uv 是一个快速、现代的 Python 包安装程序和解析器,性能优于 pip。请按照以下步骤使用 uv
安装和设置 DaVinci Resolve MCP 服务器:
1. 安装 uv
如果未安装 uv
:
bash
# 使用 pip(确保 pip 是针对 Python 3.10+ 的)
pip install uv
# 使用 Homebrew(macOS)
brew install uv
# 使用 Conda
conda install -c conda-forge uv
验证安装:
bash
uv --version
2. 创建虚拟环境
创建并激活虚拟环境以隔离依赖项:
bash
uv venv
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
3. 安装 DaVinci Resolve MCP 服务器
从项目目录安装服务器及其依赖项:
bash
# 从项目目录(开发用可编辑安装)
uv install -e .
# 或直接从 GitHub(替换为您的仓库 URL)
uv install git+https://github.com/yourusername/davinci-resolve-mcp.git
4. 安装依赖项
确保 requirements.txt
包括:
mcp
pydantic
安装它们:
bash
uv install -r requirements.txt
配置
在运行服务器之前,请确保:
- DaVinci Resolve Studio 正在运行。
- Python 可以访问 DaVinci Resolve 脚本 API(大多数情况下由
ResolveAPI
自动处理)。
API 访问配置
ResolveAPI
类动态定位脚本 API,但在某些情况下可能需要手动配置:
macOS
API 通常位于:
/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Modules
- 或用户特定路径:
~/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Modules
通常不需要额外设置。
Windows
如果未检测到 API 路径,请添加:
python
import sys
sys.path.append("C:\\ProgramData\\Blackmagic Design\\DaVinci Resolve\\Support\\Developer\\Scripting\\Modules")
Linux
设置环境变量:
bash
export PYTHONPATH=$PYTHONPATH:/opt/resolve/Developer/Scripting/Modules
或者通过环境变量设置自定义路径:
bash
export RESOLVE_SCRIPT_PATH="/custom/path/to/scripting/modules"
运行服务器
启动 MCP 服务器:
bash
# 直接使用 Python 运行
python -m resolve_mcp.server
# 或使用 uv
uv run resolve_mcp/server.py
服务器将启动并连接到 DaVinci Resolve,输出类似以下日志:
2025-03-19 ... - resolve_mcp - INFO - Successfully connected to DaVinci Resolve.
Claude 集成配置
要与 Claude Desktop 集成,请更新您的 claude_desktop_config.json
(例如,在 macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json
):
json
{
"mcpServers": {
"davinci-resolve": {
"command": "/path/to/uv",
"args": [
"run",
"--directory",
"/path/to/davinci-resolve-mcp",
"resolve_mcp/server.py"
]
}
}
}
- 将
/path/to/uv
替换为您的uv
可执行文件路径(例如/usr/local/bin/uv
或C:\Users\username\.cargo\bin\uv.exe
)。 - 将
/path/to/davinci-resolve-mcp
替换为您的项目目录绝对路径。
重新启动 Claude Desktop 以启用服务器。在输入框中查找锤子图标以确认集成。
故障排除
连接问题
如果服务器无法连接:
- 确保 DaVinci Resolve Studio 正在运行。
- 检查 Resolve 的偏好设置以确认启用了脚本功能。
- 验证 Python 版本兼容性(推荐 3.10+):
bash
python --version
- 确认可以访问 API 路径(在 macOS 上查看日志
~/Library/Logs/Claude/mcp*.log
或在 Windows 上%userprofile%\AppData\Roaming\Claude\Logs\
)。
依赖问题
如果缺少如 mcp
或 pydantic
等模块:
bash
uv install mcp pydantic
Python 版本兼容性
如有需要,使用 pyenv
切换到兼容版本:
bash
pyenv install 3.10.12
pyenv shell 3.10.12
uv install -r requirements.txt
可用工具和资源
MCP 服务器通过 ResolveAPI
类提供了广泛的功能:
项目管理
- 创建新项目 (
create_project
) - 加载现有项目 (
load_project
) - 保存当前项目 (
save_project
) - 导出/导入项目 (
export_project
,import_project
) - 获取/设置项目设置 (
get_project_settings
,set_project_setting
)
时间线操作
- 创建新时间线 (
create_timeline
) - 设置/获取当前时间线 (
set_current_timeline
,get_current_timeline
) - 添加/管理轨道 (
add_track
,set_track_name
,enable_track
) - 获取时间线项 (
get_timeline_items
) - 设置片段属性 (
set_clip_property
) - 添加标记 (
add_timeline_marker
)
媒体管理
- 导入媒体文件 (
add_items_to_media_pool
) - 创建媒体池文件夹 (
add_sub_folder
) - 从片段创建时间线 (
create_timeline_from_clips
) - 获取片段元数据 (
get_clip_metadata
)
Fusion 集成
- 向片段添加 Fusion 合成 (
create_fusion_node
) - 创建/管理 Fusion 节点 (
create_fusion_node
) - 访问当前合成 (
get_current_comp
)
色彩校正
- 获取/添加色彩节点 (
get_color_page_nodes
,add_color_node
) - 保存/应用静止图像 (
save_still
,apply_still
) - 管理图库相册 (
get_gallery_albums
)
音频控制
- 获取/设置片段音频音量 (
get_audio_volume
,set_audio_volume
) - 设置轨道音量 (
set_track_volume
)
播放控制
- 播放/停止播放 (
play
,stop
) - 获取/设置播放头位置 (
get_current_timecode
,set_playhead_position
)
渲染
- 开始渲染 (
start_render
) - 获取渲染状态 (
get_render_status
)
导航
- 打开特定页面 (
open_page
: 媒体、编辑、Fusion、色彩、Fairlight、交付)
高级操作
- 执行自定义 Python 代码 (
execute_python
) - 在 Fusion 中执行 Lua 脚本 (
execute_lua
)
开发
要贡献:
- 叉仓库:
https://github.com/yourusername/davinci-resolve-mcp
- 创建功能分支:
git checkout -b feature-name
- 安装依赖项:
uv install -e .
- 修改并测试:
uv run resolve_mcp/server.py
- 提交拉取请求。
许可证
主要更新
- 扩展功能:在“可用工具和资源”部分添加了新功能,如图库管理、轨道控制、音频调整、播放和项目导出/导入。
- 安装清晰度:改进了
uv
指令,包括验证步骤和明确的 Claude 集成路径。 - 故障排除:增强了具体的命令和日志位置以进行调试。
- 配置:更新了 API 访问说明,反映了
ResolveAPI
中的动态路径处理。
此 README 现已完全与增强的 ResolveAPI
类对齐,为用户提供了一个全面的指南。如果您需要进一步调整,请告知!