Skip to main content
Glama
luquimbo

DaVinci Resolve MCP Server

by luquimbo

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
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

NameDescription
playback_get_pageA

Return the name of the currently active Resolve page.

Possible values: "media", "cut", "edit", "fusion", "color", "fairlight", "deliver", or "" if Resolve cannot determine the page.

playback_open_pageB

Switch Resolve to a different workspace page.

playback_get_timecodeA

Return the current playhead timecode (e.g. "01:00:05:12").

Requires an open project with at least one timeline.

playback_set_timecodeA

Move the playhead to a specific timecode position.

playback_get_current_itemA

Return info about the timeline item under the playhead, or None.

Returns a dict with keys: name, start, end, duration. Returns None if no item is under the playhead or no timeline is open.

resolve_get_versionA

Return the DaVinci Resolve version as a dotted string (e.g. "19.1.2").

The underlying API may return a list of version components or a string; this tool always returns a single joined string.

resolve_get_productA

Return the Resolve product name.

Typically "DaVinci Resolve" (free) or "DaVinci Resolve Studio" (paid).

project_listA

List all project names in the current database folder.

Returns an alphabetically-ordered list of project name strings.

project_createA

Create a new project and open it immediately.

project_openA

Open an existing project by name.

project_saveA

Save the current project.

Returns: True if the save succeeded.

project_closeA

Close the current project (saves automatically before closing).

Returns: True if the project was closed successfully.

project_deleteA

Delete a project by name. The project must NOT be currently open.

project_get_currentA

Return basic info about the currently open project.

Returns: A dict with keys: name (str), timeline_count (int).

project_get_settingA

Read a single project setting by its key.

project_set_settingC

Write a project setting.

project_importA

Import a .drp project file into the current database folder.

project_exportB

Export the current project to a .drp file.

project_folder_listA

List sub-folders in the current database folder.

Returns: A list of folder name strings.

project_folder_openC

Navigate into a sub-folder within the project database.

project_folder_createA

Create a new folder in the current database folder.

project_folder_deleteA

Delete a folder from the current database folder.

The folder must be empty (no projects inside).

project_folder_goto_rootA

Navigate to the root of the project database.

Returns: True if navigation to root succeeded.

project_folder_goto_parentA

Navigate up one level in the project database folder hierarchy.

Returns: True if navigation succeeded. False if already at root.

project_get_databaseA

Return info about the current project database.

Returns: A dict with database info (DbType, DbName, IpAddress if remote).

project_archiveB

Archive a project to a .dra file.

The project must NOT be currently open.

project_restore_archiveB

Restore a project from a .dra archive file.

project_get_database_listA

List all available project databases.

Returns: A list of dicts, each with keys like "DbType", "DbName", and optionally "IpAddress" for remote databases.

storage_get_volumesA

List all mounted media storage volumes visible to DaVinci Resolve.

Returns the volume paths (e.g. '/' on macOS, 'C:' on Windows, or NAS mount points) that appear in the Media page's storage panel.

storage_get_subfoldersB

List subfolders inside a media storage path.

storage_get_filesA

List media files in a storage folder.

storage_import_to_poolB

Import files from media storage into the current project's media pool.

media_pool_get_root_folderA

Get the name of the Media Pool's root folder.

Every project has exactly one root folder (usually named 'Master').

media_pool_get_current_folderA

Get the name of the currently selected Media Pool folder.

media_pool_set_current_folderB

Navigate into a Media Pool folder by name.

media_pool_create_folderA

Create a new subfolder inside the current Media Pool folder.

media_pool_delete_foldersA

Delete Media Pool subfolders by name.

media_pool_get_clipsA

List clips in the current Media Pool folder with pagination.

media_pool_get_subfoldersA

List the names of all subfolders in the current Media Pool folder.

media_pool_import_mediaB

Import media files from disk into the current Media Pool folder.

media_pool_create_timelineA

Create a new empty timeline in the current Media Pool folder.

media_pool_create_timeline_from_clipsA

Create a new timeline populated with specific clips from the current folder.

media_pool_delete_clipsA

Delete clips from the current Media Pool folder by name.

media_pool_move_clipsA

Move clips from the current folder to a different Media Pool folder.

media_pool_relink_clipsA

Relink offline clips to media files in a new folder.

media_pool_export_metadataB

Export metadata of all clips in the current folder to a CSV file.

clip_get_nameA

Return the display name of a media-pool clip.

clip_set_nameB

Rename a media-pool clip.

clip_get_metadataA

Return all metadata fields for a clip as key-value pairs.

clip_set_metadataA

Set a single metadata field on a clip.

clip_get_propertiesA

Return all clip properties (Clip Name, Duration, FPS, etc.).

clip_set_propertyC

Set a single property on a clip.

clip_get_colorA

Return the label color assigned to a clip (e.g. "Orange", "Blue").

clip_set_colorB

Set the label color on a clip.

