Skip to main content
Glama

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_projectB

Create a new DaVinci Resolve project.

Args: name: Name for the new project.

load_projectB

Load an existing DaVinci Resolve project by name.

Args: name: Name of the project to load.

save_projectA

Save the current DaVinci Resolve project.

close_projectA

Save and close the current DaVinci Resolve project.

set_project_settingA

Set a project setting by name.

Args: setting_name: The setting key (e.g. 'timelineFrameRate', 'timelineResolutionWidth'). value: The value to set as a string.

disable_background_tasksA

Disable all background tasks for the current DaVinci Resolve session.

Useful before running performance-sensitive batch operations (renders, deliveries) to stop Resolve from spending resources on background work such as optimized media generation and analysis. The setting applies for the duration of the current Resolve session.

open_pageA

Open a specific page in DaVinci Resolve.

Args: page_name: Page to open. Valid values: media, cut, edit, fusion, color, fairlight, deliver.

create_empty_timelineB

Create an empty timeline with the given name.

Args: name: Name for the new timeline.

create_timeline_from_clipsA

Create a new timeline from media pool clips.

If clip_names is None, all clips in the current media pool folder are used.

Args: name: Name for the new timeline. clip_names: Optional list of clip names to include. Uses all clips in current folder if omitted.

set_current_timelineA

Set the current timeline by its 1-based index.

Args: index: 1-based index of the timeline to activate.

set_current_timeline_by_nameB

Set the current timeline by name.

Args: name: Name of the timeline to activate.

delete_timelineC

Delete a timeline by name.

Args: name: Name of the timeline to delete.

duplicate_timelineB

Duplicate a timeline. Duplicates the current timeline if no name given.

Args: name: Optional name of the timeline to duplicate. Uses current timeline if omitted.

add_trackB

Add a track to the current timeline.

Args: track_type: Type of track: 'video', 'audio', or 'subtitle'. sub_type: Audio sub-type: 'mono', 'stereo', '5.1', '7.1'. Only used for audio tracks.

delete_trackA

Delete a track from the current timeline.

Args: track_type: Type of track: 'video', 'audio', or 'subtitle'. index: 1-based index of the track to delete.

set_track_nameA

Set the name of a track in the current timeline.

Args: track_type: Type of track: 'video', 'audio', or 'subtitle'. index: 1-based index of the track. name: New name for the track.

enable_trackA

Enable or disable a track in the current timeline.

Args: track_type: Type of track: 'video', 'audio', or 'subtitle'. index: 1-based index of the track. enabled: True to enable, False to disable.

lock_trackA

Lock or unlock a track in the current timeline.

Args: track_type: Type of track: 'video', 'audio', or 'subtitle'. index: 1-based index of the track. locked: True to lock, False to unlock.

append_clips_to_timelineA

Append clips from the current media pool folder to the current timeline.

If clip_names is None, all clips in the current folder are appended.

Args: clip_names: Optional list of clip names to append. Uses all clips in current folder if omitted.

set_timeline_start_timecodeB

Set the start timecode of the current timeline.

Args: timecode: Timecode string (e.g. '01:00:00:00').

create_binA

Create a new bin (subfolder) in the media pool.

Args: name: Name for the new bin. parent_path: Optional path to the parent folder (e.g. 'OCF/A-Cam'). Creates under root if omitted.

set_current_folderA

Navigate to a media pool folder by path.

Args: path: Folder path using '/' separators (e.g. 'OCF/A-Cam/A001'). Use '/' or 'Root' for the root folder.

move_clips_to_folderB

Move clips from the current folder to a target folder.

Args: clip_names: List of clip names to move. target_path: Destination folder path (e.g. 'OCF/A-Cam/A001').

delete_clipsB

Delete clips from the current media pool folder.

Args: clip_names: List of clip names to delete.

import_mediaA

Import media files into the current media pool folder.

Uses batch import first for speed, with individual fallback for reliability.

Args: file_paths: List of absolute file paths to import.

import_media_to_binA

Import media files into a specific media pool bin.

Navigates to the target bin first, then imports.

