lentera-godot-mcp
Provides tools for automating interactions with Godot Engine 4.x, enabling AI agents to manipulate scenes, inspect and modify nodes, run GDScript, manage assets and animations, simulate user input, edit physics and tilemaps, and control project and editor settings.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lentera-godot-mcp Create a new scene and add a player node"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
# Lentera Godot MCP Server
Custom Model Context Protocol (MCP) Server yang dirancang khusus untuk mengotomatisasi interaksi langsung, manipulasi scene, inspeksi node, injeksi GDScript, dan pengujian runtime pada Godot Engine 4.x untuk proyek Lentera Pudar.
Arsitektur Sistem
Server ini menghubungkan AI Agent ke Godot Editor secara real-time melalui WebSocket Bridge:
AI Agent / Antigravity <--> (Stdio / MCP Protocol) <--> Lentera Godot MCP Server (TypeScript)
Lentera Godot MCP Server <--> (WebSocket ws://127.0.0.1:8098) <--> Godot Editor Plugin (lentera_bridge)
Godot Editor Plugin <--> (Godot Engine API / ClassDB) <--> Godot 4 Editor Runtime
Related MCP server: godot-devtool
Fitur & Kategori Tool
Server ini menyediakan lebih dari 50 tools otomasi tingkat tinggi yang dibagi ke dalam beberapa modul:
Modul | File Handler (src/tools/) | Deskripsi Kemampuan |
Scene & Node | scene.ts, | |
ode.ts | Membuat, membuka, menyimpan, menutup scene (.tscn), menambah node, reparenting, modifikasi properti, dan inspeksi hierarki. | |
Scripting | script.ts | Attach/detach script GDScript, eksekusi skrip dinamis via |
un_gdscript, dan validasi sintaks GDScript. | ||
Assets & Animation | ssets.ts, nimation.ts | Import spritesheet, inspeksi resource, pembuatan AnimationLibrary, manipulasi keyframe dan track animasi. |
Visual & UI | isual.ts, input.ts | Manajemen tema, komponen UI, simulasi klik mouse, keyboard input, dan capture screenshot editor. |
Physics & TileMap | physics.ts, ilemap.ts | Inspeksi collision matrix, manipulasi cell TileMap, dan query layer fisika 2D. |
Project & Editor | project.ts, editor.ts, utoload.ts | Konfigurasi project.godot, autoload singletons (GameEvents.gd), dan kontrol eksekusi playtest ( |
un_project). |
Cara Instalasi & Menjalankan
1. Build Server MCP
Pastikan Anda memiliki Node.js (v18+) terinstal:
ash npm install npm run build
2. Pasang Plugin ke Proyek Godot
Salin folder godot-plugin/ ke dalam proyek Godot Anda di direktori ddons/lentera_bridge/:
res://addons/lentera_bridge/ ├── plugin.cfg ├── plugin.gd └── bridge_client.gd
Buka Project -> Project Settings -> Plugins di Godot dan aktifkan plugin Lentera Godot Bridge.
3. Konfigurasi di Antigravity IDE (mcp_config.json)
json { mcpServers: { lentera-godot: { command: node, args: [D:/GodotProjects/lentera-godot-mcp/build/index.js] } } }
Lisensi
Dibuat secara kustom untuk ekosistem game Lentera Pudar.
Available Tools
63 toolsadd_animationC
Add an animation to a library.
Inputs: name (required), length (required), library_path (required).
add_autoloadB
Add a new autoload (singleton).
Inputs: name (required), path (required).
add_nodeC
Add a new node to the scene.
Inputs: type (required), name, parent.
add_trackC
Add a track to an animation.
Inputs: anim_name (required), track_path (required), track_type (required), library_path (required).
attach_projectA
Attach to an already running Godot Editor.
Inputs: no named parameters.
attach_scriptC
Attach a script to a node.
Inputs: node_path (required), script_path (required).
clear_tilemap_cellC
Clear a cell in a TileMapLayer.
Inputs: pos (required), node_path (required).
close_sceneC
Close the current scene.
Inputs: save.
connect_signalD
Connect a signal to a method.
Inputs: method (required), signal (required), source_path (required), target_path (required).
create_animation_libraryC
Create a new AnimationLibrary.
Inputs: path (required).
create_sceneC
Create a new scene.
Inputs: name, root_type.
delete_nodeC
Delete a node from the scene.
Inputs: path (required).
detach_projectC
Detach from the Godot Editor.
Inputs: no named parameters.
detach_scriptC
Detach a script from a node.
Inputs: node_path (required).
disconnect_signalD
Disconnect a signal.
Inputs: method (required), signal (required), source_path (required), target_path (required).
duplicate_nodeD
Duplicate a node.
Inputs: path (required).
emit_signalB
Emit a signal on a node (runtime only).
Inputs: signal (required), node_path (required), args.
export_projectC
Export the project via preset.
Inputs: preset (required), output_path (required).
fill_tilemap_regionC
Fill a region in a TileMapLayer with a specific tile.
Inputs: end_pos (required), node_path (required), source_id (required), start_pos (required), +1 more.
focus_editor_windowA
Bring Godot editor window to front.
Inputs: no named parameters.
get_animation_infoC
Get info about an animation.
Inputs: anim_name (required), library_path (required).
get_collision_matrixC
Get the physics layer collision matrix.
Inputs: no named parameters.
get_debug_outputA
Get recent debug output from the Godot Editor.
Inputs: no named parameters.
get_editor_statusA
Get the current status of the Godot Editor connection.
Inputs: no named parameters.
get_node_propertiesC
Get properties of a node.
Inputs: path (required).
get_node_signalsB
Get available signals of a node type.
Inputs: type (required).
get_physics_layersA
Get named 2D physics layers from project settings.
Inputs: no named parameters.
get_project_settingsC
Get Godot project settings.
Inputs: prefix.
get_resource_infoC
Get info about a Godot resource.
Inputs: path (required).
get_scene_dependenciesC
Get external dependencies of a scene file.
Inputs: path (required).
get_scene_treeA
Get the node tree of the current scene.
Inputs: no named parameters.
get_tilemap_infoC
Get info about a TileMapLayer.
Inputs: node_path (required).
get_ui_elementsA
Get UI elements visible in the running project.
Inputs: no named parameters.
import_spriteC
Import a sprite into the project.
Inputs: source_path (required), target_path (required).
launch_editorB
Launch the Godot Editor.
Inputs: no named parameters.
list_autoloadsA
List all configured autoloads.
Inputs: no named parameters.
list_project_filesC
List files in the Godot project.
Inputs: dir_path.
list_signalsC
List signals of a node.
Inputs: node_path (required).
move_nodeC
Move a node within its parent.
Inputs: path (required), index (required).
open_sceneC
Open a scene file.
Inputs: path (required).
reimport_assetC
Reimport a project asset.
Inputs: path (required).
reload_autoloadC
Reload an autoload at runtime.
Inputs: name (required).
remove_autoloadC
Remove an autoload.
Inputs: name (required).
rename_nodeC
Rename a node.
Inputs: path (required), new_name (required).
reparent_nodeC
Reparent a node to a new parent.
Inputs: path (required), new_parent (required).
run_gdscriptC
Run an arbitrary GDScript snippet.
Inputs: script (required).
run_projectB
Run the Godot project.
Inputs: no named parameters.
save_sceneC
Save the current scene.
Inputs: path.
search_projectC
Search for files in the Godot project.
Inputs: query (required).
set_animation_loopC
Set the loop mode of an animation.
Inputs: anim_name (required), loop_mode (required), library_path (required).
set_keyframeC
Set a keyframe on a track.
Inputs: time (required), value (required), anim_name (required), track_idx (required), +1 more.
set_node_propertiesC
Set properties of a node.
Inputs: path (required), properties (required).
set_project_settingC
Set a Godot project setting.
Inputs: value (required), setting (required).
set_tilemap_cellC
Set a cell in a TileMapLayer.
Inputs: pos (required), node_path (required), source_id (required), atlas_coords (required).
simulate_clickC
Simulate a mouse click in the running project.
Inputs: x (required), y (required), button.
simulate_keyboardC
Simulate keyboard input in the running project.
Inputs: keycode (required), pressed (required).
simulate_mouse_moveC
Simulate mouse movement in the running project.
Inputs: x (required), y (required).
stop_projectA
Stop the running Godot project.
Inputs: no named parameters.
take_screenshotA
Capture the Godot editor window as an image.
Inputs: no named parameters.
update_autoloadC
Update an existing autoload path.
Inputs: name (required), path (required).
validate_collision_setupA
Validate the project's physics layers against Lentera Pudar requirements (world, player, enemy, attack_hitbox, hurtbox, interactable).
Inputs: no named parameters.
validate_gdscriptA
Validate a GDScript file without running it.
Inputs: path (required).
zoom_editorC
Zoom the Godot 2D editor.
Inputs: zoom_level (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 63 tools
Most tools have clearly distinct purposes, but get_node_signals and list_signals both deal with node signals and could be confused. Some clustering around physics layers and signal handling creates minor overlap, though descriptions mostly clarify.
All tool names follow a consistent snake_case verb_noun pattern, such as launch_editor, create_scene, add_node, set_keyframe, and validate_collision_setup. The naming convention is uniformly applied across the entire set.
With 63 tools, the server is far beyond what is typical for an MCP server, even for a comprehensive Godot integration. The sheer number is overwhelming and exceeds the calibration threshold of 50+ for extreme mismatch.
The toolset covers a broad range of Godot operations: editor lifecycle, scene editing, nodes, scripts, assets, animations, tilemaps, signals, autoloads, project settings, running/testing, and physics layers. Minor gaps exist, such as lack of delete/update operations for animations and some overlap in physics layer utilities, but the core workflows are well-covered.
Related MCP Connectors
Make games with AI: one MCP server that connects your agent to Unity, Unreal and Godot editors.
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to directly run, inspect, modify, and debug Godot game development projects through 110+ tools covering scenes, scripts, resources, runtime debugging, and asset management.3321 npm3MIT
- AlicenseAqualityFmaintenanceA Godot 4 MCP server for AI-assisted project inspection, editing, validation, and runtime automation via stdio and optional WebSocket bridge.389MIT
- AlicenseNot gradedqualityBmaintenanceA TypeScript MCP server bridging MCP clients to Godot 4 editor, enabling scene, node, script editing and more via WebSocket.194 npmMIT
- AlicenseBqualityDmaintenanceExtended MCP server for Godot engine with RTS agentic testing, scene/script introspection and mutation, and live game screenshot capture.29MIT