stop_project
Stop the currently running Godot project to manage project execution and control debugging sessions.
Instructions
Stop the currently running Godot project
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:1187-1222 (handler)Handler function that checks for an active Godot process, kills it if present, clears the activeProcess reference, and returns the final output and errors.* Handle the stop_project tool */ private async handleStopProject() { if (!this.activeProcess) { return this.createErrorResponse( 'No active Godot process to stop.', [ 'Use run_project to start a Godot project first', 'The process may have already terminated', ] ); } this.logDebug('Stopping active Godot process'); this.activeProcess.process.kill(); const output = this.activeProcess.output; const errors = this.activeProcess.errors; this.activeProcess = null; return { content: [ { type: 'text', text: JSON.stringify( { message: 'Godot project stopped', finalOutput: output, finalErrors: errors, }, null, 2 ), }, ], }; }
- src/index.ts:940-941 (registration)Switch case registration that routes 'stop_project' tool calls to the handleStopProject method.case 'stop_project': return await this.handleStopProject();
- src/index.ts:711-718 (schema)Tool schema definition in the list of available tools, specifying name, description, and empty input schema (no parameters required).name: 'stop_project', description: 'Stop the currently running Godot project', inputSchema: { type: 'object', properties: {}, required: [], }, },
- src/index.ts:667-928 (registration)Registration of all tools including 'stop_project' in the ListToolsRequestSchema handler.this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ { name: 'launch_editor', description: 'Launch Godot editor for a specific project', inputSchema: { type: 'object', properties: { projectPath: { type: 'string', description: 'Path to the Godot project directory', }, }, required: ['projectPath'], }, }, { name: 'run_project', description: 'Run the Godot project and capture output', inputSchema: { type: 'object', properties: { projectPath: { type: 'string', description: 'Path to the Godot project directory', }, scene: { type: 'string', description: 'Optional: Specific scene to run', }, }, required: ['projectPath'], }, }, { name: 'get_debug_output', description: 'Get the current debug output and errors', inputSchema: { type: 'object', properties: {}, required: [], }, }, { name: 'stop_project', description: 'Stop the currently running Godot project', inputSchema: { type: 'object', properties: {}, required: [], }, }, { name: 'get_godot_version', description: 'Get the installed Godot version', inputSchema: { type: 'object', properties: {}, required: [], }, }, { name: 'list_projects', description: 'List Godot projects in a directory', inputSchema: { type: 'object', properties: { directory: { type: 'string', description: 'Directory to search for Godot projects', }, recursive: { type: 'boolean', description: 'Whether to search recursively (default: false)', }, }, required: ['directory'], }, }, { name: 'get_project_info', description: 'Retrieve metadata about a Godot project', inputSchema: { type: 'object', properties: { projectPath: { type: 'string', description: 'Path to the Godot project directory', }, }, required: ['projectPath'], }, }, { name: 'create_scene', description: 'Create a new Godot scene file', inputSchema: { type: 'object', properties: { projectPath: { type: 'string', description: 'Path to the Godot project directory', }, scenePath: { type: 'string', description: 'Path where the scene file will be saved (relative to project)', }, rootNodeType: { type: 'string', description: 'Type of the root node (e.g., Node2D, Node3D)', default: 'Node2D', }, }, required: ['projectPath', 'scenePath'], }, }, { name: 'add_node', description: 'Add a node to an existing scene', inputSchema: { type: 'object', properties: { projectPath: { type: 'string', description: 'Path to the Godot project directory', }, scenePath: { type: 'string', description: 'Path to the scene file (relative to project)', }, parentNodePath: { type: 'string', description: 'Path to the parent node (e.g., "root" or "root/Player")', default: 'root', }, nodeType: { type: 'string', description: 'Type of node to add (e.g., Sprite2D, CollisionShape2D)', }, nodeName: { type: 'string', description: 'Name for the new node', }, properties: { type: 'object', description: 'Optional properties to set on the node', }, }, required: ['projectPath', 'scenePath', 'nodeType', 'nodeName'], }, }, { name: 'load_sprite', description: 'Load a sprite into a Sprite2D node', inputSchema: { type: 'object', properties: { projectPath: { type: 'string', description: 'Path to the Godot project directory', }, scenePath: { type: 'string', description: 'Path to the scene file (relative to project)', }, nodePath: { type: 'string', description: 'Path to the Sprite2D node (e.g., "root/Player/Sprite2D")', }, texturePath: { type: 'string', description: 'Path to the texture file (relative to project)', }, }, required: ['projectPath', 'scenePath', 'nodePath', 'texturePath'], }, }, { name: 'export_mesh_library', description: 'Export a scene as a MeshLibrary resource', inputSchema: { type: 'object', properties: { projectPath: { type: 'string', description: 'Path to the Godot project directory', }, scenePath: { type: 'string', description: 'Path to the scene file (.tscn) to export', }, outputPath: { type: 'string', description: 'Path where the mesh library (.res) will be saved', }, meshItemNames: { type: 'array', items: { type: 'string', }, description: 'Optional: Names of specific mesh items to include (defaults to all)', }, }, required: ['projectPath', 'scenePath', 'outputPath'], }, }, { name: 'save_scene', description: 'Save changes to a scene file', inputSchema: { type: 'object', properties: { projectPath: { type: 'string', description: 'Path to the Godot project directory', }, scenePath: { type: 'string', description: 'Path to the scene file (relative to project)', }, newPath: { type: 'string', description: 'Optional: New path to save the scene to (for creating variants)', }, }, required: ['projectPath', 'scenePath'], }, }, { name: 'get_uid', description: 'Get the UID for a specific file in a Godot project (for Godot 4.4+)', inputSchema: { type: 'object', properties: { projectPath: { type: 'string', description: 'Path to the Godot project directory', }, filePath: { type: 'string', description: 'Path to the file (relative to project) for which to get the UID', }, }, required: ['projectPath', 'filePath'], }, }, { name: 'update_project_uids', description: 'Update UID references in a Godot project by resaving resources (for Godot 4.4+)', inputSchema: { type: 'object', properties: { projectPath: { type: 'string', description: 'Path to the Godot project directory', }, }, required: ['projectPath'], }, }, ], }));