godot-mcp-pilot
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEBUG | No | If 'true', prints debug information to stderr. | false |
| GODOT_PATH | No | Absolute path to the Godot executable. If not set, auto-detection is attempted for common locations on macOS, Linux, and Windows. | |
| READ_ONLY_MODE | No | If 'true', disables all modifying tools (safe for CI/review). | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_godot_versionA | Get the installed Godot engine version and platform information. |
| list_projectsC | Find Godot projects (project.godot files) under a directory. |
| get_project_infoB | Get metadata about a Godot project: name, version, scene/script/asset counts. |
| launch_editorA | Open the Godot editor for a project. Non-blocking — returns immediately. |
| run_projectA | Run a Godot project in debug mode (background). Optionally run a specific scene. Use get_debug_output to retrieve console logs after starting. |
| stop_projectA | Stop the currently running Godot project. |
| get_debug_outputB | Get console output (stdout/stderr) from the running or last run project. |
| run_gdscriptA | Run a GDScript snippet headlessly inside a project and return the output. The script body is wrapped in a SceneTree subclass automatically — just write the statements to execute (e.g. print("hello")). Great for quick tests and calculations that need Godot's built-in types. |
| list_project_scenesC | List all .tscn scene files in a project. |
| read_sceneB | Read a scene file — returns raw .tscn text and a structured node list. |
| create_sceneB | Create a new .tscn scene file with a specified root node type. |
| save_sceneC | Save a scene (re-writes it to disk, optionally to a new path). |
| add_nodeC | Add a new node to an existing scene. |
| edit_nodeC | Modify properties of an existing node in a scene. |
| remove_nodeB | Remove a node (and all its children) from a scene. |
| duplicate_nodeA | Duplicate a node (and its children) within the same scene, giving it a new name. The duplicate is placed under the same parent as the original. |
| move_nodeA | Move (re-parent) a node to a different parent within the same scene. All descendant parent paths are updated automatically. |
| set_scene_scriptA | Attach a GDScript to a node in a scene, or detach the current script. Automatically adds the ext_resource entry to the .tscn file. |
| instantiate_sceneB | Instantiate a packed scene (sub-scene) as a child node inside another scene. Adds the ext_resource entry automatically. |
| load_spriteC | Load a texture resource into a Sprite2D (or TextureRect) node. |
| list_project_scriptsB | List all GDScript (.gd) files in a project. |
| read_scriptB | Read the source code of a GDScript file. |
| modify_scriptC | Overwrite a GDScript file with new content. |
| create_scriptB | Create a new GDScript file. Use the template param to pick a starter template: 'CharacterBody2D', 'CharacterBody3D', 'Singleton', or provide custom content. |
| analyze_scriptB | Perform basic static analysis on a GDScript file — finds common errors and Godot 4 migration issues. |
| list_script_functionsA | Parse a GDScript file and return all functions, signals, and top-level variables with their names, parameters, return types, and line numbers. |
| add_script_functionA | Append a new function to a GDScript file. Fails if the function already exists. |
| remove_script_functionC | Remove a function and its entire body from a GDScript file. |
| add_signalC | Add a signal declaration to a GDScript file. Inserted after existing signals. |
| add_variableB | Add a top-level variable or property declaration to a GDScript file. |
| get_uidB | Get the Godot 4 unique ID (uid://) for a resource file. |
| update_project_uidsA | Re-import all project assets to refresh Godot 4 UIDs. Runs Godot headlessly. Use after adding or moving resource files. |
| list_assetsB | List all asset files in a project (textures, audio, meshes, fonts, shaders, etc.). Optionally filter by type. |
| get_asset_infoB | Get detailed metadata about a specific asset: type, size, UID, and import settings. |
| get_project_settingsA | Read the project.godot configuration. Optionally filter to a specific section (e.g. "application", "display", "input", "autoload", "rendering"). |
| set_project_settingA | Write a setting to project.godot. The value must be a valid Godot config value string. For strings, wrap in double quotes: e.g. value='"res://scene.tscn"'. For booleans/numbers use: 'true', '42'. Creates the section if it doesn't exist. |
| get_main_sceneB | Get the project's configured main (startup) scene path. |
| set_main_sceneC | Set the project's main (startup) scene. |
| list_autoloadsB | List all autoload (singleton) entries configured in the project. |
| add_autoloadB | Add or update an autoload (singleton) in the project settings. The script will be instantiated automatically when the project starts. |
| remove_autoloadC | Remove an autoload singleton from the project settings. |
| list_input_actionsB | List all custom input actions defined in the project (Project > Project Settings > Input Map). |
| add_input_actionB | Add a new input action to the project's Input Map (with no events bound). Use the Godot editor or set_project_setting to bind keys to it. |
| remove_input_actionC | Remove an input action from the project's Input Map. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pushks18/Godot-MCP-Pilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server