DaVinci MCP Professional v2.1.1
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={
17 "type": "object",
18 "properties": {},
19 "required": []
20 }
21 ),
22
23 types.Tool(
24 name="get_current_page",
25 description="Get the current page open in DaVinci Resolve (Edit, Color, Fusion, etc.)",
26 inputSchema={
27 "type": "object",
28 "properties": {},
29 "required": []
30 }
31 ),
32
33 types.Tool(
34 name="switch_page",
35 description="Switch to a specific page in DaVinci Resolve",
36 inputSchema={
37 "type": "object",
38 "properties": {
39 "page": {
40 "type": "string",
41 "description": "The page to switch to",
42 "enum": ["media", "cut", "edit", "fusion", "color", "fairlight", "deliver"]
43 }
44 },
45 "required": ["page"]
46 }
47 ),
48
49 # Project tools
50 types.Tool(
51 name="list_projects",
52 description="List all available projects in the current database",
53 inputSchema={
54 "type": "object",
55 "properties": {},
56 "required": []
57 }
58 ),
59
60 types.Tool(
61 name="get_current_project",
62 description="Get the name of the currently open project",
63 inputSchema={
64 "type": "object",
65 "properties": {},
66 "required": []
67 }
68 ),
69
70 types.Tool(
71 name="open_project",
72 description="Open a project by name",
73 inputSchema={
74 "type": "object",
75 "properties": {
76 "name": {
77 "type": "string",
78 "description": "The name of the project to open"
79 }
80 },
81 "required": ["name"]
82 }
83 ),
84
85 types.Tool(
86 name="create_project",
87 description="Create a new project with the given name",
88 inputSchema={
89 "type": "object",
90 "properties": {
91 "name": {
92 "type": "string",
93 "description": "The name for the new project"
94 }
95 },
96 "required": ["name"]
97 }
98 ),
99
100 # Timeline tools
101 types.Tool(
102 name="list_timelines",
103 description="List all timelines in the current project",
104 inputSchema={
105 "type": "object",
106 "properties": {},
107 "required": []
108 }
109 ),
110
111 types.Tool(
112 name="get_current_timeline",
113 description="Get the name of the current timeline",
114 inputSchema={
115 "type": "object",
116 "properties": {},
117 "required": []
118 }
119 ),
120
121 types.Tool(
122 name="create_timeline",
123 description="Create a new timeline with the given name",
124 inputSchema={
125 "type": "object",
126 "properties": {
127 "name": {
128 "type": "string",
129 "description": "The name for the new timeline"
130 }
131 },
132 "required": ["name"]
133 }
134 ),
135
136 types.Tool(
137 name="switch_timeline",
138 description="Switch to a timeline by name",
139 inputSchema={
140 "type": "object",
141 "properties": {
142 "name": {
143 "type": "string",
144 "description": "The name of the timeline to switch to"
145 }
146 },
147 "required": ["name"]
148 }
149 ),
150
151 # Media tools
152 types.Tool(
153 name="list_media_clips",
154 description="List all clips in the media pool",
155 inputSchema={
156 "type": "object",
157 "properties": {},
158 "required": []
159 }
160 ),
161
162 types.Tool(
163 name="import_media",
164 description="Import a media file into the media pool",
165 inputSchema={
166 "type": "object",
167 "properties": {
168 "file_path": {
169 "type": "string",
170 "description": "The path to the media file to import"
171 }
172 },
173 "required": ["file_path"]
174 }
175 ),
176 ]
List[types.Tool] get_all_tools()
Definition __init__.py:9