An LM Studio plugin (TypeScript) that lets the model drive the Godot game engine and look up the official Godot documentation while it works.
This is a native LM Studio Plugin, not a standalone MCP server. Tools are exposed
directly to the model through @lmstudio/sdk, and per-chat settings are rendered
automatically by LM Studio from a config schema.
| Tool | Description |
|---|---|
launch_editor | Launch the Godot editor for a project directory. |
run_project | Run a project in debug (headless) mode and capture output. |
get_debug_output | Return captured stdout/stderr of the running project. |
stop_project | Stop the running project and return its final output. |
get_godot_version | Return the resolved Godot executable version. |
list_projects | Find Godot projects inside a directory. |
get_project_info | Project metadata: name, path, version, file-type breakdown. |
create_scene | Create a new scene with a root node type. |
add_node | Add a node to an existing scene. |
load_sprite | Load a texture into a Sprite2D / Sprite3D / TextureRect. |
export_mesh_library | Export a 3D scene as a MeshLibrary .res. |
save_scene | Save a scene, optionally writing a variant. |
get_uid | Get the UID for a file (Godot 4.4+). |
update_project_uids | Refresh UID references across a project (Godot 4.4+). |
Error handling: The engine tools validate paths, class names and scene existence before calling Godot. When the Godot executable cannot be launched (for example it is not installed, or the path is wrong), they return a clear
Error: Failed to spawn Godot executable "<path>": <ENOENT|EACCES|EPERM>message instead of silently reporting success. Set thegodotPathsetting or theGODOT_PATHenvironment variable, or install Godot Engine.
| Tool | Description |
|---|---|
search_godot_docs | Search the official Godot docs and return matching pages (title, URL). |
fetch_godot_docs | Fetch and return the readable text of a single docs page. |
The docs search page renders results with client-side JavaScript only, so this plugin queries the underlying Sphinx search index (
searchindex.js) directly on the server side ā no browser required. Results are cached per-doc-version.
Rendered automatically by LM Studio. All are optional and have sane defaults.
| Key | Type | Default | Description |
|---|---|---|---|
docsMaxResults | numeric | 5 | Max results from the docs search tool. |
docsMaxChars | numeric | 20000 | Max characters returned by the docs fetch tool. |
docsVersion | select | stable | Docs version to query (stable/beta/4.3/4.4/5.0). |
godotPath | string | (empty) | Explicit Godot executable path (overrides GODOT_PATH). |
toolsEnabled | boolean | true | Toggle the engine-control tools. Docs tools are always available. |
GODOT_PATH environment variable / godotPath setting. If the executable is
missing or cannot be launched, the engine tools report a clear
Failed to spawn Godot executable ... <ENOENT|EACCES|EPERM> error instead of
silently succeeding.Then in LM Studio: open the plugin list ā enable godot-mcp ā open a model that supports tool calling ā confirm the tools are listed and callable.
lms(the LM Studio CLI) is required forlms dev/lms push. Build, typecheck and lint run locally without it.
This project is ported from the original godot-mcp, created by Solomon Elias (Coding-Solo). We are grateful for the original work that made this LM Studio Plugin possible. The MIT License of the original repository also applies to the ported material ā see LICENSE.
MIT ā see LICENSE.
An LM Studio plugin (TypeScript) that lets the model drive the Godot game engine and look up the official Godot documentation while it works.
This is a native LM Studio Plugin, not a standalone MCP server. Tools are exposed
directly to the model through @lmstudio/sdk, and per-chat settings are rendered
automatically by LM Studio from a config schema.
| Tool | Description |
|---|---|
launch_editor | Launch the Godot editor for a project directory. |
run_project | Run a project in debug (headless) mode and capture output. |
get_debug_output | Return captured stdout/stderr of the running project. |
stop_project | Stop the running project and return its final output. |
get_godot_version | Return the resolved Godot executable version. |
list_projects | Find Godot projects inside a directory. |
get_project_info | Project metadata: name, path, version, file-type breakdown. |
create_scene | Create a new scene with a root node type. |
add_node | Add a node to an existing scene. |
load_sprite | Load a texture into a Sprite2D / Sprite3D / TextureRect. |
export_mesh_library | Export a 3D scene as a MeshLibrary .res. |
save_scene | Save a scene, optionally writing a variant. |
get_uid | Get the UID for a file (Godot 4.4+). |
update_project_uids | Refresh UID references across a project (Godot 4.4+). |
Error handling: The engine tools validate paths, class names and scene existence before calling Godot. When the Godot executable cannot be launched (for example it is not installed, or the path is wrong), they return a clear
Error: Failed to spawn Godot executable "<path>": <ENOENT|EACCES|EPERM>message instead of silently reporting success. Set thegodotPathsetting or theGODOT_PATHenvironment variable, or install Godot Engine.
| Tool | Description |
|---|---|
search_godot_docs | Search the official Godot docs and return matching pages (title, URL). |
fetch_godot_docs | Fetch and return the readable text of a single docs page. |
The docs search page renders results with client-side JavaScript only, so this plugin queries the underlying Sphinx search index (
searchindex.js) directly on the server side ā no browser required. Results are cached per-doc-version.
Rendered automatically by LM Studio. All are optional and have sane defaults.
| Key | Type | Default | Description |
|---|---|---|---|
docsMaxResults | numeric | 5 | Max results from the docs search tool. |
docsMaxChars | numeric | 20000 | Max characters returned by the docs fetch tool. |
docsVersion | select | stable | Docs version to query (stable/beta/4.3/4.4/5.0). |
godotPath | string | (empty) | Explicit Godot executable path (overrides GODOT_PATH). |
toolsEnabled | boolean | true | Toggle the engine-control tools. Docs tools are always available. |
GODOT_PATH environment variable / godotPath setting. If the executable is
missing or cannot be launched, the engine tools report a clear
Failed to spawn Godot executable ... <ENOENT|EACCES|EPERM> error instead of
silently succeeding.Then in LM Studio: open the plugin list ā enable godot-mcp ā open a model that supports tool calling ā confirm the tools are listed and callable.
lms(the LM Studio CLI) is required forlms dev/lms push. Build, typecheck and lint run locally without it.
This project is ported from the original godot-mcp, created by Solomon Elias (Coding-Solo). We are grateful for the original work that made this LM Studio Plugin possible. The MIT License of the original repository also applies to the ported material ā see LICENSE.
MIT ā see LICENSE.
npm install
npm run typecheck # tsc --noEmit
npm run lint # eslint src
npm run build # tsc ā dist/ + copy godot_operations.gd into dist/scripts
lms dev # build, load into LM Studio, watch & reload on change
npm run typecheck
npm run lint
npm run build
lms push # add --private for a private artifact
src/
āāā index.ts # Plugin entry: exports toolsProvider + configSchematics
āāā toolsProvider.ts # @lmstudio/sdk tool() definitions (16 tools)
āāā config.ts # createConfigSchematics() per-chat schema
āāā core/
āāā godotCore.ts # Godot detection, validation, GDScript operation runner
āāā godotDocs.ts # Docs search (searchindex.js) + page content fetch
dist/ # Compiled output loaded by LM Studio
scripts/build.mjs # Copies scripts/godot_operations.gd next to dist/
npm install
npm run typecheck # tsc --noEmit
npm run lint # eslint src
npm run build # tsc ā dist/ + copy godot_operations.gd into dist/scripts
lms dev # build, load into LM Studio, watch & reload on change
npm run typecheck
npm run lint
npm run build
lms push # add --private for a private artifact
src/
āāā index.ts # Plugin entry: exports toolsProvider + configSchematics
āāā toolsProvider.ts # @lmstudio/sdk tool() definitions (16 tools)
āāā config.ts # createConfigSchematics() per-chat schema
āāā core/
āāā godotCore.ts # Godot detection, validation, GDScript operation runner
āāā godotDocs.ts # Docs search (searchindex.js) + page content fetch
dist/ # Compiled output loaded by LM Studio
scripts/build.mjs # Copies scripts/godot_operations.gd next to dist/