get_project_infoLABSCO SUMMARY
It drives the editor, not the files — so edits land in undo history and the scene tree you can see.
The WebSocket link to the running editor is what separates this from file-rewriting approaches: changes go through Godot's own API and UndoRedo, and play_scene plus the runtime tools mean the assistant can run what it built and read the result. If your client caps tool counts, the lite and minimal modes exist for exactly that.
What it is
A Godot editor plugin plus a Node.js MCP server. The assistant talks to the running editor over a WebSocket, so it works against the live scene tree rather than parsing project files.
What you get
- Project tools — get_project_info, get_filesystem_tree, search_files, get_project_settings, set_project_setting, and UID/res:// conversion
- Scene tools — get_scene_tree, create_scene, open_scene, add_scene_instance, play_scene, stop_scene, save_scene
- Node tools — add_node, delete_node, duplicate_node, move_node, rename_node, update_property, get_node_properties, connect_signal, disconnect_signal, node groups, and editor selection
- Script tools — list_scripts, read_script, create_script, edit_script, attach_script, validate_script, get_open_scripts
- Editor, input, runtime, animation, TileMap, theme, shader, physics, 3D, particle, navigation, audio, AnimationTree, profiling, export and testing groups on top of that — the README counts 175 tools in the full set and lists 164 of them by name
- Four modes sized to your client's tool limit: full, 3D, lite and minimal
- A CLI that reaches the same editor over WebSocket, for clients with no MCP support or a tight tool budget
Requirements
Godot with the addons/godot_mcp plugin enabled, and Node to run the server. Note that this public repository ships only the free addon — the server/ directory is part of the paid package, sold as a one-time purchase on Buy Me a Coffee or itch.io. Configure the client with the path to server/build/index.js and GODOT_MCP_PORT set to 6505.
Setup effort
Follow the published steps — npm run build
USE CASES
Building out a scene without clicking
Add nodes with their type and properties, reparent them, and wire the signals between them.
Fixing a script and checking it compiles
Read the script, apply a search-and-replace edit, then validate the GDScript syntax before running.
Running the thing you just changed
Play the scene from the editor and stop it again, without leaving the conversation.
Working inside a client with a 100-tool limit
Start the server in lite mode for 84 tools, or minimal for 35, instead of failing to load.
164 tools
Listed in project docs. Your client may show a different list.
get_filesystem_treesearch_filesget_project_settingsset_project_settinguid_to_project_pathproject_path_to_uidget_scene_treeget_scene_file_contentcreate_sceneopen_scenedelete_sceneadd_scene_instanceplay_scenestop_scenesave_sceneadd_nodedelete_nodeduplicate_nodemove_nodeupdate_propertyget_node_propertiesadd_resourceset_anchor_presetrename_nodeconnect_signaldisconnect_signalget_node_groupsset_node_groupsfind_nodes_in_groupget_editor_selectionselect_nodesclear_editor_selectionlist_scriptsread_scriptcreate_scriptedit_scriptattach_scriptget_open_scriptsvalidate_scriptsearch_in_filesget_editor_errorsget_editor_screenshotget_game_screenshotexecute_editor_scriptclear_outputget_signalsreload_pluginreload_projectget_output_logsimulate_keysimulate_mouse_clicksimulate_mouse_movesimulate_actionsimulate_sequenceget_input_actionsset_input_actionget_game_scene_treeget_game_node_propertiesset_game_node_propertyexecute_game_scriptcapture_framesmonitor_propertiesstart_recordingstop_recordingreplay_recordingfind_nodes_by_scriptget_autoloadbatch_get_propertiesfind_ui_elementsclick_button_by_textwait_for_nodefind_nearby_nodesnavigate_tomove_tolist_animationscreate_animationadd_animation_trackset_animation_keyframeget_animation_inforemove_animationtilemap_set_celltilemap_fill_recttilemap_get_celltilemap_cleartilemap_get_infotilemap_get_used_cellscreate_themeset_theme_colorset_theme_constantset_theme_font_sizeset_theme_styleboxget_theme_infoget_performance_monitorsget_editor_performancefind_nodes_by_typefind_signal_connectionsbatch_set_propertyfind_node_referencesget_scene_dependenciescross_scene_set_propertyfind_script_referencesdetect_circular_dependenciescreate_shaderread_shaderedit_shaderassign_shader_materialset_shader_paramget_shader_paramslist_export_presetsexport_projectget_export_inforead_resourceedit_resourcecreate_resourceget_resource_previewadd_autoloadremove_autoloadsetup_physics_bodysetup_collisionset_physics_layersget_physics_layersget_collision_infoadd_raycastadd_mesh_instancesetup_camera_3dsetup_lightingsetup_environmentadd_gridmapset_material_3dcreate_particlesset_particle_materialset_particle_color_gradientapply_particle_presetget_particle_infosetup_navigation_regionsetup_navigation_agentbake_navigation_meshset_navigation_layersget_navigation_infoadd_audio_playeradd_audio_busadd_audio_bus_effectset_audio_busget_audio_bus_layoutget_audio_infocreate_animation_treeget_animation_tree_structureset_tree_parameteradd_state_machine_stateremove_state_machine_stateadd_state_machine_transitionremove_state_machine_transitionset_blend_tree_nodeanalyze_scene_complexityanalyze_signal_flowfind_unused_resourcesget_project_statisticsrun_test_scenarioassert_node_stateassert_screen_textcompare_screenshotsrun_stress_testget_test_reportBEFORE YOU INSTALL
What to know first
Tools you get
164 tools named in the project's documentation.
INSTALLATION
Connect your client
Server setup
1. Install the Godot Plugin
Copy the addons/godot_mcp/ folder into your Godot project's addons/ directory.
Enable the plugin: Project → Project Settings → Plugins → Godot MCP Pro → Enable
2. Install the MCP Server
The server/ directory is only included in the full paid package — download and extract the zip from https://y1uda.itch.io/godot-mcp-pro or https://buymeacoffee.com/y1uda/extras, then:
cd server
npm install
npm run buildMCP Clients
Claude Code
{
"mcpServers": {
"godot-mcp-pro": {
"command": "node",
"args": [
"<YOUR_PATH_TO_SERVER>/build/index.js"
],
"env": {
"GODOT_MCP_PORT": "6505"
}
}
}
}.mcp.json
Windsurf — lite, Junie — lite, Gemini CLI — lite
{
"mcpServers": {
"godot-mcp-pro": {
"command": "node",
"args": [
"<YOUR_PATH_TO_SERVER>/build/index.js",
"--lite"
]
}
}
}Antigravity — 3D
{
"mcpServers": {
"godot-mcp-pro": {
"command": "node",
"args": [
"<YOUR_PATH_TO_SERVER>/build/index.js",
"--3d"
]
}
}
}CLI (no MCP)
node <YOUR_PATH_TO_SERVER>/build/cli.js project info