小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
2
最近更新:2个月前

与 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

配置

在运行服务器之前,请确保:

  1. DaVinci Resolve Studio 正在运行。
  2. 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/uvC:\Users\username\.cargo\bin\uv.exe)。
  • /path/to/davinci-resolve-mcp 替换为您的项目目录绝对路径。

重新启动 Claude Desktop 以启用服务器。在输入框中查找锤子图标以确认集成。

故障排除

连接问题

如果服务器无法连接:

  1. 确保 DaVinci Resolve Studio 正在运行。
  2. 检查 Resolve 的偏好设置以确认启用了脚本功能。
  3. 验证 Python 版本兼容性(推荐 3.10+):
    bash 复制代码
    python --version
  4. 确认可以访问 API 路径(在 macOS 上查看日志 ~/Library/Logs/Claude/mcp*.log 或在 Windows 上 %userprofile%\AppData\Roaming\Claude\Logs\)。

依赖问题

如果缺少如 mcppydantic 等模块:

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)

开发

要贡献:

  1. 叉仓库:https://github.com/yourusername/davinci-resolve-mcp
  2. 创建功能分支:git checkout -b feature-name
  3. 安装依赖项:uv install -e .
  4. 修改并测试:uv run resolve_mcp/server.py
  5. 提交拉取请求。

许可证

MIT License


主要更新

  • 扩展功能:在“可用工具和资源”部分添加了新功能,如图库管理、轨道控制、音频调整、播放和项目导出/导入。
  • 安装清晰度:改进了 uv 指令,包括验证步骤和明确的 Claude 集成路径。
  • 故障排除:增强了具体的命令和日志位置以进行调试。
  • 配置:更新了 API 访问说明,反映了 ResolveAPI 中的动态路径处理。

此 README 现已完全与增强的 ResolveAPI 类对齐,为用户提供了一个全面的指南。如果您需要进一步调整,请告知!