GodotLens
Connects Claude to Godot's built-in Language Server Protocol over TCP, exposing 15 semantic analysis tools for GDScript projects. You get compiler-accurate operations like go-to-definition, find-references, rename-symbol, and diagnostics instead of relying on grep or regex patterns that can't distinguish function calls from comments. The Godot editor must be running with your project open since it hosts the LSP server on port 6005. After Claude edits a .gd file, you'll need to call gdscript_sync_file to refresh the LSP state before querying diagnostics or navigation data. Useful when you want Claude to refactor GDScript code with full semantic awareness rather than text-based heuristics.
- GitHub stars
- 10
- tools
- 49
- transport
- STDIO
- env vars
- 11
- last updated
- Oct 17, 2026
Tools
49 toolsPublic tool metadata for what this MCP can expose to an agent.
gdscript_findLocate a declaration by name. Returns a position the tools below accept directly.
Locate a declaration by name. Returns a position the tools below accept directly.
No parameter schema in public metadata yet.
gdscript_definitionWhere a symbol is defined.
Where a symbol is defined.
No parameter schema in public metadata yet.
gdscript_referencesEvery reference project-wide. On 4.6+ this reparses every .gd file, so it is not cheap.
Every reference project-wide. On 4.6+ this reparses every .gd file, so it is not cheap.
No parameter schema in public metadata yet.
gdscript_references_in_fileOccurrences within one file. Much cheaper. Godot 4.7+.
Occurrences within one file. Much cheaper. Godot 4.7+.
No parameter schema in public metadata yet.
gdscript_hoverType information and documentation for a symbol.
Type information and documentation for a symbol.
No parameter schema in public metadata yet.
gdscript_symbolsThe symbol tree of a file.
The symbol tree of a file.
No parameter schema in public metadata yet.
gdscript_signature_helpParameter info at a call site.
Parameter info at a call site.
No parameter schema in public metadata yet.
gdscript_symbols_batchThe same, across many files or positions in one call.
The same, across many files or positions in one call.
No parameter schema in public metadata yet.
gdscript_definitions_batchThe same, across many files or positions in one call.
The same, across many files or positions in one call.
No parameter schema in public metadata yet.
gdscript_references_batchThe same, across many files or positions in one call.
The same, across many files or positions in one call.
No parameter schema in public metadata yet.
gdscript_engine_apiSignatures and docs for an engine class or member, from the exact build in use, including members inherited from parent classes.
Signatures and docs for an engine class or member, from the exact build in use, including members inherited from parent classes.
No parameter schema in public metadata yet.
gdscript_completeCompletions at a position, including real $NodePath entries and the signals actually on the owning node.
Completions at a position, including real $NodePath entries and the signals actually on the owning node.
No parameter schema in public metadata yet.
gdscript_validateCheck proposed content for errors without writing it to disk.
Check proposed content for errors without writing it to disk.
No parameter schema in public metadata yet.
gdscript_renameRename a symbol. Refuses when Godot will not rename it, and warns when the name also appears in scene files it cannot update.
Rename a symbol. Refuses when Godot will not rename it, and warns when the name also appears in scene files it cannot update.
No parameter schema in public metadata yet.
gdscript_sync_fileSync one modified file and return its diagnostics. Waits briefly for a new class_name the editor has not registered yet.
Sync one modified file and return its diagnostics. Waits briefly for a new class_name the editor has not registered yet.
No parameter schema in public metadata yet.
gdscript_sync_filesSync several at once.
Sync several at once.
No parameter schema in public metadata yet.
gdscript_release_fileRelease a file so the language server reads from disk again.
Release a file so the language server reads from disk again.
No parameter schema in public metadata yet.
gdscript_diagnosticsErrors and warnings for one or more files.
Errors and warnings for one or more files.
No parameter schema in public metadata yet.
gdscript_statusConnection check. Start here if anything behaves oddly.
Connection check. Start here if anything behaves oddly.
No parameter schema in public metadata yet.
project_configAutoload singletons, input action names, class_name globals, and the main scene, via ProjectSettings, with whether each file exists.
Autoload singletons, input action names, class_name globals, and the main scene, via ProjectSettings, with whether each file exists.
No parameter schema in public metadata yet.
project_validateReferences that no longer resolve after files move: scene and resource dependencies, autoload scripts, the main scene.
References that no longer resolve after files move: scene and resource dependencies, autoload scripts, the main scene.
No parameter schema in public metadata yet.
scene_stateNode tree, types, script attachments, unique_name_in_owner flags, exported values, and signal connections.
Node tree, types, script attachments, unique_name_in_owner flags, exported values, and signal connections.
No parameter schema in public metadata yet.
scene_validateWhat Godot gets silently wrong in a scene: dangling connections, missing signals, unknown node types, and similar errors and warnings.
What Godot gets silently wrong in a scene: dangling connections, missing signals, unknown node types, and similar errors and warnings.
No parameter schema in public metadata yet.
debug_runRun the project from the editor and return what it printed and every structured error.
Run the project from the editor and return what it printed and every structured error.
No parameter schema in public metadata yet.
debug_outputOutput from that game and structured errors with file, line and stack. Drained on each call.
Output from that game and structured errors with file, line and stack. Drained on each call.
No parameter schema in public metadata yet.
debug_set_breakpointsSet breakpoints in a file.
Set breakpoints in a file.
No parameter schema in public metadata yet.
debug_stack_traceThe call stack where execution is paused. Empty means not paused.
The call stack where execution is paused. Empty means not paused.
No parameter schema in public metadata yet.
debug_inspectVariables in a stack frame, by scope.
Variables in a stack frame, by scope.
No parameter schema in public metadata yet.
debug_evaluateEvaluate an expression at a breakpoint.
Evaluate an expression at a breakpoint.
No parameter schema in public metadata yet.
debug_continueExecution control.
Execution control.
No parameter schema in public metadata yet.
debug_pauseExecution control.
Execution control.
No parameter schema in public metadata yet.
debug_step_overExecution control.
Execution control.
No parameter schema in public metadata yet.
debug_terminateStop the running game.
Stop the running game.
No parameter schema in public metadata yet.
debug_statusAdapter connection and whether the game is running or paused.
Adapter connection and whether the game is running or paused.
No parameter schema in public metadata yet.
runtime_runLaunch the game, headless by default. Returns a session id and its first output and errors.
Launch the game, headless by default. Returns a session id and its first output and errors.
No parameter schema in public metadata yet.
runtime_outputWhat the game printed and every structured error it raised, with file, line and stack.
What the game printed and every structured error it raised, with file, line and stack.
No parameter schema in public metadata yet.
runtime_treeThe live scene tree, including nodes created at runtime.
The live scene tree, including nodes created at runtime.
No parameter schema in public metadata yet.
runtime_inspectCurrent property values of a node, script variables included.
Current property values of a node, script variables included.
No parameter schema in public metadata yet.
runtime_setChange a property and read it back; values are converted to the property's type.
Change a property and read it back; values are converted to the property's type.
No parameter schema in public metadata yet.
runtime_evalEvaluate an expression while the game runs, against the scene, autoloads, engine singletons and class_name globals.
Evaluate an expression while the game runs, against the scene, autoloads, engine singletons and class_name globals.
No parameter schema in public metadata yet.
runtime_inputPress an input action as a player would.
Press an input action as a player would.
No parameter schema in public metadata yet.
runtime_reloadHot-reload changed scripts, keeping state. Refuses scripts that do not compile.
Hot-reload changed scripts, keeping state. Refuses scripts that do not compile.
No parameter schema in public metadata yet.
runtime_screenshotWhat a windowed game is drawing, as an image.
What a windowed game is drawing, as an image.
No parameter schema in public metadata yet.
runtime_monitorsFPS, frame times, node and orphan counts, memory, custom monitors, with history.
FPS, frame times, node and orphan counts, memory, custom monitors, with history.
No parameter schema in public metadata yet.
runtime_pauseFreeze, slow down, or step a game.
Freeze, slow down, or step a game.
No parameter schema in public metadata yet.
runtime_time_scaleFreeze, slow down, or step a game.
Freeze, slow down, or step a game.
No parameter schema in public metadata yet.
runtime_stepFreeze, slow down, or step a game.
Freeze, slow down, or step a game.
No parameter schema in public metadata yet.
runtime_statusList and stop the games GodotLens is running.
List and stop the games GodotLens is running.
No parameter schema in public metadata yet.
runtime_stopList and stop the games GodotLens is running.
List and stop the games GodotLens is running.
No parameter schema in public metadata yet.
Sponsors
Configuration
GODOT_LSP_HOSTdefault: 127.0.0.1Godot language server host
GODOT_LSP_PORTdefault: 6005Godot language server port (the VS Code extension uses 6008)
GODOT_DAP_HOSTdefault: 127.0.0.1Godot debug adapter host
GODOT_DAP_PORTdefault: 6006Godot debug adapter port, used by the debug_* tools
GODOT_BINGodot executable, required by scene_*, project_config and runtime_*
GODOT_PROJECT_ROOTProject root; auto-detected by walking up for project.godot
GODOT_LSP_TIMEOUTdefault: 15Seconds to wait for a single LSP response
GODOT_DIAGNOSTICS_TIMEOUTdefault: 8Seconds to wait for diagnostics after a sync
GODOT_VERSIONOverride Godot capability detection
GODOT_FIND_FILE_LIMITdefault: 60Max files gdscript_find inspects across the project
GODOT_RUNTIME_MAX_SESSIONSdefault: 4Max games runtime_run keeps running at once
Readme
GodotLens: Godot's own view of your GDScript project
An MCP server that lets an AI agent ask Godot itself about your project — where a symbol is used, what a method's real signature is, whether an edit compiles, how a scene is wired — and run the game, look at it and drive it, so the agent can check that the game does what it meant without a person playing it.
Why
An agent editing GDScript from text alone is guessing. It cannot tell a call from a comment,
cannot know which methods exist on a CharacterBody2D in your Godot version, cannot see that
a signal handler is wired by name inside a .tscn, and cannot see what happened at runtime.
Details
- Repository
- github.com/pzalutski-pixel/godotlens-mcp
- Category
- Design & Creative
- Package
godotlens-mcp- Transport
- STDIO
- Registry
- MCP registry, active