DaVinci MCP Professional v3.0.0
A modern, professional Model Context Protocol server for DaVinci Resolve integration
Loading...
Searching...
No Matches
__init__.py
Go to the documentation of this file.
1"""
2MCP tools for DaVinci Resolve integration.
3"""
4
5from typing import List
6import mcp.types as types
7
8
9def get_all_tools() -> List[types.Tool]:
10 """Get all available MCP tools."""
11 return [
12 # System tools
13 types.Tool(
14 name="get_version",
15 description="Get DaVinci Resolve version information",
16 inputSchema={"type": "object", "properties": {}, "required": []},
17 ),
18 types.Tool(
19 name="get_current_page",
20 description="Get the current page open in DaVinci Resolve (Edit, Color, Fusion, etc.)",
21 inputSchema={"type": "object", "properties": {}, "required": []},
22 ),
23 types.Tool(
24 name="switch_page",
25 description="Switch to a specific page in DaVinci Resolve",
26 inputSchema={
27 "type": "object",
28 "properties": {
29 "page": {
30 "type": "string",
31 "description": "The page to switch to",
32 "enum": [
33 "media",
34 "cut",
35 "edit",
36 "fusion",
37 "color",
38 "fairlight",
39 "deliver",
40 ],
41 }
42 },
43 "required": ["page"],
44 },
45 ),
46 # Project tools
47 types.Tool(
48 name="list_projects",
49 description="List all available projects in the current database",
50 inputSchema={"type": "object", "properties": {}, "required": []},
51 ),
52 types.Tool(
53 name="get_current_project",
54 description="Get the name of the currently open project",
55 inputSchema={"type": "object", "properties": {}, "required": []},
56 ),
57 types.Tool(
58 name="open_project",
59 description="Open a project by name",
60 inputSchema={
61 "type": "object",
62 "properties": {
63 "name": {
64 "type": "string",
65 "description": "The name of the project to open",
66 }
67 },
68 "required": ["name"],
69 },
70 ),
71 types.Tool(
72 name="create_project",
73 description="Create a new project with the given name",
74 inputSchema={
75 "type": "object",
76 "properties": {
77 "name": {
78 "type": "string",
79 "description": "The name for the new project",
80 }
81 },
82 "required": ["name"],
83 },
84 ),
85 # Timeline tools
86 types.Tool(
87 name="list_timelines",
88 description="List all timelines in the current project",
89 inputSchema={"type": "object", "properties": {}, "required": []},
90 ),
91 types.Tool(
92 name="get_current_timeline",
93 description="Get the name of the current timeline",
94 inputSchema={"type": "object", "properties": {}, "required": []},
95 ),
96 types.Tool(
97 name="create_timeline",
98 description="Create a new timeline with the given name",
99 inputSchema={
100 "type": "object",
101 "properties": {
102 "name": {
103 "type": "string",
104 "description": "The name for the new timeline",
105 }
106 },
107 "required": ["name"],
108 },
109 ),
110 types.Tool(
111 name="switch_timeline",
112 description="Switch to a timeline by name",
113 inputSchema={
114 "type": "object",
115 "properties": {
116 "name": {
117 "type": "string",
118 "description": "The name of the timeline to switch to",
119 }
120 },
121 "required": ["name"],
122 },
123 ),
124 # Media tools
125 types.Tool(
126 name="list_media_clips",
127 description="List all clips in the media pool",
128 inputSchema={"type": "object", "properties": {}, "required": []},
129 ),
130 types.Tool(
131 name="import_media",
132 description="Import a media file into the media pool",
133 inputSchema={
134 "type": "object",
135 "properties": {
136 "file_path": {
137 "type": "string",
138 "description": "The path to the media file to import",
139 }
140 },
141 "required": ["file_path"],
142 },
143 ),
144 ]
List[types.Tool] get_all_tools()
Definition __init__.py:9