Args: file_paths: List of absolute file paths to import. bin_path: Target folder path (e.g. 'OCF/A-Cam/A001').

scan_directoryA

Scan a directory for media files using Resolve's Media Storage.

Args: directory: Absolute path to the directory to scan. file_types: Optional list of file extensions to filter (e.g. ['.mov', '.mxf']). Returns all files if omitted. recursive: Whether to scan subdirectories. Defaults to True.

import_camera_rollA

Import a camera roll into an organized OCF bin structure.

Creates OCF/{Camera}-Cam/{RollName} folder hierarchy and imports all video files from the directory. Camera letter is auto-detected from the directory name (e.g. 'A001' -> 'A') if not specified.

Args: directory: Absolute path to the camera roll directory. camera_letter: Optional camera designation letter (e.g. 'A', 'B'). Auto-detected from directory name if omitted.

import_timeline_from_fileA

Import a timeline from an AAF, EDL, XML, or OTIO file.

Args: file_path: Absolute path to the timeline file.

get_clip_metadataA

Get all metadata for a clip found by name in the current Media Pool folder.

Args: clip_name: The name of the clip to get metadata from.

set_clip_metadataB

Set metadata fields on a clip in the current Media Pool folder.

Args: clip_name: The name of the clip to update. metadata: Dictionary of metadata field names to values.

set_clip_metadata_batchB

Batch set metadata on multiple clips. Keys are clip names, values are metadata dicts.

Args: metadata_map: Dictionary mapping clip names to their metadata dictionaries.

set_clip_propertyC

Set a clip property using SetClipProperty on a clip in the current folder.

Args: clip_name: The name of the clip. property_name: The property name to set. value: The value to set.

set_clip_colorA

Set the clip color on a clip in the current Media Pool folder.

Args: clip_name: The name of the clip. color: Color name. Valid colors: Orange, Apricot, Yellow, Lime, Olive, Green, Teal, Navy, Blue, Purple, Violet, Pink, Tan, Beige, Brown, Chocolate.

add_clip_flagB

Add a flag with the specified color to a clip in the current folder.

Args: clip_name: The name of the clip. color: The flag color (e.g. "Blue", "Red", "Green", etc.).

extract_qc_notes_from_markersA

Extract QC notes from timeline clip markers and write to clip metadata.

Iterates all video tracks on the current timeline, finds markers of the specified color on each clip, formats them as '[timecode] marker_name', and writes the combined text to the 'QC Notes' metadata field on the corresponding MediaPoolItem.

Args: marker_color: The marker color to extract (default: Yellow).

calculate_clip_file_sizesA

Calculate file sizes for clips and write to 'Size' metadata field.

Handles regular files, R3D multi-part files (_001.R3D, _002.R3D, etc.), and image sequences (directory-based). Size is written in GB with 4 decimal places.

Args: clip_names: List of clip names to process. If None, processes all clips in the current folder.

rename_clipsA

Rename all clips in the current Media Pool folder using a token pattern.

Supported tokens: {CAM} or {CAMERA} - camera letter (from camera param) {REEL} or {REEL:N} - reel number, optionally zero-padded to N digits {N} or {N:N} - clip counter starting at start_number, optionally zero-padded {DATE} - today's date in YYMMDD format {TIME} - current time in HHMMSS format {UID} - unique ID string (auto-generated if empty)

Example: "{CAM}{REEL:3}_{N:4}" with camera="A", reel=1, start_number=1 produces "A001_0001", "A001_0002", etc.

Args: pattern: Token pattern string for generating clip names. camera: Camera letter identifier (default: "A"). reel: Reel number (default: 1). start_number: Starting number for the {N} counter (default: 1). uid: Unique ID string. Auto-generated if empty.

rename_clipB

Rename a single clip in the current Media Pool folder.

Args: clip_name: Current name of the clip to rename. new_name: The new name for the clip.

add_timeline_markerA

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

Args: frame_id: Frame number where the marker should be placed. color: Marker color (e.g. "Blue", "Red", "Green", "Yellow", etc.). name: Name/title for the marker. note: Optional note text for the marker. duration: Duration of the marker in frames (default: 1).

