MCP Hub
Back to servers

GodotLens

15 semantic GDScript analysis tools via Godot's built-in LSP: navigation, references, rename.

Registrynpm195/wk
Forks
1
Updated
Apr 8, 2026

Quick Install

npx -y godotlens-mcp

GodotLens: AI-First Code Analysis for GDScript

GitHub Release npm PyPI License: MIT

An MCP server providing 15 semantic analysis tools for GDScript, powered by Godot's built-in Language Server.

Built for AI Agents

AI coding agents work with text files but lack semantic understanding of GDScript. When an agent uses grep to find usages of a function, it cannot distinguish a function call from a comment containing the same name, a signal declaration from a signal emission, or an overridden method from an unrelated function.

GodotLens bridges this gap by exposing Godot's built-in Language Server through the Model Context Protocol (MCP), giving AI agents compiler-accurate code intelligence for GDScript — go to definition, find references, diagnostics, rename, and more.

Example: Finding all usages of _on_player_hit:

ApproachResult
grep "_on_player_hit"12 matches including comments, strings, and similarly named functions
gdscript_referencesExactly 4 call sites where _on_player_hit is invoked

Prerequisites

  • Godot 4.x editor must be running with your project open — Godot's LSP server starts automatically when the editor opens a project
  • Python 3.10+ (for pip install) or Node.js 16+ (for npx)

Quick Start

Option A: npx (recommended for MCP clients)

Add to your MCP configuration (e.g., .mcp.json for Claude Code):

{
  "mcpServers": {
    "godotlens": {
      "command": "npx",
      "args": ["-y", "godotlens-mcp"]
    }
  }
}

The npm package bundles the full server (~20 KB of Python). Zero external Python dependencies.

Option B: pip

pip install godotlens-mcp
{
  "mcpServers": {
    "godotlens": {
      "command": "godotlens-mcp"
    }
  }
}

Configuration

Environment VariableDefaultDescription
GODOT_LSP_HOST127.0.0.1Godot LSP server host
GODOT_LSP_PORT6005Godot LSP server port

Tools

Health

ToolDescription
gdscript_statusCheck if Godot LSP is connected

Navigation (6 tools)

ToolDescription
gdscript_definitionGo to definition of a symbol
gdscript_declarationGo to declaration of a symbol
gdscript_referencesFind all references to a symbol
gdscript_hoverGet hover information (type, docs) for a symbol
gdscript_symbolsList all symbols in a file
gdscript_signature_helpGet function signature at call site

Refactoring

ToolDescription
gdscript_renameRename a symbol across all files

Synchronization (3 tools)

ToolDescription
gdscript_sync_fileNotify LSP that a file changed, returns diagnostics
gdscript_sync_filesBatch sync multiple files
gdscript_delete_fileNotify LSP that a file was deleted

Batch Operations (3 tools)

ToolDescription
gdscript_symbols_batchGet symbols from multiple files
gdscript_definitions_batchGet definitions for multiple positions
gdscript_references_batchFind references for multiple positions

Diagnostics

ToolDescription
gdscript_diagnosticsGet errors/warnings for files

Architecture

┌──────────────┐         ┌────────────────────┐         ┌───────────────────┐
│   AI Agent   │  stdio  │  GodotLens (MCP)   │   TCP   │  Godot Editor     │
│ (Claude, etc)├────────►│  JSON-RPC 2.0      ├────────►│  Built-in LSP     │
│              │◄────────┤  Python 3.10+      │◄────────┤  Port 6005        │
└──────────────┘         └────────────────────┘         └───────────────────┘

GodotLens acts as a bridge between the AI agent and Godot's built-in Language Server. The AI agent communicates with GodotLens via MCP (JSON-RPC over stdio). GodotLens translates MCP tool calls into LSP requests and sends them to the Godot editor over TCP. Responses are compacted for efficient AI consumption.

Zero dependencies — the server uses only the Python standard library. The MCP and LSP protocols are implemented directly, keeping the server lightweight and self-contained.

Important: File Synchronization

Godot's LSP does not automatically detect file changes made outside the editor. When the AI agent modifies a .gd file, it should call gdscript_sync_file or gdscript_sync_files so the LSP re-analyzes the changed code. Without this, diagnostics and navigation results may be stale.

Recommended workflow:

  1. Use GodotLens tools to analyze code
  2. Write changes to files
  3. Call gdscript_sync_file to refresh LSP state
  4. Use GodotLens tools to verify changes

Coordinate System

All line and character parameters are 0-indexed, matching the LSP specification:

  • Line 0, Character 0 = first character of the file

License

MIT License — see LICENSE for details.

Reviews

No reviews yet

Sign in to write a review