godot-assistant
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GODOT_PATH | No | Path to the Godot executable. Used when auto-detection fails or to select a specific version. | |
| GODOT_ASSISTANT_PROJECT | No | Default project path. Equivalent to the --project flag. Optional; can be overridden per tool call. | |
| GODOT_ASSISTANT_READ_ONLY | No | Set to '1' to enable read-only mode, which refuses all mutating tools. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| godot_statusA | Environment and project health check: Godot version, project detection, live bridge state, running processes. Start here when anything is unexpected, or to confirm setup. |
| project_infoA | Project settings that matter for writing code: main scene, autoload singletons, input actions, physics layers, file counts. Read this before generating gameplay code. |
| list_filesA | List project files by kind (scenes, scripts, resources, images, audio, models) with optional glob. Use to orient in an unfamiliar project. |
| searchA | Grep across scripts, scenes and resources. Finds symbol definitions, node types used in scenes, signal names, TODOs. Returns file:line with the matching line. |
| scene_treeA | Show a scene's node hierarchy with types, attached scripts, instanced sub-scenes and groups. Read this before editing any scene. |
| scene_createA | Create a new .tscn with a chosen root node type, optionally attaching a script. Assigns a stable uid:// so other scenes can reference it. |
| node_addA | Add one or more nodes to a scene in a single save. Batch related nodes together — each call reloads and rewrites the scene file. |
| node_modifyA | Apply a batch of edits to a scene: set properties, rename, delete, reparent, reorder, attach/detach scripts, manage groups. All operations are applied then saved once. |
| node_inspectA | Full detail for one node: type, inheritance chain, script, groups, signal connections, and properties that differ from their defaults. |
| scene_instanceA | Place one scene inside another as an instance (not a copy), so later edits to the source propagate. This is how prefabs work in Godot. |
| signal_connectA | Connect or disconnect a signal between nodes in a scene, persisted into the .tscn exactly as the editor writes it. The receiving method must exist on the target's script. |
| script_createA | Write a new GDScript file, optionally attaching it to a node in a scene in the same step. Provide |
| script_validateA | Parse-check GDScript — one file or the whole project — and report errors with file and line. Run this after editing scripts and before running the game; it is much faster than launching. |
| api_referenceA | Look up a Godot class in the installed engine: methods with full signatures, properties with defaults, signals, enums, inheritance. Use this instead of recalling the API — it reflects the exact engine version in use. |
| run_projectA | Launch the game and capture its output. Runs the main scene, or one specific scene. Use wait_seconds for a quick check that returns the log; omit it to leave the game running and poll with get_output. |
| get_outputA | Read console output from the running (or last) session. Errors and warnings are parsed, deduplicated and shown with file:line; repeated per-frame errors are collapsed. |
| stop_projectB | Stop the running game or editor started by this server, and return the final output summary. |
| screenshotA | See what a scene actually looks like. |
| simulate_inputA | Send synthetic input to the running game — a mapped action, a key, a mouse move or a click. Goes through Godot's input system, so the game reacts exactly as it would to a real device. Requires bridge_install and a running game. |
| runtime_inspectA | Read the live state of the running game: actual node tree with world positions and visibility, real property values, FPS and node counts. Shows what is true at runtime, which often differs from the scene file. Requires bridge_install. |
| resource_manageA | Create, read or edit Godot resource files (.tres): materials, themes, curves, tilesets, physics shapes, input/animation data. Use api_reference first to find the right class and property names. |
| import_assetsA | Find and fix assets Godot has not imported yet. New image or audio files are unusable until imported — that is the cause of "No loader found for resource". Call this after adding files outside the editor. |
| export_projectB | List export presets, or build one. Presets must first be created in the Godot editor under Project > Export. |
| bridge_installA | Install (or remove) the optional Godot addon that enables live features: inspecting the running game, simulating input, screenshotting the game and editor, and driving play/stop. Everything else works without it. Adds files under addons/godot_assistant and enables the plugin. |
| editor_controlA | Drive a running Godot editor: read what is open, open a scene, save, play/stop, select nodes, rescan the filesystem. Also launches the editor. Most actions need bridge_install. |
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/jmsansan/godot-assistant'
If you have feedback or need assistance with the MCP directory API, please join our Discord server