delete_timeline_markerC

Delete a marker from the current timeline at the specified frame.

Args: frame_id: Frame number of the marker to delete.

delete_timeline_markers_by_colorA

Delete all markers of a specific color from the current timeline.

Args: color: Color of markers to delete (e.g. "Blue", "Red", "Green"). Use empty string "" to delete all markers regardless of color.

add_clip_markerA

Add a marker to a clip on the current timeline.

Searches all video tracks to find the clip by name, then adds a marker at the specified frame offset within that clip.

Args: clip_name: Name of the clip on the timeline. frame_id: Frame offset within the clip for the marker. color: Marker color (e.g. "Blue", "Red", "Green", "Yellow", etc.). name: Name/title for the marker. note: Optional note text for the marker. duration: Duration of the marker in frames (default: 1).

get_clip_markersA

Get all markers on a clip on the current timeline.

Args: clip_name: Name of the clip on the timeline.

delete_clip_markerA

Delete a marker from a clip on the current timeline at the specified frame.

Args: clip_name: Name of the clip on the timeline. frame_id: Frame offset of the marker to delete.

apply_drx_gradeA

Apply a DRX grade file to timeline clips.

Args: drx_path: Path to the .drx grade file. grade_mode: Keyframe mode - 0=No keyframes, 1=Source timecode, 2=Start frames. clip_indices: Optional 1-based indices of clips on video track 1. Applies to all clips on all video tracks if omitted.

set_cdlA

Apply CDL values to a specific clip's node.

Args: clip_index: 1-based index of the clip on video track 1. node_index: Index of the node within the clip's node graph. slope: Slope values as space-separated RGB string (e.g. '1.0 1.0 1.0'). offset: Offset values as space-separated RGB string (e.g. '0.0 0.0 0.0'). power: Power values as space-separated RGB string (e.g. '1.0 1.0 1.0'). saturation: Saturation value as string (e.g. '1.0').

apply_cdl_from_fileB

Parse a CCC or EDL file and apply CDL values to matching timeline clips.

Matches clips by name using exact, no-extension, and fuzzy matching. Also applies metadata (Episode, Scene, Shot, Take, Camera) if present in the CDL file.

Args: cdl_path: Path to a .ccc or .edl file containing CDL data.

set_lutB

Apply a LUT file to a specific clip's node.

Args: clip_index: 1-based index of the clip on video track 1. node_index: Index of the node to apply the LUT to. lut_path: Full path to the LUT file.

search_and_apply_lutA

Search standard LUT directories for a LUT file by name and apply it.

Searches recursively under the DaVinci Resolve LUT directory.

Args: lut_name: Filename of the LUT to search for (e.g. 'MyLUT.cube'). clip_index: Optional 1-based clip index on video track 1. If omitted, applies to all clips. node_index: Node index to apply the LUT to. Defaults to 2.

copy_gradeB

Copy the grade from a source clip to one or more target clips.

All indices are 1-based on video track 1.

Args: source_clip_index: 1-based index of the source clip on video track 1. target_clip_indices: List of 1-based indices of target clips on video track 1.

reset_gradesA

Reset all grades on specified clips or all clips in the timeline.

Args: clip_indices: Optional list of 1-based clip indices on video track 1. Resets all clips on all video tracks if omitted.

get_node_graph_infoA

Get node graph information for a clip including node count, labels, and LUT paths.

Args: clip_index: 1-based index of the clip on video track 1.

import_audioA

Import audio files from a directory into a media pool bin.

Scans for common audio formats: WAV, MP3, AIF, AIFF, M4A, AAC, FLAC, OGG, WMA, MXF.

Args: directory: Path to the directory containing audio files. bin_name: Name of the media pool bin to import into. Created if it does not exist. recursive: Whether to scan subdirectories recursively.

auto_sync_audioA

Sync video and audio clips by timecode.

Collects all clips from the specified bin (or current folder) and performs timecode-based audio sync, retaining video metadata and discarding embedded audio.

Args: bin_path: Optional slash-separated media pool folder path (e.g. 'Master/Audio'). Uses current folder if omitted.