clip_clear_colorA

Remove the label color from a clip, resetting it to the default.

clip_add_markerA

Add a marker to a media-pool clip at a given frame.

clip_get_markersA

Return all markers on a clip. Keys are frame IDs (as strings).

clip_delete_markerB

Delete the marker at a specific frame on a clip.

clip_add_flagB

Add a flag of the given color to a clip.

clip_get_flagsA

Return all flag colors currently set on a clip.

clip_clear_flagsA

Remove a specific flag color from a clip.

clip_transcribe_audioB

Start audio transcription for a clip.

Requires DaVinci Resolve 19+ with speech-to-text support enabled.

clip_get_transcriptA

Get the transcript text for a clip.

clip_clear_transcriptA

Clear the transcript text from a clip.

clip_link_proxyB

Link an external proxy media file to a clip.

clip_replaceA

Replace a clip's media file with a new file.

clip_unlink_proxyA

Remove proxy media link from a clip.

timeline_get_currentA

Return info about the current timeline, or None if no timeline is open.

Returns a dict with keys: name, start_frame, end_frame, video_tracks, audio_tracks, start_timecode.

timeline_set_currentB

Set the current timeline by name.

timeline_get_countA

Return the number of timelines in the current project.

timeline_get_by_indexA

Return info about a timeline at the given 1-based index.

timeline_get_nameA

Return the name of the current timeline.

Raises an error if no timeline is open.

timeline_set_nameB

Rename the current timeline.

timeline_get_start_frameA

Return the start frame number of the current timeline.

timeline_get_end_frameA

Return the end frame number of the current timeline.

timeline_get_track_countA

Return the number of tracks of the given type in the current timeline.

timeline_add_trackB

Add one or more tracks to the current timeline.

timeline_delete_trackA

Delete a track from the current timeline.

timeline_get_track_nameA

Return the name of a specific track in the current timeline.

timeline_set_track_nameA

Rename a track in the current timeline.

timeline_set_track_enabledB

Enable or disable a track in the current timeline.

timeline_set_track_lockedB

Lock or unlock a track in the current timeline.

timeline_get_items_in_trackA

List timeline items on a specific track with pagination.

timeline_append_clipsA

Append media pool clips to the end of the current timeline.

Searches the media pool's current folder for clips matching the given names, then appends them in order.

timeline_delete_clipsA

Delete timeline items by name from a specific track.

timeline_duplicateA

Duplicate the current timeline.

Returns: The name of the newly created timeline, or None if duplication failed.

timeline_add_markerA

Add a marker to the current timeline at a specific frame.

timeline_get_markersA

Return all markers on the current timeline.

Returns: A dict mapping frame numbers (as string keys) to marker info dicts. Each marker dict contains: color, duration, note, name, customData. Returns an empty dict if no markers exist or no timeline is open.

timeline_delete_markerB

Delete a marker at a specific frame on the current timeline.

timeline_exportA

Export the current timeline to a file (AAF, EDL, FCPXML, etc.).

timeline_create_compound_clipB

Create a compound clip from timeline items on a specific track.

A compound clip merges multiple timeline items into one editable unit.

timeline_create_fusion_clipA

Create a Fusion clip from timeline items on a specific track.

A Fusion clip wraps selected items into a single Fusion composition that can be opened and edited in the Fusion page.

timeline_detect_scene_cutsA

Detect scene cuts in the current timeline.

Analyzes the video content and returns frame numbers where scene transitions were detected. Requires DaVinci Resolve 18.5 or later.

Returns: A list of frame numbers where cuts were detected.

timeline_create_subtitles_from_audioA

Auto-generate subtitles from audio in the current timeline.

Uses Resolve's built-in speech-to-text to create subtitle track items. Requires DaVinci Resolve 18.5 or later.

Returns: True if subtitles were generated successfully.

timeline_get_settingB

Read a timeline-specific setting by key.

timeline_set_settingC

Write a timeline-specific setting.

item_get_nameA

Return the display name of a timeline item.

item_get_durationA

Return the duration of a timeline item in frames.

item_get_start_endA

Return the start frame, end frame, and duration of a timeline item.

item_get_propertiesA

Return all properties of a timeline item as key-value pairs.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
system_infoCurrent DaVinci Resolve system information. Returns JSON with: - version: Resolve version string (e.g. "19.1.2") - product: "DaVinci Resolve" or "DaVinci Resolve Studio" - current_page: Active workspace page name
project_infoCurrent DaVinci Resolve project information. Returns JSON with: - name: Project name - timeline_count: Number of timelines - resolution: Project resolution (width x height) - frame_rate: Timeline frame rate
timeline_infoCurrent DaVinci Resolve timeline information. Returns JSON with: - name: Timeline name - start_frame / end_frame: Frame range - video_tracks / audio_tracks: Track counts - start_timecode: Start timecode string - current_timecode: Playhead timecode

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/luquimbo/davinci-resolve-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server