create_project
Start a new DaVinci Resolve project by providing a name. Initiates project creation to streamline video editing setup.
Instructions
Create a new project with the given name
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name for the new project |
Implementation Reference
- The core handler that creates a project by calling the DaVinci Resolve API's CreateProject method. It checks if the project already exists, creates it, and sets it as the current project.
def create_project(self, name: str) -> bool: """Create a new project.""" self._ensure_connected() if not self._project_manager: return False # Check if project already exists projects = self.list_projects() if name in projects: raise ValueError(f"Project '{name}' already exists") result = self._project_manager.CreateProject(name) if result: self._current_project = self._project_manager.GetCurrentProject() logger.info(f"Created project: {name}") return bool(result) - src/davinci_mcp/types.py:78-86 (schema)Protocol type definition for the DaVinci Resolve ProjectManager.CreateProject method, showing the expected signature.
def CreateProject(self, name: str) -> DaVinciProject | None: """Create a new project with the given name.""" ... def LoadProject(self, name: str) -> DaVinciProject | None: """Load an existing project by name.""" ... - src/davinci_mcp/tools/__init__.py:73-86 (registration)Tool registration in the get_all_tools() function, defining the tool's name, description, and input schema (requires a 'name' string).
types.Tool( name="create_project", description="Create a new project with the given name", inputSchema={ "type": "object", "properties": { "name": { "type": "string", "description": "The name for the new project", } }, "required": ["name"], }, ), - src/davinci_mcp/server.py:107-114 (helper)Server dispatch logic that routes the 'create_project' tool call from MCP to the DaVinciResolveClient.create_project method, extracting the 'name' argument and returning a formatted success/failure message.
elif name == "create_project": name_arg = arguments.get("name", "") result = self.resolve_client.create_project(name_arg) return ( f"Successfully created project '{name_arg}'" if result else f"Failed to create project '{name_arg}'" )