godot_start_project
Launch Godot editor for an existing project to begin development work, with option to open specific scenes directly.
Instructions
Start Godot's editor for an existing project, optionally opening a specific scene in the editor.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Path to the Godot project directory or its project.godot file. | |
| scene_path | No | Optional .tscn path to open in the editor. | |
| godot_executable | No | Optional explicit path to the Godot executable or .app bundle. |
Implementation Reference
- src/godot_mcp/godot.py:959-983 (handler)The logic to start a Godot project, implemented in the GodotController class.
def start_project( self, project_path: str, godot_executable: str | None = None, scene_path: str | None = None, ) -> dict[str, Any]: project_dir = ensure_project_path(project_path) executable, version = resolve_godot_executable(godot_executable) command = [str(executable), "--path", str(project_dir), "-e"] opened_scene = None if scene_path: absolute_scene_path, resource_scene_path = resolve_scene_path(project_dir, scene_path) command.append(str(absolute_scene_path)) opened_scene = resource_scene_path launched = _launch_process(command, cwd=project_dir, log_name="start-project") return { "project_path": str(project_dir), "pid": launched.pid, "command": launched.command, "log_path": launched.log_path, "godot_version": version, "opened_scene": opened_scene, } - src/godot_mcp/server.py:184-210 (registration)Registration of the godot_start_project tool in the server's tool definitions list.
name="godot_start_project", description="Start Godot's editor for an existing project, optionally opening a specific scene in the editor.", input_schema={ "type": "object", "properties": { "project_path": { "type": "string", "description": "Path to the Godot project directory or its project.godot file.", }, "scene_path": { "type": "string", "description": "Optional .tscn path to open in the editor.", }, "godot_executable": { "type": "string", "description": "Optional explicit path to the Godot executable or .app bundle.", }, }, "required": ["project_path"], "additionalProperties": False, }, handler=lambda args: self.controller.start_project( project_path=args["project_path"], scene_path=args.get("scene_path"), godot_executable=args.get("godot_executable"), ), ),