Skip to main content
Glama

GodotLens: KI-gestützte Code-Analyse für GDScript

GitHub Release npm PyPI License: MIT

Ein MCP-Server, der 15 semantische Analysetools für GDScript bereitstellt, basierend auf dem integrierten Language Server von Godot.

Entwickelt für KI-Agenten

KI-Coding-Agenten arbeiten mit Textdateien, verfügen jedoch nicht über ein semantisches Verständnis von GDScript. Wenn ein Agent grep verwendet, um Verwendungen einer Funktion zu finden, kann er nicht zwischen einem Funktionsaufruf und einem Kommentar mit demselben Namen, einer Signaldeklaration und einer Signalemission oder einer überschriebenen Methode und einer unabhängigen Funktion unterscheiden.

GodotLens schließt diese Lücke, indem es den integrierten Language Server von Godot über das Model Context Protocol (MCP) zugänglich macht. Dies verleiht KI-Agenten compiler-genaue Code-Intelligenz für GDScript – wie „Gehe zu Definition“, „Referenzen finden“, Diagnosen, Umbenennungen und mehr.

Beispiel: Alle Verwendungen von _on_player_hit finden:

Ansatz

Ergebnis

grep "_on_player_hit"

12 Treffer, einschließlich Kommentaren, Strings und ähnlich benannten Funktionen

gdscript_references

Genau 4 Aufrufstellen, an denen _on_player_hit verwendet wird

Voraussetzungen

  • Der Godot 4.x-Editor muss ausgeführt werden und Ihr Projekt muss geöffnet sein – der LSP-Server von Godot startet automatisch, wenn der Editor ein Projekt öffnet.

  • Python 3.10+ (für die Installation via pip) oder Node.js 16+ (für npx).

Schnellstart

Option A: npx (empfohlen für MCP-Clients)

Fügen Sie dies Ihrer MCP-Konfiguration hinzu (z. B. .mcp.json für Claude Code):

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

Das npm-Paket bündelt den vollständigen Server (~20 KB Python). Keine externen Python-Abhängigkeiten.

Option B: pip

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

Konfiguration

Umgebungsvariable

Standardwert

Beschreibung

GODOT_LSP_HOST

127.0.0.1

Host des Godot LSP-Servers

GODOT_LSP_PORT

6005

Port des Godot LSP-Servers

Tools

Status

Tool

Beschreibung

gdscript_status

Überprüft die Verbindung zum Godot LSP. Verwenden Sie dies, um sicherzustellen, dass der Editor läuft, bevor Sie andere Tools nutzen.

Navigation (6 Tools)

Tool

Beschreibung

gdscript_definition

Navigiert dorthin, wo ein Symbol definiert ist. Gibt Dateipfad und Zeilennummer zurück.

gdscript_declaration

Navigiert zum Deklarationsort eines Symbols.

gdscript_references

Findet alle Referenzen auf ein Symbol im gesamten Projekt. Unverzichtbar für die Folgenabschätzung vor dem Refactoring.

gdscript_hover

Ruft Typinformationen und Dokumentation für ein Symbol ab. Hilfreich zum Verständnis von Typen und Rückgabewerten.

gdscript_symbols

Listet alle Symbole (Klassen, Funktionen, Variablen, Signale) in einer Datei auf. Hilfreich zur Erkundung der Dateistruktur.

gdscript_signature_help

Ruft Funktionssignatur und Parameterinformationen an einer Aufrufstelle ab.

Refactoring

Tool

Beschreibung

gdscript_rename

Benennt ein Symbol in allen Dateien um. Workflow: Referenzen prüfen, um Auswirkungen zu sehen, umbenennen, dann synchronisieren.

Synchronisation (3 Tools)

Tool

Beschreibung

gdscript_sync_file

Synchronisiert eine geänderte Datei mit dem LSP und ruft aktualisierte Diagnosen ab. Nach dem Bearbeiten von .gd-Dateien aufrufen.

gdscript_sync_files

Batch-Synchronisation mehrerer geänderter Dateien. Effizienter als die individuelle Synchronisation.

gdscript_delete_file

Benachrichtigt den LSP, dass eine Datei gelöscht wurde. Bereinigt veraltete Diagnosen.

Batch-Operationen (3 Tools)

Tool

Beschreibung

gdscript_symbols_batch

Ruft Symbole aus mehreren Dateien in einem Aufruf ab.

gdscript_definitions_batch

Ruft Definitionen für mehrere Positionen in einem Aufruf ab.

gdscript_references_batch

Findet Referenzen für mehrere Symbole in einem Aufruf. Verwenden Sie dies für eine umfassende Folgenabschätzung.

Diagnosen

Tool

Beschreibung

gdscript_diagnostics

Ruft Compiler-Fehler und Warnungen ab. Workflow: bearbeiten, synchronisieren, dann Diagnosen zur Überprüfung abrufen.

Architektur

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

GodotLens fungiert als Brücke zwischen dem KI-Agenten und dem integrierten Language Server von Godot. Der KI-Agent kommuniziert mit GodotLens über MCP (JSON-RPC über stdio). GodotLens übersetzt MCP-Tool-Aufrufe in LSP-Anfragen und sendet diese über TCP an den Godot-Editor. Antworten werden für eine effiziente KI-Verarbeitung komprimiert.

Keine Abhängigkeiten – der Server verwendet ausschließlich die Python-Standardbibliothek. Die MCP- und LSP-Protokolle sind direkt implementiert, was den Server leicht und in sich geschlossen hält.

Wichtig: Dateisynchronisation

Der LSP von Godot erkennt Dateiänderungen, die außerhalb des Editors vorgenommen wurden, nicht automatisch. Wenn der KI-Agent eine .gd-Datei ändert, sollte er gdscript_sync_file oder gdscript_sync_files aufrufen, damit der LSP den geänderten Code neu analysiert. Ohne diesen Schritt können Diagnosen und Navigationsergebnisse veraltet sein.

Empfohlener Workflow:

  1. GodotLens-Tools zur Code-Analyse verwenden

  2. Änderungen in Dateien schreiben

  3. gdscript_sync_file aufrufen, um den LSP-Status zu aktualisieren

  4. GodotLens-Tools zur Überprüfung der Änderungen verwenden

Koordinatensystem

Alle Zeilen- und Zeichenparameter sind 0-indiziert, entsprechend der LSP-Spezifikation:

  • Zeile 0, Zeichen 0 = erstes Zeichen der Datei

Lizenz

MIT-Lizenz – siehe LICENSE für Details.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pzalutski-pixel/godotlens-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server