add_audio_trackA

Add an audio track to the current timeline.

Args: sub_type: Audio track type: 'mono', 'stereo', '5.1', or '7.1'.

generate_speechA

Generate speech audio from text using DaVinci Resolve's AI Speech Generator.

Creates an audio MediaPoolItem from the given text and, when add_to_timeline is True, places it on the current timeline at the given timecode. Requires Resolve Studio with the 'AI Speech Generator' package installed via the Extras Download Manager.

Args: text_input: The text to synthesize into speech. timecode: Timeline timecode (HH:MM:SS:FF) to place the clip when add_to_timeline is True. voice_model: Voice model name (e.g. 'Female 1', 'Male 1', 'Custom Voice'). custom_voice_file: Full path to a custom voice file (used with 'Custom Voice'). speed: Speech speed. variation: Speech variation. pitch: Speech pitch. generation_id: Generation ID. filename: Output filename for the generated audio. add_to_timeline: Whether to add the generated clip to the current timeline. audio_track: Audio track index to place the clip on.

set_render_settingsC

Set render settings on the current project.

Args: settings: Dictionary of render setting key-value pairs (e.g. {'TargetDir': '/tmp/renders', 'CustomName': 'output'}).

set_render_formatB

Set the render format and codec.

Args: format_name: Render format (e.g. 'mp4', 'mov', 'mxf'). codec: Codec name (e.g. 'H.264', 'H.265', 'DNxHR HQX', 'ProRes 422 HQ').

add_render_jobB

Add a render job to the render queue using current render settings.

Returns the job ID of the newly added render job.

start_renderA

Start rendering jobs in the render queue.

Args: job_ids: Optional list of specific job IDs to render. Renders all queued jobs if omitted.

get_render_progressA

Get the status and progress of all render jobs in the queue.

wait_for_renderA

Wait for all rendering to complete, polling at the specified interval.

Blocks until no rendering is in progress.

Args: poll_interval: Seconds between progress checks. Defaults to 2.0.

delete_render_jobsB

Delete render jobs from the queue.

Args: job_ids: Optional list of specific job IDs to delete. Deletes all jobs if omitted.

load_render_presetB

Load a render preset by name.

Args: preset_name: Name of the render preset to load.

export_timelineB

Export the current timeline in the specified format.

Supported formats: AAF, DRT, EDL, FCP_7_XML, FCPXML_1_8, FCPXML_1_9, FCPXML_1_10, HDR_10_PROFILE_A, HDR_10_PROFILE_B, TEXT_CSV, TEXT_TAB, OTIO, ALE, ALE_CDL.

Args: output_path: Full file path for the exported file. format: Export format name (e.g. 'EDL', 'AAF', 'FCPXML_1_10'). sub_type: Optional export sub-type string. Used for formats that require additional specification.

export_aleA

Export the current timeline as an ALE (Avid Log Exchange) file.

Args: output_path: Full file path for the exported ALE file. include_cdl: If True, export as ALE_CDL to include CDL data.

export_edlB

Export the current timeline as an EDL file.

Args: output_path: Full file path for the exported EDL file.

export_fcpxmlB

Export the current timeline as an FCPXML file.

Args: output_path: Full file path for the exported FCPXML file. version: FCPXML version: '1.8', '1.9', or '1.10'. Defaults to '1.10'.

export_aafB

Export the current timeline as an AAF file.

Args: output_path: Full file path for the exported AAF file.

export_csvA

Export the current timeline as a CSV (comma-separated values) file.

Args: output_path: Full file path for the exported CSV file.

export_otioA

Export the current timeline as an OTIO (OpenTimelineIO) file.

Args: output_path: Full file path for the exported OTIO file.

export_drtB

Export the current timeline as a DRT (DaVinci Resolve Timeline) file.

Args: output_path: Full file path for the exported DRT file.

create_dailiesA

Full dailies pipeline: import camera rolls, create timelines, apply grades, sync audio.

For each camera roll path:

  1. Extract roll name and detect camera letter from the path

  2. Create OCF/{cam}-Cam/{roll_name} bin structure in the media pool

  3. Scan directory recursively for video files

  4. Import clips using batch-first with individual fallback

  5. Create a timeline from the imported clips in a Timelines bin

