AIKraft Agents

samuelgursky/davinci-resolve-mcp

MCP-сервер для интеграции с DaVinci Resolve Studio

MCP⭐ 3 955Pythonпоследний релиз: v4.19.0
Открыть на GitHub ↗

Что это за инструмент

MCP-сервер, позволяющий AI-ассистентам управлять DaVinci Resolve Studio через официальный Scripting API.

Зачем нужен

Инструмент автоматизирует рутинные задачи видеомонтажа, организации медиа и настройки рендера, интегрируя профессиональный видеоредактор в рабочий процесс AI-агентов. Это полезно для ускорения черновой сборки, синхронизации и подготовки материалов без ручного вмешательства.

Что можно реализовать

  • Автоматический поиск и синхронизация дублей по 2-pop или хлопушке (slate claps)
  • Создание мультикамерных временных линий и организация медиа в бинах
  • Анализ таймлайна на наличие разрывов, перекрытий и отсутствующих медиа
  • Автоматическая подготовка плана рендера (например, ProRes 422 HQ) и постановка задачи в очередь
  • Копирование маркеров обзора и экспорт отчетов для согласования

Ключевые возможности

  • Полное покрытие API DaVinci Resolve (100% coverage) с поддержкой режимов 'Compound' (34 инструмента) и 'Full' (341 инструмент)
  • Встроенная локальная панель управления для инспекции состояния Resolve и визуального анализа медиа
  • Поддержка сложных задач: работа с Fairlight, Fusion, DCTL-скриптами и source-safe анализом
  • Удобная установка через npm с автоконфигурацией для популярных IDE и AI-клиентов (Claude, Cursor, VS Code и др.)
  • Высокая надежность: 98.5% успешных живых тестов и защита от потери медиа (guards)

👤 Кому подойдёт: видеомонтажеры, видеоинженеры и разработчики, использующие AI-агентов для автоматизации постпродакшна

Релизы

v4.19.0major
🕐 вчера · релиз на GitHub ↗

Добавлена запись переменных скоростей, ключевых кадров и Magic Mask 2 в Project.db; улучшена стабильность на Node 20.

  • Added: Реализована запись переменных скоростей (speed ramps) с плавным замедлением/ускорением напрямую в Project.db.
  • Added: Добавлена поддержка ключевых кадров для параметров коррекции цвета и авторизации кликов Magic Mask 2.
  • Added: Команда drx generate теперь корректно записывает параметр lumMixSlider: 0 для точной настройки каналов R/G/B.
  • Fixed: Код ключевых кадров и Magic Mask адаптирован для работы на Node 20, устранив зависимость от Node 22.15.
  • Fixed: Исправлена медленная проверка запущенного процесса Resolve на Windows за счет фильтрации по имени образа.
v4.18.6patch
🕐 вчера · релиз на GitHub ↗

Исправлен парсер CDL: теперь импортируются все коррекции, включая те, у которых отсутствует или пустой атрибут id.

  • Fixed: cdl_io теперь импортирует все коррекции из файла, игнорируя требование наличия непустого id.
  • Fixed: Коррекции без id или с пустым id получают имя вида cc<index> вместо игнорирования.
  • Fixed: Открытый тег ColorCorrection теперь принимает любые атрибуты, а не только строгий id.
  • Самозакрывающиеся элементы ColorCorrection по-прежнему пропускаются, чтобы не ломать валидацию.
v4.18.5patch
🕐 3 дн назад · релиз на GitHub ↗

Исправлена ошибка с отказом в clipInfo субтитров в Resolve 21.0, обновлена документация по ограничениям API.

  • Fixed: Исправлена проблема, когда Resolve 21.0 отказывался возвращать clipInfo для субтитров.
  • Deprecated: Методы Timeline.DeleteGaps и Timeline.ExportFrame признаны некорректными при расположении клипов до стартового кадра.
  • Уточнены ошибки поведения методов: AddMarker, AddToPhotoAlbum, SetPosition, MoveItems и SetLeftOffset.
  • Исправлено поведение absolute recordFrame, которое ранее приводило к некорректному равенству StartFrame и EndFrame.
