Godot Agent Loop
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEBUG | No | Set to 'true' for detailed server-side logging. This also runs the headless operations script with --debug-godot, which logs diagnostics and writes a temporary write-access probe file into the project (removed again on every branch). | false |
| GODOT_PATH | No | Path to the Godot executable (overrides auto-detection) | |
| GODOT_MCP_ALLOWED_DIRS | No | Optional. Restrict run_project to projects under these roots (;, ,, or : separated). When unset, any project path is allowed. | |
| GODOT_MCP_TOOL_SURFACE | No | Optional, default core. Set to full to advertise the complete static tool catalog instead of the compact core plus godot_tools discovery/dispatch. | core |
| GODOT_MCP_RUNTIME_SECRET | No | Optional explicit shared runtime secret. The MCP server generates a fresh 256-bit value when omitted and passes it only to Godot processes it launches. | |
| GODOT_MCP_PRIVILEGED_GROUPS | No | Optional comma-separated least-privilege grants: reflection, code-execution, and/or network. All are denied by default. | |
| GODOT_MCP_EDITOR_START_PAUSED | No | Optional, default false. Start the editor addon's cooperative lock in human-editing mode so mutating MCP tools are refused until Resume Agent is pressed. | false |
| GODOT_MCP_ALLOW_PRIVILEGED_COMMANDS | No | Optional, default false. Explicitly enable runtime eval, arbitrary property/method access, script control, RPC, HTTP, and WebSocket commands for a trusted localhost developer workflow. | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| godot_toolsC | Search, inspect, or call tools outside the default core surface |
| launch_editorB | Launch Godot editor for a specific project |
| editor_controlC | Inspect and edit open scenes through an authenticated editor bridge |
| run_projectC | Run the Godot project and capture output |
| verify_projectA | Run bounded assertions and capture evidence with deterministic teardown |
| run_project_testsB | Discover or run native, GUT, and GdUnit4 project tests with structured results |
| get_debug_outputA | Get the current debug output and errors |
| stop_projectA | Stop the currently running Godot project |
| get_godot_versionA | Get the installed Godot version |
| list_projectsB | List Godot projects in a directory |
| get_project_infoC | Retrieve metadata about a Godot project |
| create_sceneB | Create a new Godot scene file |
| add_nodeC | Add a node to an existing scene |
| save_sceneC | Save changes to a scene file |
| game_screenshotA | Screenshot the running game (returns base64 PNG) |
| game_clickB | Click at a position in the running Godot game window |
| game_key_pressB | Send a key press or input action to the running game |
| game_get_uiA | Get visible UI elements from the running game |
| game_get_scene_treeC | Get scene tree structure of the running game |
| game_get_node_infoA | Get node info: class, properties, signals, methods, children |
| game_waitB | Wait N frames in the running game |
| read_sceneB | Read scene file as JSON node tree (headless) |
| modify_scene_nodeB | Modify node properties in a scene file (headless) |
| remove_scene_nodeB | Remove a node from a scene file (headless) |
| read_project_settingsC | Read project.godot as structured JSON |
| modify_project_settingsC | Modify a project.godot setting |
| list_project_filesA | List project files, optionally filtered by extension |
| attach_scriptB | Attach a GDScript to a scene node (headless) |
| read_fileB | Read a text file from a Godot project |
| write_fileA | Create or overwrite a text file in a Godot project |
| game_get_errorsB | Get new push_error/push_warning messages since last call |
| game_get_logsA | Get new print output from the running game since last call |
| game_key_releaseB | Release a previously held key |
| create_projectB | Create a new Godot project from scratch |
| manage_input_mapB | Add, remove, or list input actions and bindings |
| validate_scriptA | Check a GDScript file for syntax/type errors (headless, no run) |
| validate_scriptsB | Batch-check GDScript files (git-changed by default, or all) |
| create_scriptC | Create a GDScript file from a template |
| set_main_sceneC | Set the main scene in project.godot |
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
- 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/beremaran/godot-agent-loop'
If you have feedback or need assistance with the MCP directory API, please join our Discord server