Godot MCP Toolkit
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GODOT_BIN | No | Path to the Godot 4 executable. Alternative to GODOT_PATH. | |
| GODOT_PATH | No | Path to the Godot 4 executable. Alternative to GODOT_BIN. | |
| GODOT_MCP_PROJECT | No | Default Godot project path used when a tool call does not provide one. | |
| GODOT_MCP_TOOL_GROUPS | No | Comma-separated list of tool groups to enable. Use 'all' to enable all groups. | |
| GODOT_MCP_ENABLE_EDITOR_BRIDGE | No | Set to '1' to enable the live editor bridge. |
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 | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_server_infoB | Return server capabilities and runtime information. |
| get_capabilitiesA | Return versioned feature groups and compatibility information. |
| get_godot_versionA | Read the installed Godot version. |
| list_projectsC | Find Godot projects below a directory. |
| get_project_infoC | Read project.godot metadata and selected settings. |
| create_projectC | Create a minimal Godot 4 project with a project.godot file. |
| set_project_settingA | Set a project.godot setting using section/key notation. |
| list_filesB | List project files with safe, project-relative paths. |
| read_fileB | Read a UTF-8 text file inside a Godot project. |
| write_fileC | Write a UTF-8 text file inside a Godot project. |
| list_scenesB | List all .tscn scenes in a project. |
| duplicate_sceneB | Copy a scene to another project-relative .tscn path. |
| search_projectB | Search UTF-8 project files for a literal or regular expression pattern. |
| check_projectA | Run Godot in headless editor mode and return parser/runtime diagnostics. |
| launch_editorC | Launch the Godot editor for a project and return its process id. |
| run_projectA | Run a Godot project in the background and capture stdout/stderr. |
| get_debug_outputC | Read captured output from a background Godot run. |
| stop_projectC | Stop a background Godot run. |
| create_sceneC | Create and save a minimal Godot scene. |
| inspect_scene_treeA | Inspect a scene tree recursively without modifying the scene. |
| inspect_nodeB | Read a node's serializable Inspector properties. |
| add_nodeB | Add a node to a scene and save it. |
| remove_nodeC | Remove a node from a scene and save it. |
| set_node_propertyB | Set a serializable node property and save the scene. |
| save_sceneA | Load and re-save a scene to validate its serialization. |
| load_spriteC | Add a Sprite2D using a project-relative texture path. |
| create_ui_nodeB | Add a Control-derived UI node to a scene with optional layout properties. |
| create_scriptC | Create a GDScript file with a safe starter template. |
| attach_scriptA | Attach a project-relative GDScript to a scene node. |
| analyze_scriptB | Run Godot's script checker and return diagnostics. |
| capture_screenshotC | Render a scene in a controlled viewport and save a PNG inside the project. |
| create_animationC | Create an empty AnimationPlayer animation resource in a scene. |
| inspect_animation_playersB | Inspect AnimationPlayer nodes and animation names. |
| inspect_tilemapsC | Inspect TileMap and TileMapLayer nodes in a scene. |
| set_tile_cellC | Set a TileMap or TileMapLayer cell using Godot's native API. |
| simulate_inputB | Inject a keyboard or mouse input event while a scene runs headlessly. |
| run_automation_testA | Run a project-relative GDScript test in headless mode. |
| list_resourcesC | List project resources filtered by extension. |
| find_resource_referencesC | Find text references to a project-relative resource path. |
| profile_sceneC | Collect lightweight frame and memory counters for a scene. |
| get_game_contextB | Build a compact project graph for AI-assisted game understanding. |
| get_uidC | Read a resource UID using Godot's resource database. |
| update_project_uidsB | Ask Godot to refresh resource UIDs for a project. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 43 tools
Most tools have distinct purposes, but get_server_info and get_capabilities overlap heavily in scope. Additionally, add_node vs load_sprite vs create_ui_node create ambiguity around which node-creation tool to use, though descriptions partially clarify.
All tool names follow a consistent verb_noun snake_case pattern, such as list_scenes, create_project, and inspect_node. There are no deviations or mixed conventions, making the naming highly predictable.
With 43 tools, the server is substantially over the recommended 3-15 range. While the domain is broad, the sheer number creates a heavy cognitive load and suggests insufficient consolidation of related operations.
The toolkit covers core Godot workflows like scene editing, scripting, running, and testing, but lacks basic delete operations for files, scenes, and projects. This leaves notable gaps in lifecycle management, especially since create and duplicate operations exist without corresponding removals.