Optional post-processing:

  • drx_path: Switch to color page and apply DRX grade to all timeline clips

  • cdl_path: Parse CCC or EDL file, match CDL values to clips, apply grades

  • lut_name: Search standard LUT paths and apply to all timeline clips

  • audio_path + sync_audio: Scan for audio files, import to Audio bin, auto-sync

Args: camera_roll_paths: List of absolute paths to camera roll directories. drx_path: Optional path to a DRX grade file to apply. cdl_path: Optional path to a CCC or EDL file with CDL values. lut_name: Optional LUT filename to search for and apply. audio_path: Optional path to directory containing audio files. sync_audio: Whether to auto-sync imported audio. Requires audio_path. timeline_prefix: Optional prefix for timeline names.

extract_stills_from_markersA

Extract still frames from timeline markers and create a new stills timeline.

Scans the current timeline's video track 1 for markers of the specified color. For each matching marker, extracts a single-frame clip from the source media. Creates a new timeline containing all extracted stills and copies grades from the source timeline items.

The new timeline is placed in a Timelines/{color}-Stills bin and its start timecode is set to 01:00:00:00.

Args: marker_color: Color of markers to extract stills from (default: "Blue"). Common values: Blue, Cyan, Green, Yellow, Red, Pink, Purple, Fuchsia, Rose, Lavender, Sky, Mint, Lemon, Sand, Cocoa, Cream. timeline_name: Optional custom name for the stills timeline. Defaults to "{color}-Stills_{source_timeline_name}".

add_fusion_compA

Add a Fusion composition to a timeline clip.

If clip_index is not provided, adds a Fusion comp to the currently selected clip. Otherwise, targets the clip at the given 0-based index on the specified track.

Args: clip_index: Optional 0-based index of the clip on the track. Uses the currently selected clip if omitted. track_type: Type of track containing the clip (default: "video"). track_index: 1-based index of the track (default: 1).

create_fusion_nodeA

Create a Fusion node in the current composition.

Creates a new tool/node of the specified type in the active Fusion composition and optionally sets its parameters.

Args: node_type: The Fusion node type to create (e.g. "Background", "Blur", "Transform", "Merge", "MediaIn", "MediaOut", "ColorCorrector"). parameters: Optional dict of parameter name-value pairs to set on the node.

create_fusion_node_chainA

Create a chain of connected Fusion nodes in the current composition.

Creates multiple nodes and connects them sequentially (each node's Input is connected to the previous node's output). This is useful for building Fusion node graphs programmatically.

Each node dict supports:

  • "type" (required): The Fusion node type (e.g. "Background", "Blur")

  • "name" (optional): Custom display name for the node

  • "params" (optional): Dict of parameter name-value pairs

Args: nodes: List of node definitions. Each is a dict with "type" (required), optional "name", and optional "params".

transcribe_audioA

Transcribe audio for a clip or folder using DaVinci Resolve's AI transcription.

Operates on a single clip (clip_name), a folder and its nested folders (folder_path), or the current Media Pool folder if neither is given. Requires Resolve Studio with transcription support.

Args: clip_name: Name of a clip in the current folder to transcribe. folder_path: Slash-separated folder path (e.g. 'Master/Interviews') to transcribe. use_speaker_detection: Whether to use speaker detection. If omitted, the project's setting is used.

clear_transcriptionA

Clear audio transcription for a clip or folder.

Operates on a single clip (clip_name), a folder and its nested folders (folder_path), or the current Media Pool folder if neither is given.

Args: clip_name: Name of a clip in the current folder. folder_path: Slash-separated folder path (e.g. 'Master/Interviews').

perform_audio_classificationA

Analyze and classify audio into categories and subcategories.

Operates on a single clip (clip_name), a folder and its nested folders (folder_path), or the current Media Pool folder if neither is given. Requires Resolve Studio with AI audio classification support.

Args: clip_name: Name of a clip in the current folder to classify. folder_path: Slash-separated folder path (e.g. 'Master/SFX') to classify.

