godot_create_folder
Create organized project-relative folders within Godot projects to structure assets, scenes, and scripts for efficient game development workflows.
Instructions
Create a safe project-relative folder inside an existing Godot project.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Path to the Godot project directory or its project.godot file. | |
| folder_path | Yes | Project-relative folder path to create, such as shaders, scenes/ui, or assets/enemies/boss. |
Implementation Reference
- src/godot_mcp/godot.py:885-904 (handler)The handler function for godot_create_folder, which validates the path and creates the folder in the project structure.
def create_folder( self, project_path: str, folder_path: str, ) -> dict[str, Any]: project_dir = ensure_project_path(project_path) normalized_folder = normalize_project_subdir(folder_path) if not normalized_folder: raise GodotError("`folder_path` must point to a project-relative directory.") absolute_folder = (project_dir / normalized_folder).resolve() existed_before = absolute_folder.exists() absolute_folder.mkdir(parents=True, exist_ok=True) return { "project_path": str(project_dir), "folder_path": str(absolute_folder), "folder_resource_path": f"res://{normalized_folder}", "created": not existed_before, } - src/godot_mcp/server.py:102-123 (registration)Registration of the godot_create_folder tool within the GodotMcpServer, mapping it to the GodotController handler.
name="godot_create_folder", description="Create a safe project-relative folder inside an existing Godot project.", input_schema={ "type": "object", "properties": { "project_path": { "type": "string", "description": "Path to the Godot project directory or its project.godot file.", }, "folder_path": { "type": "string", "description": "Project-relative folder path to create, such as shaders, scenes/ui, or assets/enemies/boss.", }, }, "required": ["project_path", "folder_path"], "additionalProperties": False, }, handler=lambda args: self.controller.create_folder( project_path=args["project_path"], folder_path=args["folder_path"], ), ),