v4.18.4patch
🕐 4 дн назад · релиз на GitHub ↗

Обновление справочника API: задокументированы некорректные ответы и фиктивные успехи методов Resolve.

  • Fixed: Шесть методов, возвращающих ложный успех, добавлены в реестр api_truth для предотвращения их вызова агентами.
  • Added: Документировано поведение Timeline.DeleteGaps, возвращающего True без изменения клипов.
  • Added: Зафиксировано отсутствие методов работы с фотоальбомами в MediaPool на Studio 19.1.3.7.
  • Added: Описаны ошибки TimelineItem.SetLeftOffset, вызывающие скачок таймкода, и некорректная работа SetPosition.
  • Added: Уточнены условия сбоев ExportFrame при некорректных границах и AddMarker при нулевых кадрах.
v4.18.2patchbreaking
🕐 5 дн назад · релиз на GitHub ↗

Исправлена критическая уязвимость при замене строк с символом $, предотвращающая порчу дорожек и путей.

  • Fixed: Устранена ошибка, из-за которой наличие символа $ в имени клипа приводило к порче дорожки и дублированию контента.
  • Fixed: Исправлена работа media_ops relink_manifest: теперь символы $ в путях сохраняются корректно, без искажений.
  • Fixed: Защищены от уязвимости вызовы replace() в функциях assemble_timeline, субтитрах и генераторе правил агентов.
  • Breaking: Введен строгий контроль: replace() теперь разрешено использовать только с функциями или литералами без незащищенных $.
v4.18.1patch
🕐 5 дн назад · релиз на GitHub ↗

Исправлены критические ошибки парсинга XML и обработки спецсимволов в путях и именах файлов.

  • Fixed: Исправлено искажение имён таймлайнов и сбой сборки проекта из-за символов доллара в названиях.
  • Fixed: Применена защита от интерполяции во всех местах записи XML-файлов (.drp/.drt).
  • Fixed: Добавлено XML-экранирование путей и имён файлов, содержащих амперсанды.
  • Fixed: Исправлена ошибка анализа медиа, вызываемая обратными слэшами в метаданных.
v4.18.0minor
🕐 5 дн назад · релиз на GitHub ↗

Добавлены функции live-редактирования субтитров в DaVinci Resolve, изменён set_subtitle_preset, улучшена валидация.

  • Added: Появились методы timeline_ai.list_captions_live и timeline_ai.write_captions_live для редактирования текста и тайминга субтитров без выхода из Resolve.
  • Added: write_captions_live поддерживает операции replace, add, delete, используя механизм экспорта в DRT и импорта новой ревизии таймлайна.
  • Added: write_captions_live зарегистрирован как деструктивное действие с возможностью dry run, а list_captions_live работает в режиме только чтения.
  • Fixed: Функция set_subtitle_preset теперь использует тот же цикл экспорта-редактирования-импорта, что и writer субтитров.
  • Deprecated: Добавление субтитров в пустую дорожку требует наличия шаблона; составные композиции Fusion для отдельных субтитров больше не поддерживаются.
v4.17.0minor
🕐 7 дн назад · релиз на GitHub ↗

Добавлена поддержка версии Resolve 21 в drx generate, включая корректную запись окон и varint-кодирование типов корректоров.

  • Added: Команда drx generate теперь принимает resolveVersion, позволяя явно указывать версию DaVinci Resolve.
  • Added: Для Resolve 21 реализован новый формат экспорта круговых и линейных окон с корректным типом корректора 0x10004.
  • Added: Список типов корректоров узла перекодирован в varint для поддержки идентификаторов больше 127.
  • Fixed: Исправлена проблема, при которой Resolve 21 отображал пустую маску и скрывал цветокоррекцию при загрузке старых окон.
  • Проведена валидация: 1153 теста пройдены, CI успешно работает на Python 3.10/3.11 и Node 20/22.
