Better Godot MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GODOT_PATH | No | Path to Godot binary (auto-detected if not set) | |
| GODOT_PROJECT_PATH | No | Default project path (most tools accept project_path param) |
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 |
|---|---|
| projectA | Godot project operations. Actions (required params -> optional):
|
| scenesA | Scene file (.tscn) CRUD. Actions (required params -> optional):
scene_path: relative to project root (e.g., "scenes/main.tscn"), NOT res:// prefix. Use nodes tool to edit nodes within a scene. |
| nodesA | Scene node operations. Actions (required params -> optional):
Node paths: relative to scene root using "/" (e.g., "Player/Sprite2D"). Use "." for root. |
| scriptsA | GDScript file CRUD. Actions (required params -> optional):
script_path: relative to project root (e.g., "scripts/player.gd"). |
| editorA | Godot editor control. Actions (required params -> optional):
For running the game, use project(action="run") instead. |
| configA | Server configuration and environment. Actions (required params -> optional):
|
| helpA | Full documentation. Omit topic for the overview; use a topic when compressed descriptions are insufficient. |
| resourcesB | Resource file management. Actions (required params -> optional):
|
| input_mapA | Input action management. Actions (required params -> optional):
event_type: key | mouse | joypad. event_value: e.g., KEY_SPACE. |
| signalsA | Signal connection management. Actions (required params -> optional):
|
| animationC | Animation management. Actions: create_player|add_animation|add_track|add_keyframe|list. Use help tool for full docs. |
| tilemapC | TileSet and TileMap management. Actions: create_tileset|add_source|set_tile|paint|list. Use help tool for full docs. |
| shaderC | Godot shader management. Actions: create|read|write|get_params|list. Use help tool for full docs. |
| physicsC | Physics config. Actions: layers|collision_setup|body_config|set_layer_name. Use help tool for full docs. |
| audioC | Audio bus and stream management. Actions: list_buses|add_bus|add_effect|create_stream. Use help tool for full docs. |
| navigationC | Navigation regions, agents, obstacles. Actions: create_region|add_agent|add_obstacle. Use help tool for full docs. |
| uiC | UI Control nodes and themes. Actions: create_control|set_theme|layout|list_controls. Use help tool for full docs. |
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 17 tools
Each tool targets a distinct Godot subsystem, and explicit notes (e.g., editor launch vs project run) reduce confusion. Some overlap remains between project settings and config, and between scenes and generic resource management.
Tool names follow a consistent single-noun domain pattern with verb-style actions underneath. Minor inconsistencies like plural scenes/nodes/scripts vs singular animation/shader and the underscore in input_map prevent a perfect score.
At roughly 16-17 tools, the server sits at the upper edge of the ideal range, but each tool covers a separate Godot domain and earns its place. It is slightly heavy but not bloated.
The surface covers the core Godot development lifecycle: project, editor, scenes, scripts, resources, input, signals, rendering, physics, audio, navigation, and UI. Minor gaps exist, such as no generic resource creation and abbreviated documentation for several advanced domains.