davinci-resolve-lite-mcp
davinci-resolve-lite-mcp
https://github.com/user-attachments/assets/8429932f-643b-4131-bdf6-dad0d3399137
Claude construye un título de apertura en DaVinci Resolve Lite — un nodo Text+ «GameHelper» dorado con brillo y una revelación con zoom mediante keyframes — a partir de una solicitud en lenguaje natural, mediante insert_fusion_title + style_fusion_title.
Un servidor MCP que permite a un cliente de IA, como Claude Code, controlar DaVinci Resolve, incluida la edición gratuita (Lite), que no puede manejar el proyecto existente davinci-resolve-mcp.
La edición gratuita bloquea el scripting externo, pero aun así ejecuta scripts de Python lanzados desde su propio menú Workspace > Scripts. Este proyecto aprovecha esa vía: el servidor MCP se ejecuta dentro de Resolve como un script de menú y expone la API de Python de Resolve a través de un pequeño endpoint HTTP local al que se conecta Claude.
Claude Code ──HTTP JSON-RPC (MCP)──▶ 127.0.0.1:8765/mcp
│ server runs INSIDE Resolve
│ (Workspace > Scripts > Utility)
▼
command queue → main script thread
▼
global `resolve` object → Resolve APIHerramientas
Pide a Claude en lenguaje natural lo que quieras; él maneja Resolve a través de las herramientas: ver la demo de arriba. Consulta la referencia de herramientas para ver la superficie completa de 163 herramientas: edición, color, render, Media Pool y estilización de títulos Fusion.
Related MCP server: resolve-mcp
Por qué funciona con la edición gratuita
Resolve gratuito permite ejecutar scripts desde su menú Scripts (solo el scripting de red externo está restringido).
Un script de menú recibe gratis el objeto
resolvey puede ejecutar un bucle de larga duración — suficiente para mantener un servidor.La app de Lite con sandbox incluye el entitlement
com.apple.security.network.server, por lo que puede abrir un socket de escucha en localhost.Cero dependencias — solo la biblioteca estándar de Python. No hay que ejecutar
pip installen el intérprete de Resolve.
Requisitos
macOS con DaVinci Resolve (Lite / Studio).
Claude Code (o cualquier cliente MCP que hable el transporte Streamable HTTP).
Instalación
git clone https://github.com/2sem/davinci-resolve-lite-mcp.git
cd davinci-resolve-lite-mcp
./install.shO mediante pip, si prefieres no clonar el repositorio:
pip install davinci-resolve-lite-mcp
davinci-mcp-installdavinci-mcp-install hace exactamente lo que hace install.sh (la misma detección de Lite/Studio, la misma lógica de copia-vs-symlink) — solo que lee los archivos de tu paquete instalado con pip en lugar de un clon de git. davinci-mcp-uninstall invierte ese proceso. En cualquier caso, la nota sobre el sandbox sigue aplicando, y el servidor se sigue iniciando desde el menú de Resolve — consulta Run.
Nota sobre user-install en macOS. Si ves
Defaulting to user installation because normal site-packages is not writeable, pip instaló los scripts de consola en$(python3 -m site --user-base)/bin, que normalmente no está enPATH. O bien ejecutas la ruta completa —"$(python3 -m site --user-base)/bin/davinci-mcp-install"— o añades ese directoriobinaPATH. Y utiliza&&, no&, entre los dos comandos: un&mandapip installa segundo plano y lanzadavinci-mcp-installantes de que el paquete exista.
También está listado en el MCP Registry como io.github.2sem/davinci-resolve-lite-mcp (verifica) — solo para que sea visible. El listado es solo metadatos (sin entrada de instalación automática packages/remotes): este servidor no puede ser lanzado por un cliente MCP como un servidor típico del registro, porque debe ejecutarse dentro del intérprete Python embebido de Resolve, iniciado manualmente desde el menú Scripts. Instálalo de una de las dos formas anteriores.
install.sh despliega:
los dos scripts de lanzamiento en
Fusion/scripts/Utility(una carpeta que Resolve escanea para el menú Scripts; Utility se muestra en todas las páginas), yel paquete
resolve_mcpenFusion/Scripts/MCP— una carpeta que Resolve no escanea, para que los módulos auxiliares no aparezcan en el menú.
La ruta del contenedor Lite se detecta automáticamente.
Nota del sandbox (importante). DaVinci Resolve Lite está en sandbox y solo puede leer su propio contenedor,
~/Moviesy los archivos que elijas de forma interactiva. Un symlink que apunte fuera de esas ubicaciones (p. ej., hacia un clon en~/Projects) no puede ser seguido por la app con sandbox, por lo que el script del menú no se ejecuformat nunca de forma silenciosa. Por esoinstall.shcopia los archivos dentro del contenedor en Lite (y solo hace symlinks en la compilación Studio sin sandbox). Vuelve a ejecutar./install.shdespués de hacer pull de actualizaciones.Resolve solo enumera las carpetas de categoría (
Utility / Comp / Tool / Edit / Color / Deliver) para su menú Scripts — por eso los lanzadores van enUtilityy el paquete se esconde enMCP.La misma restricción del sandbox se aplica a las rutas de archivo que pidas usar a las herramientas: las exportaciones/importaciones deben apuntar a
~/Movies(o a otras ubicaciones permitidas); de lo contrario Resolve no podrá escribirlas/leerlas.
Ejecución
En DaVinci Resolve: Workspace > Scripts > Utility > davinci_mcp_server.

