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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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