Godot MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GODOT_PATH | No | Path to Godot executable (optional, auto-detected) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| add_animation_libraryC | Add animation library to player. |
| add_animation_trackC | Add track to animation. |
| add_audio_busC | Add audio bus to layout. |
| add_autoloadC | Add an autoload entry. |
| add_bus_effectC | Add effect to audio bus. |
| add_input_bindingA | Add key/mouse/joypad binding to action. |
| add_nodeC | Add a node to a scene. |
| add_script_exportB | Add @export variable to GDScript. |
| add_script_functionC | Append a function to GDScript. |
| add_script_signalB | Add a signal declaration to GDScript. |
| add_shader_graph_nodeB | Add a node to a VisualShader graph. 40+ node types available (constants, math, textures, effects). |
| add_theme_typeC | Add a control type (font size/color) to a Theme. |
| add_tileset_sourceB | Add an atlas source (texture) to a TileSet. |
| add_translation_keyA | Append a translation key/row to an existing CSV. |
| attach_scriptC | Attach a script to a node. |
| capture_screenshotC | Capture screenshot of running game. |
| clone_nodeC | Deep-clone a node in a scene. |
| compile_shaderA | Compile (reimport) a .gdshader via Godot editor or local validation. |
| connect_shader_graph_nodesB | Connect two node ports in a VisualShader graph. |
| connect_signalC | Connect a signal between nodes. |
| create_animationB | Create Animation .tres resource. |
| create_atlas_textureC | Create AtlasTexture .tres. |
| create_audio_bus_layoutD | Create AudioBusLayout. |
| create_camera_attributesB | Create CameraAttributes (Practical or Physical) for 3D camera DOF and auto-exposure. |
| create_collision_polygonC | Create CollisionPolygon2D. |
| create_curveC | Create Curve .tres. |
| create_directoryC | Create a directory in project. |
| create_environmentC | Create Environment from preset. |
| create_gdextensionB | Create a .gdextension config file. |
| create_gradientC | Create Gradient .tres. |
| create_grid_mapC | Create a GridMap node for 3D tile-based level design. |
| create_image_textureA | Create an ImageTexture .tres pointing at an image file. |
| create_jointB | Create a physics joint. |
| create_mesh_primitiveA | Create 3D mesh resource: Box, Capsule, Cylinder, Plane, Sphere, Torus, etc. (11 types). |
| create_multimeshB | Create a MultiMesh .tres resource. |
| create_nav_linkB | Create a NavigationLink3D between two points. |
| create_nav_meshC | Create NavigationMesh .tres. |
| create_noise_textureC | Create NoiseTexture2D. |
| create_physics_materialC | Create PhysicsMaterial. |
| create_resourceC | Create a resource from template. |
| create_sceneC | Create a new scene from template. |
| create_scriptC | Create a new script from template. |
| create_shaderB | Create a new .gdshader from template. |
| create_shader_includeB | Create a .gdshaderinc file. |
| create_skyB | Create a Sky .tres with a procedural or panorama sky material. |
| create_spring_armA | Create a SpringArm3D for smooth camera follow. |
| create_sprite_framesC | Create a SpriteFrames .tres resource with named animations. |
| create_themeB | Create a Theme .tres resource. |
| create_tilesetB | Create a TileSet .tres resource. |
| create_translationC | Create translation CSV. |
| create_vehicle_bodyC | Create a VehicleBody3D with VehicleWheel nodes for car physics. |
| create_visual_shaderB | Create a new VisualShader .tres graph file. |
| create_worldC | Create World3D .tres. |
| create_world_environmentC | Create a .tscn with a WorldEnvironment node referencing an Environment. |
| delete_fileA | Delete a file with .bak backup. |
| diff_animationB | Compare two Animation .tres files. |
| diff_project_configA | Compare two config files (project.godot, .cfg, .import) ignoring whitespace and comments. |
| diff_resourceC | Compare two resource files. |
| diff_sceneC | Compare two scene files. |
| diff_scriptA | Compare two GDScript files line-by-line. |
| disconnect_shader_graph_nodesB | Disconnect two node ports in a VisualShader graph. |
| disconnect_signalD | Disconnect a signal. |
| duplicate_resourceB | Duplicate a .tres resource. |
| duplicate_sceneC | Duplicate a scene file. |
| edit_sceneC | Apply batch operations to a scene. |
| editor_add_autoloadC | Add an autoload singleton via editor API. |
| editor_add_input_actionC | Add an input action via editor API. |
| editor_add_nodeC | Add a node to the currently open scene in editor. |
| editor_attach_scriptB | Attach a script to a node in the editor. |
| editor_bake_lightmapsB | Trigger lightmap baking. |
| editor_bake_navigationA | Bake navigation meshes for all NavigationRegion nodes in current scene. |
| editor_clear_errorsA | Clear the editor error list. |
| editor_connect_signalB | Connect a signal between nodes in the editor. |
| editor_copyA | Copy selected nodes to the editor clipboard. |
| editor_create_cameraA | Create a Camera3D node in the open scene. |
| editor_create_csg_boxA | Create a CSGBox3D node in the open scene. |
| editor_create_csg_cylinderB | Create a CSGCylinder3D node in the open scene. |
| editor_create_csg_mergeA | Create a CSGCombiner3D node in the open scene. |
| editor_create_csg_polygonB | Create a CSGPolygon3D node in the open scene. |
| editor_create_csg_sphereA | Create a CSGSphere3D node in the open scene. |
| editor_create_folderB | Create a directory in the project via editor filesystem. |
| editor_create_gpu_particlesA | Create a GPUParticles3D node in the open scene. |
| editor_create_mesh_instanceB | Create a MeshInstance3D node in the open scene. |
| editor_create_multiplayer_spawnerA | Create a MultiplayerSpawner3D node in the open scene. |
| editor_create_multiplayer_synchronizerB | Create a MultiplayerSynchronizer3D node in the open scene. |
| editor_create_sceneB | Create and open a new scene in the editor. |
| editor_create_scriptB | Create and open a new GDScript in the editor. |
| editor_cutA | Cut selected nodes to the editor clipboard (with undo). |
| editor_debug_breakB | Stop execution (break) in debugger. |
| editor_debug_continueB | Resume execution in debugger. |
| editor_debug_stepB | Step into next line in debugger. |
| editor_debug_step_overA | Step over current line in debugger. |
| editor_delete_assetC | Delete a file or folder via editor. |
| editor_delete_selectedA | Delete currently selected nodes. |
| editor_disable_pluginB | Disable a named editor plugin. |
| editor_disconnect_signalC | Disconnect a signal between nodes. |
| editor_duplicate_assetC | Duplicate a file via editor filesystem. |
| editor_duplicate_nodeB | Duplicate a node with children, scripts, and signals. |
| editor_enable_pluginB | Enable a named editor plugin. |
| editor_evaluate_expressionA | Evaluate a GDScript expression in debugger/editor context. |
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/yanhuifair/Godot-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server