v4.16.0major
🕐 8 дн назад · релиз на GitHub ↗

Важнейшее: ошибки теперь корректно помечаются как isError, добавлено закрепление таймлайна и улучшена работа с медиа.

  • Fixed: Неудачные вызовы теперь корректно устанавливают MCP-флаг isError: true, предотвращая их ошибочный подсчет как успешных.
  • Added: Добавлена возможность привязки вызова к конкретному таймлайну через timeline_id или name с автоматическим восстановлением контекста.
  • Added: Успешные вызовы теперь сообщают об игнорируемых параметрах через поле ignored_params, так как статический анализ схем невозможен.
  • Fixed: Исправлена работа с онлайн-последовательностями изображений: теперь они корректно распознаются, а не помечаются как отсутствующие.
  • Fixed: Мост (bridge) теперь строго соблюдает настройки allowed_media_roots и allowed_output_roots, ограничивая доступ к файловой системе.
v4.15.5patch
🕐 9 дн назад · релиз на GitHub ↗

Исправлено применение DRX-градов: отказ от пустых таймлайнов и добавлено чтение графов для верификации изменений.

  • Fixed: Применение .drx без таймлайд-грейда теперь блокируется с ошибкой DRX_NO_TIMELINE_GRADE, предотвращая очистку графа.
  • Fixed: Функции apply_grade_from_drx и safe_apply_drx теперь читают графы до и после применения для точной верификации изменений.
  • Fixed: При изменении нецелевого графта операция завершается ошибкой DRX_APPLIED_TO_OTHER_GRAPH, а при отсутствии изменений — предупреждением.
  • Added: Добавлены новые тесты и документация, описывающая поведение на Studio 19.1.3.7 и 21.1.1.10.
v4.15.3patch
🕐 13 дн назад · релиз на GitHub ↗

Расширен CI-тестирование на старые версии Python 3.10 и Node 20/22 для выявления совместимостных проблем.

  • Fixed: Исправлена ошибка, проявлявшаяся только на Python 3.10, которая ранее пропускалась из-за тестирования лишь на 3.11.
  • Added: В CI добавлено тестирование расширенного сервера на Node 20 и Node 22 с чистой установкой зависимостей.
  • Поведение Resolve и сервера не изменено; функциональные изменения отсутствуют.
v4.15.2patch
🕐 14 дн назад · релиз на GitHub ↗

Исправлена запись в контейнер Blackmagic Disk Speed Test и исправлено кодирование маркеров zstd размером свыше 128 КБ.

  • Fixed: Установщик моста больше не записывает файлы в контейнер Blackmagic Disk Speed Test, устраняя лишние записи и предупреждения.
  • Fixed: Маркеры размером более 128 КБ теперь корректно кодируются в zstd путем разделения на блоки, что устраняет ошибки декодирования.
  • Fixed: Исправление применяется также к бинарному реестру (bin registry blob), который использует тот же механизм записи.
v4.15.0major
🕐 14 дн назад · релиз на GitHub ↗

Исправлены критические ошибки работы с ключевыми кадрами, треками и воспроизведением в Resolve 19.x; добавлена функция замены диапазона источника.

  • Fixed: Исправлен краш методов работы с ключевыми кадрами (get_keyframes, add_keyframe и др.) в Resolve 19.x.
  • Fixed: Запрещено переключение страниц во время воспроизведения, предотвращающее зависание основного потока Resolve.
  • Fixed: Улучшена диагностика ошибки подключения: при уже установленной настройке Local предлагается перезапустить приложение.
  • Fixed: Исправлен захват кадров через экспорт, когда стандартный рендеринг не работает.
  • Added: Добавлена команда timeline replace_source_range для замены диапазона источника клипа через временный трек.
  • Added: Добавлен скрипт doctor.py для проверки среды выполнения Python и исправления проблем с битностью.