Abre Workspace > Console — imprime el endpoint y el puerto:
MCP endpoint: http://127.0.0.1:8765/mcp Add to Claude Code: claude mcp add --transport http davinci http://127.0.0.1:8765/mcpLa guía de inicio se imprime en la Console de Resolve (Workspace > Console). Como el servidor se ejecuta de forma continua, su salida de consola puede quedar en búfer hasta que se detenga, por lo que ambos scripts también reflejan cada línea en un archivo de log:
~/Movies/davinci-resolve-lite-mcp.logMíralo en vivo con
./logs.sh. (Puedes sobrescribir el directorio conDAVINCI_MCP_LOG_DIR.) Se usa~/Moviesporque la app de Lite con sandbox tiene permiso para escribir allí.Una vez activo, cada llamada a una herramienta se registra en la consola como una sola línea (
[davinci-mcp] <name> <args> -> ok|error (Nms)):
Comprobación de actualizaciones. Como
brew/CocoaPods, cada inicio comprueba PyPI en segundo plano por si hay una versión más reciente y imprime un aviso de una sola línea en la Console si existe — nunca bloquea el inicio, y cualquier fallo (sin conexión, PyPI caído) queda silencioso en el logfile. Desactívelo conDAVINCI_MCP_SKIP_UPDATE_CHECK=1.Regístralo con Claude Code (una sola vez):
claude mcp add --transport http davinci http://127.0.0.1:8765/mcpLuego verifícalo / vuelve a conectarte con el comando
/mcpdentro de Claude Code — lista los servidores conectados y los reconecta. Si Claude ya se estaba ejecutando cuando lanzas el script, escribe/mcp(o reinicia la sesión) para que detecte el servidordavinci.Pide a Claude que controle Resolve.
Configurar el puerto (estable, recomendado)
Por defecto el servidor escucha en 8765 y hace auto-incremento a 8766, 8767, … si el puerto está ocupado (otra herramienta local puede tener 8765). Como el ganador de esa carrera puede cambiar entre lanzamientos, la URL que registraste con Claude puede derivar, mostrándo:
Failed to reconnect to davinci: HTTP 404 at http://127.0.0.1:8765/mcpPara fijar el puerto de forma permanente, crea un pequeño archivo de configuración JSON. Cuando se fija un puerto de esta forma, queda fijado (pinned): el servidor se vincula exactamente a ese puerto y nunca auto-incremento, de modo que registras Claude una sola vez y la URL nunca se mueve.
Crea ~/Movies/davinci-resolve-lite-mcp.config.json:
{ "host": "127.0.0.1", "port": 8770 }¿Por qué
~/Moviesen vez de/config? La app de Lite está en sandbox y solo puede leer su propio contenedor,~/Moviesy archivos que eliges interactivamente —~/.configestá fuera del sandbox, así que Lite no puede leerlo (es la misma razón por la que el logfile está en~/Movies). El servidor también comprueba~/.config/davinci-resolve-lite-mcp/config.jsonpara la compilación Studio no entrada en sandbox, donde esa ruta es la convencional.
Luego reinicia los servidores (Scripts > Utility > stop_davinci_mcp_server, luego davinci_mcp_server) y registra a Claude una vez en el puerto fijo:
claude mcp add --transport http davinci http://127.0.0.1:8770/mcpThe banner of the Console confirms the source — look for
Port : pinned (from …) — will not auto-increment.
Orden de resolución (prioridad de mayor a menor): las variables de entorno DAVINCI_MCP_PORT / DAVINCI_MCP_HOST, luego de archivo de configuración, luego los valores predeterminados integrados. Las variables de entorno también fijan el puerto, pero un Resolve iniciado desde el Dock no verá un export de la shell; el archivo de configuración es la opción persistente más simple. DAVINCI_MCP_CONFIG=/path/to.json fuerza exclusivamente un archivo de configuración específico — si esa ruta o no existe o no es válida, el servidor usa los valores predeterminados en hely de leer ~/Movies / XDG.
Si el puerto ya se ha desplazado y Claude apunta al equivocado, vuelve a apuntar:
claude mcp remove davinci
claude mcp add --transport http davinci http://127.0.0.1:<actual-port>/mcpDetener
Cualquiera de estas opciones detiene el servidor:
Desde el menú grueso: Workspace > Scripts > Utility > stop_davinciresuelto_server
Desde una terminal:
./stop.shSalir de DaVinci Resolve
El script de detención del menú y stop.sh ambos hacen POST al endpoint /shutdown del servidor, escaneando el mismo rango de puertos que usa el server al inicio.
El puerto se auto incrementa desde
8765solo cuando no está fijado. Para bloquearlo de modo que la URL nunca se mueva entre lanzamientos, consulta la sección Configurar el puerto.
Herramientas
163 herramientas, que abarcan todo el pipeline:
Estado y navegación — cambio de página, ajustes de proyecto/línea de tiempo
Proyectos y líneas de tiempo — cargar/crear/duplicado, marcadores, cortes de escena, ciclo de vida
Pistas — añadir/eliminar, habilitar/bloquear/renombrar
Edición — colocar/añadir/eliminar clips, títulos y generadores, transformar/recortar/zoom
Media pool y almacenamiento — importar/eliminar, propiedades y metadatos, etiquetado, exploración de disco
Color — LUT por nodo, activación, reset de gradaciones, guardias
Renderizado y exportación — cola de render, formatos/códecs, export/import de frames, línea de tiempo o proyecto
Consulta docs/TOOLS.md para la referencia completa de cada herramienta.
Cada llamada a una herramienta se registra en la consola de Resolve y en el logfile como una sola línea: [davinci-mcp] <name> <args> -> ok|error|EXCEPTION (Nms).
Estructura del proyecto
src/davinci_mcp_server.py thin launcher (deployed to Scripts/Utility)
src/stop_davinci_mcp_server.py stop launcher
src/resolve_mcp/ the server package (deployed to Scripts/MCP, hidden)
config · logio · connection · bridge · tools · server
tests/test_server.py offline tests (fake Resolve, no app needed)
install.sh · uninstall.sh · stop.sh · logs.sh
docs/TOOLS.md full per-tool reference
fallbacks/ documented gotchas + fixesPruebas
Offline (sin Resolve, sin servidor) — prueba de
import+ dispatcher + recuento de herramientas:python3 tests/test_server.pyIntegración en vivo — una prueba por herramienta contra un servidor en ejecución (Resolve abierto con un project de proyecto + un clip de media, y
davinci_mcp_serverlanzado):python3 tests/live_test.py # all features python3 tests/live_test.py set_timecode # run the test(s) for given feature(s)Cada nombre de herramienta es equivalente al nombre de la prueba, así que si añades una herramienta puedes ejecutar solo su pruela:
python3 tests/live_test.py <tool>. Las pruebas son reversibles (línea de tiempo temporal + archivos temporales, luego limpio). Las herramientas dependientes de archivos y las destructivas de sesión se comprueban a través de su ruta de error; las herramientas solo-Studio o pesadas (p. ej.detect_scene_cuts,render_current_timeline,quick_export) se omiten con un motivo. Algunas pocas pruebas de marcador / fijación dependen de un estado de sesión de Resolve limpio — vuelve a ejecutarlas después de un inicio si fallan de forma esporádica.
Contribuir
Consulta CONTRIBUTING.md para ver cómo añadir una herramienta, ejecutar las suites, entre las restricciones de stdlib-only / Lite-first, y el flujo de lanzamiento.
Alcance
Este servidor está pensado para la edición gratuita (Lite) y cubre intencionadamente solo la API que funciona allí. Las funcionalidades solo-Studio o de pago se omiten deliberadamente (no operan / dan errores en Lite), concretamente: transcripción de audio, subtítulos desde audio, Magic Mask, estabilización, re-scuadro inteligente, análisis de Dolby Vision, aislamiento de voz y proyectos en la nube / gestión de bases de datos. Los métodos restantes no envueltos son accesores triviales (GetUniqueId, modos de caché, internos de Fusion comp, cajas, estéreo/3D, presets de red y de quemado, mattes) — no son lagunas funcionales.
Limitaciones conocidas
Los clips se pueden referenciar por nombre (dentro de la carpeta actual del media-pool) o por id (
id/ids, resolubles en cualquier bin) — usaid/idscuando los nombres sean ambiguos o el clip esté en otra carpeta.Los argumentos de las herramientas se validan contra el JSON Schema de cada herramienta (campos obligatorios, tipos básicos y enums); una llamada malformada devuelve un error claro que indica el argumento problemático. Las restricciones de esquema profundas o anidadas no se comprueban de forma exhaustiva.
Nota de seguridad
El servidor escucha únicamente en 127.0.0.1, por lo que solo es accesible desde tu máquina. Expone el control de DaVinci Resolve a cualquier proceso local que pueda alcanzar el puerto: ejecútalo solo en una máquina en la que confíes.
La única llamada saliente que el servidor realiza por sí mismo es la comprobación de actualización al inicio (un GET a la API JSON pública de PyPI para obtener el número de la versión actual; no se envían otros datos). Desactívala con DAVINCI_MCP_SKIP_UPDATE_CHECK=1 si prefieres que no realice ninguna.
Licencia
MIT — ver LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects AI coding assistants (Cursor, Claude Desktop) to DaVinci Resolve, enabling control of video editing workflows through natural language commands for project management, timeline operations, and media pool tasks.MIT
- AlicenseNot gradedqualityFmaintenanceComprehensive MCP server for DaVinci Resolve with 295+ tools to control projects, timelines, editing, color grading, rendering, and more via natural language.3MIT
- AlicenseCqualityCmaintenanceDrive DaVinci Resolve from Claude Code (or any MCP client) to edit videos on the free Community edition, using a bridge to bypass scripting restrictions.67MIT
- 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.5MIT
Related MCP Connectors
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
A real timeline video editor for AI agents: journaled edits, FFmpeg/MLT rendering, exports
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/2sem/davinci-resolve-lite-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server