clear_audio_classificationA

Clear audio classification for a clip or folder.

Operates on a single clip (clip_name), a folder and its nested folders (folder_path), or the current Media Pool folder if neither is given.

Args: clip_name: Name of a clip in the current folder. folder_path: Slash-separated folder path (e.g. 'Master/SFX').

remove_motion_blurA

Apply AI motion deblur to a clip or folder, creating new deblurred clips.

Operates on a single clip (clip_name), a folder (folder_path), or the current Media Pool folder if neither is given. Returns the names of the newly created MediaPoolItem(s). Requires Resolve Studio with motion deblur support.

Args: clip_name: Name of a clip in the current folder to deblur. folder_path: Slash-separated folder path (e.g. 'Master/A-Cam') to deblur. deblur_option: Optional settings dict. Supported keys: 'FileName' (str), 'Format' (str, e.g. 'mov'), 'Codec' (str, e.g. 'ProRes422'), 'EncodingProfile' (str, H.264/H.265 only, e.g. 'Main10'), 'UseExtremeMode' (bool), 'UseMarkInMarkOut' (bool), 'RenderAtSourceRes' (bool), 'UseMoreGpuMemory' (bool).

analyze_for_intellisearchA

Run Intellisearch analysis on a clip or folder.

Operates on a single clip (clip_name), a folder (folder_path), or the current Media Pool folder if neither is given. Requires the 'AI IntelliSearch - Faster' package (or 'AI IntelliSearch - Better' when better_mode is True) from the Extras Download Manager.

Args: clip_name: Name of a clip in the current folder to analyze. folder_path: Slash-separated folder path (e.g. 'Master/A-Cam') to analyze. identify_faces: Whether to identify faces during analysis. better_mode: Whether to use Better mode (otherwise Faster mode).

reset_intellisearch_analysisA

Clear all Intellisearch analysis data for the current project.

analyze_for_slateA

Run AI Slate analysis on a clip or folder, marking detected slates.

Operates on a single clip (clip_name), a folder (folder_path), or the current Media Pool folder if neither is given. Requires the 'AI Slate ID' package from the Extras Download Manager.

Args: marker_color: Color of the markers to place at detected slates. One of: Blue, Cyan, Green, Yellow, Red, Pink, Purple, Fuchsia, Rose, Lavender, Sky, Mint, Lemon, Sand, Cocoa, Cream. clip_name: Name of a clip in the current folder to analyze. folder_path: Slash-separated folder path (e.g. 'Master/A-Cam') to analyze.

execute_pythonB

Execute Python code with Resolve API access. stdout is captured.

Pre-populated variables: resolve, fusion, project_manager, project, media_pool, media_storage, timeline. Set a 'result' variable to return data.

Args: code: Python code to execute.

execute_luaC

Execute Lua script via Fusion. Output from print() is captured.

Args: script: Lua code to execute.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
system_statusGet DaVinci Resolve connection state, product name, version, and current page.
project_currentGet current project info: name, timeline count, current timeline, frame rate, resolution.
project_listList all project names in the current database folder.
project_settingsGet the full project settings dictionary.
project_timelinesList all timelines in the current project with index and name.
timeline_currentGet full current timeline info: name, frames, tracks, timecode, FPS.
timeline_tracksGet a list of all tracks (video, audio, subtitle) with metadata.
timeline_markersGet all markers on the current timeline.
timeline_itemsGet all timeline items across video tracks (name, start, end, duration).
mediapool_foldersGet recursive folder tree of the media pool with clip counts.
mediapool_current_folderGet the current media pool folder name, clips, and subfolders.
mediapool_clipsGet detailed clip info for all clips in the current media pool folder.
mediapool_selected_clipsGet the currently selected clips in the media pool.
storage_volumesGet the list of mounted media storage volume paths.
gallery_albumsList all gallery still albums.
gallery_stillsList all stills in the current gallery album.
render_jobsGet the current render job list.
render_formatsGet available render formats and their codecs.
render_presetsGet the list of render presets.
render_is_renderingCheck whether a render is currently in progress.

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

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