davinci-resolve-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| resolve_infoA | Resolve product name, version, current page. Call first to confirm the bridge is connected. |
| open_pageA | Switch the active page: media, cut, edit, fusion, color, fairlight, deliver. |
| list_projectsA | List project names in the current project-manager folder. |
| current_projectA | Current project's name and timeline count. |
| open_projectB | Open an existing project by name. |
| create_projectC | Create and open a new project. |
| save_projectA | Save the current project. |
| close_projectA | Close the current project (prompts to save in Resolve if needed). |
| get_project_settingA | Read a project setting (empty key returns all settings). |
| set_project_settingB | Set a project setting, e.g. timelineFrameRate, timelineResolutionWidth. |
| import_mediaA | Import media files (absolute paths on the Resolve machine) into the current media pool folder. |
| list_mediaA | List clips in the media pool root (name, type, fps, duration, resolution). |
| list_binsB | List sub-folder (bin) names in the media pool root. |
| create_binB | Create a new bin (sub-folder) in the media pool root. |
| get_clip_propertyB | Get a media pool clip's property by clip name (empty property = all). |
| delete_clipsB | Delete media pool clips (root folder) by name. |
| list_timelinesB | List timeline names in the current project. |
| current_timelineB | Current timeline name, frame range and track counts. |
| set_current_timelineC | Make the named timeline the current one. |
| create_timelineC | Create a new empty timeline. |
| create_timeline_from_clipsB | Create a timeline pre-filled with the named media pool clips. |
| duplicate_timelineC | Duplicate a timeline under a new name. |
| delete_timelineC | Delete a timeline by name. |
| append_clipsA | Append media pool clips to the current timeline (all clips if names omitted). |
| get_track_countB | Number of tracks of a type: video, audio, or subtitle. |
| add_trackA | Add a track of the given type (video, audio, subtitle). |
| delete_trackB | Delete the track at index (1-based) of the given type. |
| set_track_nameD | Rename a track. |
| set_track_enableC | Enable or disable a track. |
| get_timeline_itemsB | List clips on a track (name, start, end, duration). |
| set_item_propertyB | Set a timeline item property (Pan, Tilt, ZoomX, ZoomY, Opacity, CompositeMode, RetimeProcess, CropLeft, ...). Items are 1-based per track. |
| add_markerC | Add a marker to the current timeline at a frame. |
| get_markersA | All markers on the current timeline, keyed by frame. |
| delete_markerC | Delete the marker at a frame. |
| delete_markers_by_colorA | Delete all markers of a color ('All' deletes every marker). |
| get_num_nodesC | Number of color nodes on the current video item. |
| set_lutC | Apply a LUT to a node (1-based) on the current video item. |
| set_cdlC | Apply CDL (slope/offset/power as 'R G B' strings) to a node on the current item. |
| add_color_versionB | Add a color version to the current video item (0=local, 1=remote). |
| list_render_presetsB | List available render presets. |
| get_render_formatsA | Map of available render formats to file extensions. |
| get_render_codecsC | Available codecs for a render format. |
| set_render_format_and_codecC | Set the current render format and codec. |
| load_render_presetC | Load a render preset by name. |
| set_render_settingsB | Set render settings, e.g. {"TargetDir": "/out", "CustomName": "v1", "FormatWidth": 1920, "FormatHeight": 1080, "MarkIn": 0, "MarkOut": 240}. |
| add_render_jobA | Add the current render settings to the render queue; returns the job id. |
| get_render_job_listB | List queued render jobs. |
| delete_render_jobC | Remove a render job from the queue. |
| start_renderB | Start rendering the queue. |
| stop_renderC | Stop rendering. |
| is_renderingB | Whether a render is in progress. |
| get_render_job_statusC | Status/progress of a render job. |
| import_timelineC | Import a timeline from AAF/EDL/XML/FCPXML/DRT/OTIO. Returns the new timeline name. |
| export_timelineC | Export a timeline. export_type is a Resolve constant name, e.g. EXPORT_EDL, EXPORT_FCPXML_1_10, EXPORT_OTIO, EXPORT_AAF, EXPORT_DRT. |
| place_clipB | Place a media pool clip onto the current timeline with precise framing. start_frame/end_frame = in/out within the source; record_frame = where it lands on the timeline; media_type 1=video only, 2=audio only. |
| add_titleB | Insert a title generator (e.g. 'Text', 'Text+') at the playhead of the current timeline. |
| add_generatorA | Insert a generator (e.g. 'Solid Color', 'Grey Scale') at the playhead. |
| add_fusion_titleA | Insert a Fusion title (e.g. 'Text+') at the playhead of the current timeline. |
| add_fusion_generatorC | Insert a Fusion generator at the playhead of the current timeline. |
| set_clip_colorC | Set the clip color label of a timeline item (Orange, Apricot, Yellow, Lime, Olive, Green, Teal, Navy, Blue, Purple, Violet, Pink, Tan, Beige, Brown, Chocolate). |
| get_timeline_settingB | Read a current-timeline setting (empty key = all). |
| set_timeline_settingC | Set a current-timeline setting. |
| bridge_statusA | Check whether the in-Resolve bridge is running and reachable. Use this when other tools report 'bridge_not_running'. |
| assemble_rough_cutB | One-shot rough cut: (optionally create+select a bin) import the media files, create a timeline, and append every imported clip to it. |
| render_to_fileA | Queue and start rendering the current timeline to target_dir/custom_name. Optionally load a render preset first (e.g. 'YouTube - 1080p', 'H.264 Master'). Free-edition limits apply: 8-bit, <= UHD 3840x2160, <= 60fps. |
| free_render_checkA | Advisory: flag render settings that exceed DaVinci Resolve Free limits (8-bit, <= UHD 3840x2160, <= 60fps). Does not change anything. |
| resolve_evalA | Run arbitrary Lua inside Resolve against the live |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
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/mateo-khalil/davinci-resolve-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server