v4.14.4patch
🕐 17 дн назад · релиз на GitHub ↗

Обновление зависимостей и исправление уязвимостей безопасности в advanced-server без изменений функционала Resolve.

  • Fixed: Обновлены зависимости fast-xml-parser, JSZip, Zod, pg и Prettier до последних версий.
  • Fixed: Устранены уязвимости безопасности в MCP SDK и sharp, приведены в порядок версии пакетов.
  • Отложен переход на js-yaml v5 и major-версию better-sqlite3 из-за несовместимости.
  • Все 1141 тест прошли успешно, критических изменений в скриптах Resolve нет.
v4.14.2patch
🕐 18 дн назад · релиз на GitHub ↗

Обновлены зависимости resolve-advanced для устранения уязвимостей и добавлен еженедельный Dependabot.

  • Fixed: Обновлены зависимости resolve-advanced для устранения пяти уязвимостей npm audit.
  • Fixed: Обновлен корневой файл package-lock.json для выпуска.
  • Added: Добавлены еженедельные обновления Dependabot для папки resolve-advanced.
  • Пройдена полная проверка уязвимостей и тестовая валидация без изменений поведения.
v4.14.1patch
🕐 18 дн назад · релиз на GitHub ↗

Исправлено определение пути для DaVinci Resolve Studio на macOS, теперь корректно обнаруживается версия из Mac App Store.

  • Fixed: На macOS теперь корректно распознаётся путь к приложению /Applications/Davinci Resolve Studio.app, которое хранит скрипты внутри бандла.
  • Fixed: Исправлена ошибка, из-за которой запущенная студийная версия считалась неработающей из-за отличия имени процесса от DaVinci Resolve.app.
  • Fixed: Обновлён приоритет поиска: сначала проверяется установочный бандл, затем Mac App Store Studio, и только потом бесплатная версия из App Store.
v4.14.0minor
🕐 18 дн назад · релиз на GitHub ↗

Исправлена ошибка установки пресетов субтитров и восстановлена работа захвата кадров на странице Deliver.

  • Fixed: Устранена ошибка ERR_MODULE_NOT_FOUND при установке пресетов субтитров из-за отсутствия jszip.
  • Fixed: Восстановлена корректная работа захвата кадров на странице Deliver с правильным управлением путями и кодеками.
  • Added: Word Highlight теперь поддерживает настройки тени и выравнивания текста.
  • Added: Обновлена документация с описанием новых элементов управления и установки Node-пакетов.
v4.13.7patch
🕐 20 дн назад · релиз на GitHub ↗

Исправлено распознавание путей и переподключение медиафайлов при переносе проектов между macOS и Windows.

  • Fixed: Исправлено извлечение имён файлов для путей, записанных другой ОС (например, Windows-пути на macOS).
  • Fixed: Улучшена диагностика томов: теперь корректно обрабатываются пути другой ОС, исключая ложные срабатывания.
  • Fixed: Исправлено формирование планов переподключения (relink plans) при использовании параметра sanitized=true.
v4.13.6patch
🕐 20 дн назад · релиз на GitHub ↗

Исправлена ошибка формирования версии в функции drt(action='downgrade'), теперь корректно определяются версии Resolve и проектов.

  • Fixed: Исправлено формирование метки DbAppVer: теперь используется реальная версия из реестра, а не искусственно дополненная до четырёх частей.
  • Fixed: Внедрено явное определение DbPrjVer на основе targetProjectVersion и карты соответствий, что позволяет корректно обрабатывать Resolve 20 (схема 15).
  • Fixed: DbAppVer теперь приоритетно берётся из явной строки appVersionString, затем из реестра (если схема совпадает), и только потом из старой формы с предупреждением.
  • Added: Результат операций теперь содержит поля projectVersionSource, appVersionSource, registryRow и warnings при использовании резервного варианта.
  • Added: Добавлено 6 новых тестовых случаев для drt-downgrade, все 42 теста модуля drt*.test.mjs проходят успешно.
