davinci-resolve-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DAVINCI_BRIDGE_DIR | No | Overrides the bridge directory. Must match on both the Lua bridge and the MCP server sides. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Check that the bridge is running inside DaVinci Resolve. |
| get_statusA | Get Resolve version, current page, open project and active timeline. |
| save_projectB | Save the currently open project. |
| list_projectsB | List projects in the current database folder. |
| create_projectD | Create a new project. |
| load_projectC | Load an existing project by name. |
| open_pageB | Switch page: media, cut, edit, fusion, color, fairlight or deliver. |
| create_timelineC | Create an empty timeline in the current project. |
| get_timelinesB | List all timelines in the current project. |
| set_current_timelineC | Activate a timeline by name or 1-based index. |
| get_current_timeA | Get the playhead timecode of the active timeline. |
| set_current_timeC | Move the playhead, e.g. '01:00:10:00'. |
| add_markerC | Add a marker to the active timeline (defaults to the start frame). |
| get_markersC | Get markers on the active timeline. |
| delete_markerC | Delete the marker at a frame. |
| import_mediaC | Import media files (absolute paths) into the Media Pool. |
| create_binC | Create a Media Pool bin. |
| start_renderB | Start rendering the current render queue. |
| stop_renderB | Stop the active render. |
| get_render_statusB | Check whether a render is in progress. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
Each tool maps to a clearly distinct resource or action: project management, timeline control, marker operations, media import, and render control are separated cleanly. The only potentially broad tool, get_status, is distinct from ping because it returns project/timeline/page context rather than just bridge health.
Most tools follow a predictable snake_case verb_noun pattern such as create_project, get_timelines, set_current_time, and delete_marker. Minor deviations exist: ping is a standalone health-check verb, and get_timelines is plural while create_timeline is singular.
Twenty tools is slightly above the ideal compact range, but the server covers several distinct DaVinci Resolve areas: projects, pages, timelines, playhead, markers, media, and rendering. Each tool has a plausible role, so the count is reasonable though somewhat heavy.
The surface covers important project, timeline, marker, media import, and render basics, but has notable gaps. There are no delete/update operations for projects or timelines, no media pool listing or clip-level editing, and render queue job creation/configuration is missing, which can leave start_render as a partial dead end.