Skip to main content
Glama

# 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 tools
add_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

    C2.7/5.0

    Scored across 63 tools

    Disambiguation4/5

    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.

    Naming Consistency5/5

    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.

    Tool Count1/5

    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.

    Completeness4/5

    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

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      An 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.
      33
      21 npm
      3
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      A TypeScript MCP server bridging MCP clients to Godot 4 editor, enabling scene, node, script editing and more via WebSocket.
      194 npm
      MIT