list_timelines
Retrieve a list of all timelines in the current DaVinci Resolve project to organize your editing workflow.
Instructions
List all timelines in the current project
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- The actual implementation of list_timelines in DaVinciResolveClient. It ensures a project is open, gets the timeline count, iterates through timelines by index, and returns their names as a list of strings.
def list_timelines(self) -> list[str]: """List all timelines in the current project.""" project = self._ensure_project() timeline_count = project.GetTimelineCount() timelines: list[str] = [] for i in range(1, timeline_count + 1): timeline = project.GetTimelineByIndex(i) if timeline: name = timeline.GetName() if isinstance(name, str): timelines.append(name) return timelines - Tool registration/schema definition for list_timelines. Defines the tool name, description ('List all timelines in the current project'), and input schema (empty, no parameters required).
# Timeline tools types.Tool( name="list_timelines", description="List all timelines in the current project", inputSchema={"type": "object", "properties": {}, "required": []}, ), - src/davinci_mcp/server.py:115-116 (registration)Dispatch/handler routing in _call_tool. When tool name is 'list_timelines', it calls self.resolve_client.list_timelines() and returns the result.
elif name == "list_timelines": return self.resolve_client.list_timelines() - src/davinci_mcp/server.py:159-160 (registration)Also used as a resource at URI 'resolve://timelines' in _read_resource, which calls the same list_timelines method.
elif uri == "resolve://timelines": return self.resolve_client.list_timelines()