Godot MCP server
io.github.tugcantopaloglu/godot-mcp·v1.0.0·466 starsMCP server for full Godot 4.x engine control with 165 tools for AI-driven game development
466 stars
Reviews
Write oneNobody has reviewed Godot MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Godot MCP tools (100, 20 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_nodeAdd a node to an existing scene
attach_scriptAttach a GDScript to a scene node (headless)
create_directorywrite actionCreate a directory inside a Godot project
create_projectwrite actionCreate a new Godot project from scratch
create_resourcewrite actionCreate a .tres resource file (headless)
create_scenewrite actionCreate a new Godot scene file
delete_filewrite actionDelete a file from a Godot project
export_mesh_libraryExport a scene as a MeshLibrary resource
export_projectExport a Godot project using a preset
game_add_collisionAdd a collision shape to a physics body node
game_audio_busSet volume, mute, or solo on an audio bus
game_audio_playPlay, stop, or pause an AudioStreamPlayer node
game_await_signalAwait a signal with timeout and return args
game_bone_poseGet or set bone poses on a Skeleton3D node
game_call_methodCall a method on any node in the running game with optional arguments
game_change_sceneSwitch to a different scene file in the running game
game_clickClick at a position in the running Godot game window
game_connect_signalConnect a signal from one node to a method on another node in the running game
game_create_animationwrite actionCreate an animation with tracks and keyframes
game_create_jointwrite actionCreate a physics joint between two bodies
game_create_timerwrite actionCreate a Timer node with configuration
game_debug_drawDraw debug lines, spheres, or boxes in 3D
game_disconnect_signalDisconnect a signal connection in the running game
game_emit_signalEmit a signal on a node in the running game, optionally with arguments
game_environmentGet or set environment and post-processing settings
game_evalwrite actionExecute GDScript in the running game. Use "return" for values.
game_find_nodes_by_classFind all nodes of a specific class type in the running game
game_gamepadwrite actionSend gamepad button or axis input event
game_get_audioGet audio bus layout and playing streams
game_get_cameraGet active camera position, rotation, and size
game_get_errorsGet new push_error/push_warning messages since last call
game_get_logsGet new print output from the running game since last call
game_get_node_infoGet node info: class, properties, signals, methods, children
game_get_nodes_in_groupGet all nodes belonging to a specific group in the running game
game_get_propertyGet a property value from any node in the running game by its path
game_get_scene_treeGet scene tree structure of the running game
game_get_uiGet visible UI elements from the running game
game_http_requestHTTP GET/POST/PUT/DELETE with headers and body
game_input_actionManage runtime InputMap actions and strength
game_input_stateQuery pressed keys, mouse position, connected pads
game_instantiate_sceneLoad a PackedScene and add it as a child of a node in the running game
game_key_holdHold a key down without auto-releasing
game_key_presswrite actionSend a key press or input action to the running game
game_key_releaseRelease a previously held key
game_list_signalsList all signals on a node with connections
game_manage_groupAdd or remove a node from a group, or list groups
game_mouse_dragDrag mouse between two points over N frames
game_mouse_moveMove the mouse in the running Godot game
game_multiplayerENet multiplayer create server/client/disconnect
game_navigate_pathQuery a navigation path between two points
game_os_infoGet platform, locale, screen, adapter, memory info
game_pausePause or unpause the running game
game_performanceGet performance metrics (FPS, memory, draw calls)
game_physics_bodyConfigure physics body properties (mass, velocity, etc.)
game_play_animationControl an AnimationPlayer node: play, stop, pause, or list animations
game_process_modeSet node process mode (pausable/always/disabled)
game_raycastCast a ray and return collision results
game_remove_nodewrite actionRemove and free a node from the running game's scene tree
game_reparent_nodeMove a node to a new parent in the running game's scene tree
game_rpcCall or configure RPC methods on nodes
game_screenshotScreenshot the running game (returns base64 PNG)
game_scriptAttach, detach, or get source of node scripts
game_scrollwrite actionSend mouse scroll wheel event at position
game_serialize_stateSave or load node tree state as JSON
game_set_cameraMove or rotate the active camera
game_set_particlesConfigure GPUParticles2D/3D node properties
game_set_propertySet a property on a node in the running game
game_set_shader_paramSet a shader parameter on a node's material
game_spawn_nodewrite actionCreate a new node of any type at runtime
game_tilemapGet or set cells in a TileMapLayer node
game_time_scaleGet/set Engine.time_scale and timing info
game_touchSimulate touch press/release/drag and gestures
game_tween_propertyTween a node property in the running game
game_ui_themeApply theme overrides to a Control node
game_viewportwrite actionCreate or configure a SubViewport node
game_waitWait N frames in the running game
game_websocketWebSocket client connect/disconnect/send messages
game_windowGet/set window size, fullscreen, title, position
get_debug_outputGet the current debug output and errors
get_godot_versionGet the installed Godot version
get_project_infoRetrieve metadata about a Godot project
get_uidGet the UID for a specific file in a Godot project (for Godot 4.4+)
launch_editorLaunch Godot editor for a specific project
list_project_filesList project files, optionally filtered by extension
list_projectsList Godot projects in a directory
load_spriteLoad a sprite into a Sprite2D node
manage_autoloadsAdd, remove, or list autoloads in a Godot project
manage_export_presetswrite actionCreate or modify export preset configuration
manage_input_mapAdd, remove, or list input actions and bindings
modify_project_settingsModify a project.godot setting
modify_scene_nodeModify node properties in a scene file (headless)
read_fileRead a text file from a Godot project
read_project_settingsRead project.godot as structured JSON
read_sceneRead scene file as JSON node tree (headless)
remove_scene_nodewrite actionRemove a node from a scene file (headless)
run_projectwrite actionRun the Godot project and capture output
save_sceneSave changes to a scene file
stop_projectStop the currently running Godot project
update_project_uidswrite actionUpdate UID references by resaving resources (4.4+)
write_filewrite actionCreate or overwrite a text file in a Godot project
Public scan report
scanner v0.1.10 · 2026-09-28 · same rubric, same numbers if you re-run it
- Code scan3 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 77 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Godot MCP compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 48,255 servers
- Tools
- 100
- the typical server has 7
- Tools that change things
- 20%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 466
- more than 95% of 28,688 servers
What its tools let an agent do: 75 read · 7 create · 14 change · 2 delete · 2 run or deploy
Install Godot MCP in Claude Code, Cursor or VS Code
Runs npx -y @tugcantopaloglu/godot-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add godot-mcp -- npx -y @tugcantopaloglu/godot-mcp
What the publisher says
From the Godot MCP repository's README, as published. We do not edit it. Read it on GitHub
Godot MCP - Full Control
A comprehensive Model Context Protocol (MCP) server that gives AI assistants full control over the Godot game engine. 157 tools spanning networking, 3D/2D rendering, UI controls, audio effects, animation trees, file I/O, runtime code execution, property inspection, scene manipulation, signal management, physics, project creation, and more.
Acknowledgments
This project is built upon and extends godot-mcp by Solomon Elias (Coding-Solo). The original project provided the foundational architecture including the TypeScript MCP server, headless GDScript operations system, and TCP-based runtime interaction server. Thank you for making this possible with your excellent open-source work!
What's New (Improvements Over Original)
The original godot-mcp provided 20 tools for basic project management and scene creation. This fork extends it to 157 tools with the following major additions:
New in 3.1
- validatescript autoload resolution - Script validation now compiles the target through a SceneTree at initialize() (after project autoloads are registered) instead of --check-only at _init(). References to autoload singletons no longer produce false Identifier not found errors, while real syntax/type errors are still caught. Verified building a full game whose scripts reference several autoloads.
- manageinputmap event merging - Adding a second key to an existing input action now merges it into that action's events array (with physical_keycode de-duplication) instead of writing a duplicate actionname= line, which previously left project.godot malformed and silently dropped earlier bindings.
New in 3.0
- .NET / C# support - Scaffold C# projects and generate C# scripts (createproject with dotnet: true, createcsharp_script); the .csproj SDK version is matched to your installed Godot.
- GDScript diagnostics - Validate scripts for syntax and type errors without running the game (validatescript, and validatescripts for all git-changed or project-wide files).
- Correctness and robustness fixes across the headless scene operations and the runtime interaction server (resource-typed properties now persist, reparenting works, runtime commands are correlated by request id, and the tools survive projects with warnings-as-errors). Requires Godot 4.4 or later; tested and working with the latest Godot 4.7.
Runtime Code Execution
- gameeval** - Execute arbitrary GDScript code in the running game with return values
- Full await support for async GDScript code
- Works even when the game is paused (PROCESSMODEALWAYS)
Runtime Node Inspection & Manipulation
- gamegetproperty / gamesetproperty - Read/write any property on any node by path
- gamecallmethod - Call any method on any node with arguments
- gamegetnodeinfo** - Full node introspection: properties, signals, methods, children
- gameinstantiatescene - Dynamically add scenes to the running game
- gameremovenode - Remove nodes at runtime
- gamechangescene - Switch scenes at runtime
- gamereparentnode - Move nodes between parents
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Godot MCP: common questions
- Is Godot MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Godot MCP safety report
- How do I install Godot MCP?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Godot MCP need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Godot MCP maintained?
- The last commit was 114 days ago (2026-07-13). The latest release is v1.0.0.
- How does Godot MCP compare with other MCP servers?
- safety score 88/100 (higher than 75% of 48,255 servers); tools 100 (the typical server has 7); tools that change things 20% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.