Skip to main content
Glama

Timeline (read)

timeline_read
Read-onlyIdempotent

Read DaVinci Resolve timeline state without side effects to find IDs, inspect tracks, items, markers, playhead timecode, selected clips, and verify results before edits.

Instructions

Read timeline state, no side effects: use it to find ids and check results. op.action (params; * = required):

  • current_timecode(): Return the playhead timecode.

  • current_video_item(): Return the video item under the playhead, if any.

  • get_mark_in_out(): Return the video/audio mark in and out (frames relative to timeline start).

  • get_marker_by_custom_data(custom_data*): Find the first marker whose custom data matches.

  • get_output_blanking(): Return the timeline output blanking in pixels (Resolve 21.1+).

  • get_settings(keys): Read the timeline settings (project settings when custom settings are off).

  • list_items(track, name_contains, limit, offset): List timeline items of a track or of the whole timeline (paginated).

  • list_markers(color): List timeline markers, optionally filtered by color.

  • list_timelines(): List the timelines of the current project with their ids.

  • list_tracks(): List tracks of every type with name, enabled, locked and item count.

  • selected_clips(): List the currently selected timeline items (Resolve 21.0.4+).

  • timeline_info(): Name, id, frame range, start timecode, fps/resolution and track counts.

Input Schema

NameRequiredDescriptionDefault
opYes{action, ...params}. Parameters per action: see the description or this server's describe_action tool.

Output Schema

NameRequiredDescriptionDefault
actionYes
resultYes
channelYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is well covered. The description adds useful behavioral details beyond the annotations, including version requirements for get_output_blanking and selected_clips and the fact that get_marker_by_custom_data finds the first match. It repeats "no side effects" but adds enough context to earn credit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and then uses a compact, scannable action list. Every listed action is relevant, and the required-parameter asterisk is efficient. It is slightly dense, especially where action signatures are embedded in a single line each, but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema and strong annotations, so the description does not need to explain return values or safety behavior. It covers all twelve actions and their key parameters. Minor gaps remain around parameter value expectations and any failure modes, but the definition is complete enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the schema is intentionally generic and defers action-specific parameters to the description. The description compensates well by listing each action and its parameters, marking required ones with an asterisk (e.g., get_marker_by_custom_data(custom_data*)). It does not describe value types or defaults for parameters such as limit and offset, so it stops short of full semantic detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ("Read timeline state") and enumerates the exact read operations available. It clearly distinguishes the tool from mutation siblings such as timeline_write and timeline_delete by emphasizing read-only, side-effect-free access.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use this tool to "find ids and check results," giving clear context for when to call it. Alternatives are implied by the sibling naming convention, but the description does not explicitly name when to choose timeline_read versus another read tool such as item_read or project_read.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.