v4.13.2patch
🕐 21 дн назад · релиз на GitHub ↗

Исправлены три ошибки в тестах для Windows, влияющие на переносимость, без изменений в продакшен-коде.

  • Fixed: Исправлено ожидание завершения дочернего процесса в тесте control_panel_ipv6_loopback для корректной работы на Windows.
  • Fixed: Устранена ошибка сравнения путей в тесте test_doctor_paths, вызванная различиями в форматировании путей на Windows.
  • Fixed: Исправлена проверка пути в тесте test_cdl_and_install_config, учитывающая особенности функции repr на Windows.
v4.13.1patch
🕐 23 дн назад · релиз на GitHub ↗

Исправлены критические ошибки работы на Windows, включая некорректную проверку процессов и проблемы с кодировкой файлов.

  • Fixed: Исправлена ошибка на Windows, при которой проверка существования процесса через os.kill приводила к его принудительному завершению.
  • Fixed: Добавлено свойство eol=lf в .gitattributes для сгенерированных файлов правил, что предотвращает ошибки при проверке на Windows.
  • Fixed: Устранены проблемы с закрытием соединений SQLite перед удалением временных директорий в тестовой среде.
  • Fixed: Обеспечена корректная работа тестов с путями, симлинками и системными переменными на разных операционных системах.
v4.11.1patch
🕐 23 дн назад · релиз на GitHub ↗

Исправлены ошибки чтения 3D LUT, некорректная обработка булевых параметров и перенос строк в субтитрах.

  • Fixed: Исправлено чтение 3D LUT-файлов с заголовком LUT_3D_INPUT_RANGE, ранее приводившее к отказу в обработке.
  • Fixed: Устранена ошибка, при которой строка "false" в параметрах интерпретировалась как true.
  • Fixed: Исправлен перенос слов в субтитрах, нарушавший ограничение на количество символов в строке.
v4.10.6patchbreaking
🕐 24 дн назад · релиз на GitHub ↗

Исправлена критическая ошибка с экранированием спецсимволов в именах таймлайнов и групп, ломавшая сборку проектов и чтение грантов.

  • Fixed: Исправлено падение drt(action="assemble_project") при наличии &, " или ' в имени таймлайна.
  • Fixed: Устранена ошибка генерации невалидного MpFolder.xml при использовании спецсимволов в именах папок.
  • Fixed: Исправлено чтение групп: drp(action="extract_group_grades") и drx(action="grade_transfer") теперь корректно ищут группы по неэкранированному имени.
  • Breaking: Теперь требуется передавать имена групп в чистом виде, а не в экранированном формате (например, вместо 'Night & Day' нужно 'Night & Day').
v4.10.4patch
🕐 26 дн назад · релиз на GitHub ↗

Добавлен OSS Scanner и модель угроз для анализа безопасности, код сервера не менялся.

  • Added: В репозиторий добавлен инструмент OSS Scanner и документация по модели угроз.
  • Added: Создан Dockerfile для изолированного сканирования проекта в виртуальной машине.
  • Added: Описаны риски безопасности: аргументы MCP считаются недоверенными, указаны уязвимые места.
  • Результаты сканирования: 4027 тестов Python и 1113 серверных тестов прошли успешно.
v4.10.3patch
🕐 27 дн назад · релиз на GitHub ↗

Исправлены сбои тестового набора conform-qc: добавлены отсутствующие синтетические данные, настроено корректное пропуска тестов с клиентскими ключами и обновлена проверка документации.

  • Fixed: В репозиторий добавлены ранее отсутствовавшие синтетические тестовые данные (9 файлов, ~224 КБ), обеспечивающие воспроизводимость.
  • Fixed: Тесты, требующие клиентского ключа, теперь корректно пропускаются с указанием причины, а не вызывают сбой.
  • Fixed: Обновлена проверка документации (runbook) для соответствия текущим формулировкам о покрытии поверхностей и путях.
  • Added: Полный запуск npm test для resolve-advanced теперь включает vendor/conform-qc, выполнено 1173 теста без ошибок.
