resolve-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RESOLVE_MCP_CACHE | No | Cache root: snapshots, analysis artifacts, model weights | %LOCALAPPDATA%\resolve-mcp |
| RESOLVE_SCRIPT_API | No | Scripting API root (holds Modules/DaVinciResolveScript.py) | %PROGRAMDATA%\Blackmagic Design\DaVinci Resolve\Support\Developer\Scripting |
| RESOLVE_SCRIPT_LIB | No | Scripting library | C:\Program Files\Blackmagic Design\DaVinci Resolve\fusionscript.dll |
| RESOLVE_MCP_LOG_LEVEL | No | Log level for the stderr logger | INFO |
| RESOLVE_MCP_ALLOW_ANY_PYTHON | No | Bypass the interpreter check (see ADR 0001) |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_statusA | Report connection state, Resolve version, and the current project and timeline. Call this first in a session, and again whenever you are unsure what Resolve has open. The result — like every result from this server — echoes context: connected, Resolve version, project, timeline and fps. |
| list_projectsA | List the project names in Resolve's current database folder. Use it to find the exact name to hand to open_project — names must match exactly. |
| open_projectA | Open the named project, making it the one every later tool call acts on. The name must match exactly; list_projects shows what is available. The result echoes the new context, so you can confirm the switch landed. |
| snapshot_projectA | Write an opaque .drp backup of the open project, and return where it landed. Take a snapshot before any big operation — a build, a bulk media change, a risky escape-hatch script — so a mistake is a restore rather than a rebuild. Without a path, the snapshot goes to a timestamped file in the cache directory. |
| run_pythonA | Run DaVinci Resolve scripting-API Python in the server process. Prefer the real tools: they wrap known API footguns, echo context, and return structured results. Reach for this only where no tool fits — an API corner the catalog does not cover yet, or a one-off inspection. The namespace has |
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 5 tools
Each tool has a clearly distinct purpose: listing projects, opening a project, snapshotting, running arbitrary Python, and reporting status. Even run_python is explicitly positioned as an escape hatch, not as a competing operation.
All five tools follow a consistent verb_noun pattern in snake_case (list_projects, open_project, snapshot_project, run_python, get_status), making the action and target immediately clear.
Five tools is a well-scoped count for a focused server. Each tool covers a core need without redundancy, and the number fits comfortably within the typical 3-15 range.
The server covers project listing, opening, status, and backups, with run_python filling gaps for operations like project creation or timeline edits. The absence of create/delete project tools is a minor gap, but the deliberate escape hatch keeps the server usable.