io.github.Airta-Admin/davinc-resolve-local-bridge-mcp
Davinc-Resolve-Local-Bridge-MCP
Что это?
Davinc-Resolve-Local-Bridge-MCP — это сервер Model Context Protocol (MCP), который даёт ИИ-ассистентам полный контроль над DaVinci Resolve. Он предоставляет 215 инструментов, покрывающих весь API скриптинга Resolve — проекты, таймлайны, медиа, Fusion, цветокоррекцию, рендеринг и многое другое.
Как это работает
Your AI Assistant (Claude, Cursor, Devin, etc.)
│
│ talks MCP (stdio)
▼
mcp_server/server.py ← runs on your machine
│
│ talks HTTP (localhost:8787)
▼
Bridge-Connection-Script.py ← runs INSIDE DaVinci Resolve
│ (Workspace > Scripts menu)
▼
DaVinci Resolve API ← full read + write accessСкрипт моста запускается внутри процесса DaVinci Resolve, что даёт ему полный доступ к API скриптинга Resolve — даже в бесплатной версии (которая блокирует внешний скриптинг). MCP-сервер работает как отдельный процесс и проксирует вызовы инструментов к мосту через HTTP на localhost.
Related MCP server: davinci-resolve-mcp
Быстрый старт
Предварительные требования
DaVinci Resolve 18.5+ (Free или Studio)
Python 3.10+ на вашем компьютере
MCP-совместимый ИИ-ассистент (Claude Desktop, Cursor, Devin и т.д.)
Шаг 1 — Установите скрипт моста
Запустите установщик:
python install.pyИли вручную скопируйте bridge/Bridge-Connection-Script.py в папку скриптов Resolve:
Платформа | Путь |
Windows |
|
macOS |
|
Linux |
|
Шаг 2 — Установите зависимости MCP-сервера
pip install -r requirements.txtШаг 3 — Настройте вашего ИИ-ассистента
Добавьте MCP-сервер в файл конфигурации вашего ассистента. Путь к серверу — mcp_server/server.py в этом репозитории.
Claude Desktop
Отредактируйте claude_desktop_config.json:
{
"mcpServers": {
"davinci-resolve-local-bridge": {
"command": "python",
"args": ["C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.py"]
}
}
}Cursor
Отредактируйте .cursor/mcp.json:
{
"mcpServers": {
"davinci-resolve-local-bridge": {
"command": "python",
"args": ["C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.py"]
}
}
}Devin
Отредактируйте mcp_config.json:
{
"mcpServers": {
"resolve-local-bridge": {
"command": "python",
"args": ["C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.py"]
}
}
}Claude Code
claude mcp add davinci-resolve-local-bridge -- python C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.pyЛюбой MCP-клиент (универсальный)
Сервер использует stdio-транспорт. Запустите его с помощью:
python mcp_server/server.pyШаг 4 — Запустите мост внутри DaVinci Resolve
Откройте DaVinci Resolve
Перейдите в Workspace → Scripts → Bridge-Connection-Script
Посмотрите в Console (Workspace → Console) на:
[Resolve Bridge] Connected to Resolve 21.0.4.5
[Resolve Bridge] HTTP server running on http://127.0.0.1:8787
[Resolve Bridge] 215 actions availableШаг 5 — Начните использовать
Спросите вашего ИИ-ассистента:
"Проверь, подключен ли DaVinci Resolve"
Ассистент вызовет инструмент resolve_status и сообщит результат. Затем попробуйте:
"Создай новый проект 1920x1080 30fps под названием 'My Video' и добавь таймлайн"
Архитектура
Скрипт моста (bridge/Bridge-Connection-Script.py)
Python-скрипт, который запускается внутри DaVinci Resolve через меню Workspace > Scripts. Он:
Получает живой объект
resolveиз глобальных переменных FusionЗапускает HTTP-сервер на
127.0.0.1:8787Предоставляет 3 конечные точки:
GET /health— проверка, жив ли мостGET /actions— список всех доступных имён действийPOST /action— выполнение действия по имени с параметрами
Остаётся активным с помощью блокирующего вызова
serve_forever()Убивает любой предыдущий экземпляр на том же порту перед запуском
MCP-сервер (mcp_server/server.py)
Автономный MCP-сервер, который:
Подключается к мосту по HTTP на localhost
Автоматически обнаруживает все 215 действий из конечной точки
/actionsмостаПредоставляет каждое действие как MCP-инструмент с префиксом
resolve_Проксирует вызовы инструментов к мосту через
POST /actionОстаётся синхронизированным с мостом — ручные определения инструментов не нужны
Все 215 инструментов
MCP-сервер автоматически обнаруживает инструменты из моста. Каждый инструмент имеет префикс resolve_ (например, status становится resolve_status). Передавайте параметры как объект params.
Приложение Resolve (15 инструментов)
Инструмент | Параметры | Описание |
| — | Проверить подключение к мосту и получить информацию о текущем проекте/таймлайне |
| — | Получить информацию о версии Resolve |
| — | Получить активную страницу (edit, cut, color и т.д.) |
|
| Переключиться на страницу: edit, cut, fusion, color, fairlight, deliver, media |
| — | Список доступных пресетов раскладки |
|
| Загрузить пресет раскладки по имени |
| — | Получить текущий режим ключевых кадров |
|
| Установить режим ключевых кадров |
| — | Список аудиопресетов Fairlight |
| — | Список пресетов burn-in |
|
| Импортировать пресет рендеринга из файла |
|
| Экспортировать пресет рендеринга в файл |
| — | Переключиться на страницу Fusion |
| — | Переключиться на страницу Edit |
| — | Переключиться на страницу Deliver |
Менеджер проектов (18 инструментов)
Инструмент | Параметры | Описание |
|
| Создать новый проект |
|
| Загрузить существующий проект |
| — | Сохранить текущий проект |
| — | Закрыть текущий проект |
|
| Удалить проект |
|
| Создать папку проекта |
|
| Удалить папку проекта |
| — | Список проектов в текущей папке |
| — | Список подпапок в текущей папке |
| — | Получить имя текущей папки |
|
| Открыть папку |
| — | Перейти в корневую папку |
| — | Перейти в родительскую папку |
|
| Импортировать проект .drp |
|
| Экспортировать проект как .drp |
|
| Архивировать проект |
| — | Получить имя текущей базы данных |
| — | Список доступных баз данных |
Настройки проекта (7 инструментов)
Инструмент | Параметры | Описание |
| — | Получить имя текущего проекта |
|
| Переименовать текущий проект |
|
| Получить настройку проекта по ключу |
|
| Установить настройку проекта |
| — | Получить все настройки проекта |
| — | Список пресетов проекта |
|
| Применить пресет проекта |
Медиа-хранилище (4 инструмента)
Инструмент | Параметры | Описание |
| — | Список подключенных томов хранилища |
|
| Список подпапок в пути |
|
| Список файлов в папке |
|
| Показать файл в файловом браузере ОС |
Медиапул (13 инструментов)
Инструмент | Параметры | Описание |
|
| Импортировать медиафайлы в пул |
| — | Список всех клипов в корневой папке |
| — | Получить информацию о корневой папке |
|
| Создать подпапку |
|
| Установить текущую папку |
|
| Удалить клипы из пула |
|
| Переместить клипы в папку |
|
| Переподключить клипы |
|
| Отключить клипы |
|
| Экспортировать метаданные CSV |
| — | Список выбранных клипов |
|
| Выбрать клип |
|
| Добавить файлы матов |
Таймлайн (21 инструмент)
Tool | Parameters | Description |
|
| Создать новую пустую временную шкалу |
|
| Создать временную шкалу из клипов |
| — | Перечислить все временные шкалы |
| — | Получить имя текущей временной шкалы |
|
| Переименовать текущую временную шкалу |
|
| Переключиться на временную шкалу по индексу (начиная с 1) |
| — | Дублировать текущую временную шкалу |
|
| Удалить временные шкалы |
| — | Получить начальный кадр |
| — | Получить конечный кадр |
| — | Получить начальный таймкод |
|
| Установить начальный таймкод |
| — | Получить текущий таймкод |
|
| Установить текущий таймкод |
| — | Обнаружить склейки сцен |
|
| Автоматически создать субтитры |
|
| Экспортировать временную шкалу |
|
| Импортировать временную шкалу из файла |
|
| Добавить клипы во временную шкалу |
|
| Получить настройку временной шкалы |
|
| Установить настройку временной шкалы |
Дорожки временной шкалы (11 инструментов)
Tool | Parameters | Description |
|
| Подсчитать дорожки (видео/аудио/субтитры) |
|
| Добавить дорожку |
|
| Удалить дорожку |
|
| Включить/отключить дорожку |
|
| Проверить, включена ли дорожка |
|
| Заблокировать/разблокировать дорожку |
|
| Проверить, заблокирована ли дорожка |
|
| Получить имя дорожки |
|
| Установить имя дорожки |
|
| Перечислить клипы на дорожке |
| — | Перечислить выбранные клипы временной шкалы |
Элементы временной шкалы (66 инструментов)
Все действия с элементами принимают необязательные параметры trackType, trackIndex, itemIndex для выбора конкретного клипа или работают с первым выбранным клипом, если они не указаны.
Инструмент | Параметры | Описание |
|
| Получить имя клипа |
|
| Переименовать клип |
|
| Получить длительность клипа |
|
| Получить начальный кадр клипа |
|
| Получить конечный кадр клипа |
|
| Получить свойство клипа |
|
| Установить свойство клипа |
|
| Проверить, включен ли клип |
|
| Включить/отключить клип |
|
| Установить цвет клипа |
|
| Получить цвет клипа |
|
| Очистить цвет клипа |
|
| Добавить флаг |
|
| Получить флаги |
|
| Очистить флаги |
|
| Добавить маркер |
|
| Получить маркеры |
|
| Вставить генератор |
|
| Вставить генератор Fusion |
| — | Вставить композицию Fusion |
|
| Вставить генератор OFX |
|
| Вставить заголовок |
|
| Вставить заголовок Fusion |
| — | Захватить стоп-кадр из текущего кадра |
| — | Захватить стоп-кадры из всех клипов |
|
| Создать составной клип |
| — | Создать клип Fusion |
|
| Импортировать в таймлайн |
|
| Стабилизировать клип |
|
| Умное перекадрирование клипа |
|
| Создать Magic Mask |
|
| Пересоздать Magic Mask |
|
| Получить информацию о дорожке для клипа |
|
| Получить связанные элементы |
|
| Установить значения CDL |
|
| Добавить дубль |
|
| Подсчитать дубли |
|
| Выбрать дубль |
|
| Завершить текущий дубль |
|
| Скопировать грейды на другие клипы |
|
| Экспортировать LUT |
|
| Установить кэш цветового вывода |
|
| Установить кэш вывода Fusion |
|
| Получить метаданные клипа |
|
| Установить метаданные клипа |
|
| Получить свойство клипа |
|
| Установить свойство клипа |
|
| Связать прокси-медиа |
| — | Отвязать прокси-медиа |
|
| Заменить клип файлом |
|
| Добавить маркер клипа |
| — | Получить маркеры клипа |
|
| Установить цвет клипа (медиапул) |
|
| Добавить флаг клипа |
|
| Транскрибировать аудио |
|
| Установить точки входа/выхода |
|
| Очистить точки входа/выхода |
|
| Добавить маркер таймлайна |
| — | Получить маркеры таймлайна |
|
| Удалить маркеры по цвету |
|
| Удалить маркер в кадре |
|
| Экспортировать текущий кадр как стоп-кадр |
|
| Применить пресет Fairlight |
| — | Список пресетов быстрого экспорта |
Композиции Fusion (14 инструментов)
Инструмент | Параметры | Описание |
|
| Создать композицию Fusion |
|
| Добавить композицию Fusion к клипу |
|
| Импортировать файл .comp |
|
| Экспортировать композицию Fusion |
|
| Загрузить композицию по имени |
|
| Удалить композицию по имени |
|
| Переименовать композицию |
|
| Подсчитать композиции Fusion на клипе |
|
| Список имен композиций Fusion |
| — | Получить текущую композицию Fusion |
| — | Список всех открытых композиций |
| — | Создать новую композицию Fusion |
|
| Сохранить текущую композицию |
|
| Загрузить файл композиции |
| — | Закрыть текущую композицию |
| — | Рендерить текущую композицию |
Инструменты Fusion (11 инструментов)
Инструмент | Параметры | Описание |
| — | Список всех инструментов/узлов в текущей композиции |
|
| Найти инструмент по имени |
|
| Удалить инструмент |
|
| Получить атрибуты инструмента |
|
| Установить атрибуты инструмента |
|
| Добавить узел (Background, Paint, Merge и т.д.) |
|
| Соединить два узла |
|
| Установить вход узла (можно с ключевыми кадрами) |
|
| Получить значение входа узла |
|
| Установить текущий кадр |
| — | Получить текущий кадр |
Галерея (4 инструмента)
Инструмент | Параметры | Описание |
| — | Список альбомов стоп-кадров галереи |
| — | Список альбомов PowerGrade |
| — | Создать альбом стоп-кадров |
| — | Создать альбом PowerGrade |
Цвет / Узлы (7 инструментов)
Инструмент | Параметры | Описание |
| — | Получить количество узлов на текущем клипе |
|
| Получить метку узла |
|
| Получить LUT узла |
|
| Установить LUT на узел |
|
| Включить/отключить узел |
| — | Сбросить все грейды |
| — | Обновить список LUT |
Рендеринг (22 инструмента)
Инструмент | Параметры | Описание |
| — | Список форматов рендеринга |
|
| Список кодеков для формата |
| — | Получить текущий формат/кодек |
|
| Установить формат и кодек рендеринга |
| — | Получить режим рендеринга |
|
| Установить режим рендеринга |
|
| Список разрешений рендеринга |
| — | Список пресетов рендеринга |
|
| Загрузить пресет рендеринга |
|
| Сохранить новый пресет рендеринга |
|
| Удалить пресет рендеринга |
|
| Установить настройки рендеринга (TargetDir, CustomName и т.д.) |
| — | Добавить задачу рендеринга |
|
| Удалить задачу рендеринга |
| — | Удалить все задачи рендеринга |
| — | Список задач рендеринга |
|
| Начать рендеринг |
| — | Остановить рендеринг |
| — | Проверить, выполняется ли рендеринг |
|
| Получить статус задачи рендеринга |
|
| Быстрый экспорт |
|
| Добавить задачу и начать рендеринг |
Речь и субтитры (1 инструмент)
Инструмент | Параметры | Описание |
|
| Сгенерировать аудио речи с помощью ИИ |
Специальные (1 инструмент)
Инструмент | Параметры | Описание |
|
| Создать анимацию рисования от руки (техника Daniel Batal) |
Устранение неполадок
Мост не запускается
Убедитесь, что DaVinci Resolve запущен и открыт проект
Проверьте консоль (Workspace → Console) на наличие сообщений об ошибках
Перезапустите DaVinci Resolve — он сканирует папку Scripts только при запуске
«Не удалось подключиться к Resolve Bridge»
Убедитесь, что вы запустили Workspace → Scripts → Bridge-Connection-Script внутри Resolve
Проверьте, что в консоли отображается
[Resolve Bridge] HTTP server running on http://127.0.0.1:8787Если порт уже занят, закройте Resolve и откройте его снова (устаревшие процессы
fuscript.exeмогут удерживать порт)
Инструменты возвращают ошибки
Сначала вызовите
resolve_status, чтобы проверить подключениеНекоторые действия требуют открытого проекта, наличия таймлайна или выбранного клипа
Сообщения об ошибках от моста указывают, чего не хватает
Технические детали
Порт моста: 127.0.0.1:8787 (только localhost, без внешнего доступа)
Транспорт: HTTP/1.0 с Connection: close
Транспорт MCP: stdio
Зависимости:
mcp,requests(только для MCP-сервера; мост использует чистую стандартную библиотеку)Версия Resolve: 18.5+ (протестировано на 21.0.4.5)
Python: 3.10+ для MCP-сервера; мост использует встроенный Python Resolve
Лицензия
Лицензия MIT — см. файл LICENSE.
Авторы
Создано The Geek Gods. Вдохновлено сообществом скриптинга DaVinci Resolve.
Available Tools
1 toolresolve_healthA
Check if DaVinci Resolve bridge is running. The bridge script must be running inside Resolve via Workspace > Scripts > DaVinciResolveBridge. If this returns an error, the bridge is not running.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states the error behavior: 'If this returns an error, the bridge is not running.' This is key behavioral information. However, it does not disclose what a successful response contains or whether the tool has any side effects, though 'check' implies a read-only operation. Still, the error semantics are clearly and usefully disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each earning its place. The first sentence states the purpose, the second gives the setup prerequisite, and the third explains error interpretation. It is front-loaded with the core function and contains no filler or redundant phrases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, no output schema, and no siblings. The description covers what the tool checks and how to interpret an error. A minor gap is that it does not explicitly describe the success response, but for a health-check tool, the error condition is the most critical information. The description is otherwise complete for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, so there is nothing to document. According to the guidelines, a baseline of 4 is appropriate when no parameters exist. The description does not need to add parameter-level detail, and it doesn't waste space on it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: 'Check if DaVinci Resolve bridge is running.' The verb 'check' and resource 'DaVinci Resolve bridge' are specific and unambiguous. Since there are no sibling tools, there is no need for differentiation, and the description is fully self-contained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by explaining the prerequisite: the bridge script must be running inside Resolve via Workspace > Scripts > DaVinciResolveBridge. It also tells the agent how to interpret the result, which is effectively guidance for using the tool. There are no alternatives to contrast, so no exclusions are necessary, but it doesn't explicitly say 'use this when you need to verify connectivity.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.2.5- First observed
resolve_health
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion or overlapping purposes. The tool's purpose is unambiguous.
The single tool name follows a clear verb_noun pattern (resolve_health), which is consistent and descriptive. With only one tool, naming consistency is inherently strong.
A single health-check tool is far too few for a server presumably meant to bridge to DaVinci Resolve. Even as a minimal health-only server, one tool feels extremely thin and provides little value beyond a ping.
The server only provides a health check, with no ability to interact with DaVinci Resolve projects, timelines, renders, or any other meaningful operations. This is a severely incomplete surface for a bridge to a complex application.
Maintenance
Related MCP Connectors
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Remote MCP for AI video, image, music and speech generation.
- CueFrameOAuthai.cueframe
Compose, edit and render video with your AI agent. Turn footage into finished edits with content-aware reframing, word-timed captions and motion graphics. Hosted MCP with OAuth sign-in; cloud processing uses credits.
Plan, compare, price, generate, and recover AI video from compatible MCP clients.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceComprehensive MCP server for DaVinci Resolve with 295+ tools to control projects, timelines, editing, color grading, rendering, and more via natural language.83 PyPI6MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that exposes the complete DaVinci Resolve scripting API, enabling AI assistants to control DaVinci Resolve programmatically with over 440 tools for project management, timeline editing, color grading, rendering, and more.13MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to control DaVinci Resolve (Free and Studio) through natural language, providing 162 tools for timeline editing, color grading, rendering, and more. Includes local AI replacements for Studio-only features like voice isolation, background removal, and transcription.MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to control DaVinci Resolve Studio via MCP, providing full scripting API coverage plus workflow helpers for editing, media organization, rendering, grading, and more.5,556 npmMIT