v4.10.1patch
🕐 27 дн назад · релиз на GitHub ↗

Исправлено влияние системных утилит на серверные зависимости в macOS, обновлены тесты для Windows и macOS.

  • Fixed: Исправлено приоритизация PATH: теперь виртуальное окружение сервера всегда используется первым, предотвращая подмену утилит системными копиями на macOS.
  • Fixed: Устранена ошибка в тестах на Windows, связанная с закрытием SQLite-соединения перед удалением временной директории.
  • Fixed: Обновлены тестовые фикстуры для macOS: теперь они фиксируют платформу, а не наследуют её от хоста, и нормализуют пути.
v4.10.0minorbreaking
🕐 28 дн назад · релиз на GitHub ↗

Добавлено редактирование субтитров через Project.db, устранены риски повреждения БД при работающем Resolve.

  • Added: Появились новые действия для редактирования текста, тайминга и анимации субтитров напрямую через Project.db.
  • Added: Реализовано клонирование и настройка пресетов анимации, включая цвета и шрифты Word Highlight.
  • Fixed: Исправлена ошибка применения цветов: теперь корректно записываются параметры Text+ shading, а не только Clone.
  • Breaking: Запрещено внесение изменений в проект, пока Resolve запущен; запись требует полного закрытия приложения.
  • Fixed: Устранена причина медленной работы тестов на Windows: теперь база данных корректно закрывается при ошибках схемы.
v4.9.3patch
🕐 28 дн назад · релиз на GitHub ↗

Исправлена критическая ошибка сериализации реестра бинарников при сборке проекта с несколькими таймлайнами.

  • Fixed: Исправлена ошибка, из-за которой `drt(action="assemble_project")` не регистрировал бинарники при наличии двух и более таймлайнов; проблема была в некорректной записи длины поля `FieldsBlob`.
  • Fixed: Улучшена логика проверки временных директорий (`test_source_media_guard`): теперь защита от случайной записи или удаления медиа-файлов работает корректно для широких и узких путей, а также с учетом оп
  • Известная проблема: в шаблонах 19.x (`targetAppVersion: "19.1.3"`) реестр бинарников не записывается, так как шаблон уже содержит собственный бинарник `000_Archive`.
v4.9.2patchbreaking
🕐 28 дн назад · релиз на GitHub ↗

Исправлена блокировка записи во временные папки на Windows и ужесточены проверки доверенных директорий.

  • Fixed: На Windows исправлена ошибка, из-за которой защита исходных медиа блокировала все записи во временные папки из-за проблем с нормализацией путей.
  • Fixed: Добавлена поддержка переменной окружения %TEMP% как доверенной зоны для временных файлов на Windows.
  • Breaking: Временная директория теперь считается доверенной только на Windows и только если это не корень диска, домашняя папка пользователя или рабочая директория.
  • Изменения затронули только внутреннюю проверку безопасности, скрипты Resolve не изменены.
v4.9.0minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена функция импорта ограниченных медиа в Media Pool с сохранением контекста папки и улучшена безопасность выполнения.

  • Added: Добавлен метод media_pool(action="import_bounded_media") для создания ограниченных элементов Media Pool из файлов с указанием диапазона кадров.
  • Added: Импортированный элемент автоматически помещается в указанную папку, которая восстанавливается после операции, даже при ошибках.
  • Added: При неудачном переименовании возвращается ID созданного элемента, что позволяет избежать дублирования импорта.
  • Fixed: Операция зарегистрирована как безопасная запись с низким риском, поддерживающая режим dry-run и логирование.
  • Added: Добавлены тесты для проверки валидации входных данных, восстановления папки и классификации риска выполнения.