Tools
Die Godot-MCP-Tools für KI-Agenten im Godot-Editor: RQL für Nodes, Szenen und Ressourcen, C#- und GDScript-Skripte, Screenshots, In-Game-Tools.
Godot MCP enthält 24 integrierte Tools in 9 Familien. Die meiste Editor-Arbeit läuft über drei RQL-Tools, sodass der Agent eine einzige Abfragesprache für Nodes, Szenen, Ressourcen, Dateien und Editor-Zustand nutzt statt Dutzender einzelner Tools. Diese Seite erklärt jede Familie und wann der Agent sie verwendet. Die durchsuchbare Liste mit Parametern und Beispiel-Prompts ist der Godot-Tools-Katalog.
Tool-Familien
| Familie | Tools | Wofür es gedacht ist |
|---|---|---|
| rql | rql-query, rql-mutate, rql-schema | Den laufenden Editor lesen und ändern: Nodes, Godot-Properties, Szenen, Ressourcen, Dateien, Projekteinstellungen, Input Map, Autoloads, Gruppen, Signale und Editor-Zustand. |
| script | script-read, script-create, script-update, script-delete, script-attach-to-node, script-validate, script-build, script-execute | C#- und GDScript-Dateien, Skripte anhängen, GDScript validieren, das C#-Projekt bauen und C# im Editor ausführen. |
| screenshot | screenshot-viewport, screenshot-camera, screenshot-isolated | PNG-Bilder des Editor-Viewports, einer Kamera oder eines einzeln gerenderten Nodes. |
| console | console-get-logs, console-clear-logs | Logs eines laufenden Spiels. Im Editor die RQL-Quelle console. |
| reflection | reflection-method-find, reflection-method-call | C#-Methoden in einem laufenden Spiel finden und aufrufen. Im Editor RQL call. |
| runtime-errors | runtime-errors-get, runtime-errors-clear | Fehler, die in einem laufenden Spiel auftreten. Standardmäßig deaktiviert. |
| ping | ping | Bereitschaftsprüfung. Ein System-Tool, das Agenten nicht angezeigt wird. |
| skills | godot-skill-create, godot-skill-generate | Eine neue Tool-Datei schreiben, Skill-Dateien neu generieren. System-Tools. |
| session | session-close | Einen Editor speichern und beenden, den godot-cli gestartet hat. System-Tool. |
System-Tools werden über die Route /api/system-tools/ des Servers erreicht (zum Beispiel mit godot-cli run-system-tool ping) und werden KI-Agenten nicht aufgelistet. Die Familien console, reflection und runtime-errors bedienen ein laufendes Spiel, das du selbst verbunden hast; siehe Eigene Tools.
RQL: eine Abfragesprache für den Editor
RQL (Reflection Query Language) ist die Datenschicht der Editor-Tools. Eine Abfrage startet bei einer Quelle, filtert und formt sie mit durch | getrennten Stufen und endet in rql-mutate mit set oder call. Einige Beispiele, die der Agent senden könnte:
nodes | where class == "OmniLight3D" | select name props["light_energy"]
nodes | where name starts-with "Enemy" | set Visible = false
root | call AddChild("Node3D", "Props")
project | call AddInputAction("jump", ["Key:Space"])
files | sort size desc | first 5 | select path size importedSize
editor | call SaveScene()rql-queryist schreibgeschützt und liefert kompakte Zeilen.rql-mutateändert Dinge. Jedes Ziel und jeder Wert wird zuerst geprüft, sodass eine fehlschlagende Abfrage nichts ändert.dry_runzeigt die Änderung als Vorschau. Jeder Aufruf ist ein Undo-Schritt (Strg+Z im Editor).rql-schemalistet die Quellen, Funktionen und Node-Klassen in der bearbeiteten Szene auf oder die Member, Methoden und Godot-Properties eines Typs. Mit einem Extension-Namen gibt es die Anleitung dieser Extension aus.
Zu den Quellen gehören nodes, root, selection, scenes, files, folders, classes, console, editor, project, settings, inputActions, autoloads, groups, layers und tools. Godot-Properties sind als C#-Member (Position, Visible) oder über ihren Godot-Namen in props["snake_name"] erreichbar, was auch GDScript-Variablen einschließt. RQL behandelt außerdem Signale, Gruppen, TileSets, Themes, ShaderMaterial-Parameter und MeshLibraries.
Editor-Aufrufe decken Szenen- und Dateiarbeit ab: NewScene, OpenScene, SaveScene, SaveAllScenes, ReloadScene, CreateResource, MoveResource, DeleteResource, CreateFolder, DeleteFolder, Reimport, Undo, Redo, PlayScene und StopScene. Die Quelle gameLog liest, was ein im Editor gestartetes Spiel ausgegeben hat.
Szenenänderungen markieren die Szene als ungespeichert, genau wie deine eigenen Änderungen. Bearbeitete Ressourcendateien und project.godot werden sofort gespeichert.
Skripte: C# und GDScript
script-read,script-create,script-update,script-deletearbeiten mit.cs- und.gd-Dateien.script-attach-to-nodehängt ein Skript an einen Node an.script-validateliefert Parse- und Kompilierdiagnosen für GDScript-Dateien; ohne Pfad prüft es jede.gd-Datei unterres://.script-buildführtdotnet build(Debug) aus, damit neue C#-Skripte geladen werden. Godot lädt dann die C#-Assembly neu und das Addon verbindet sich erneut; das Buildergebnis (Warnungen oder Fehler) kommt nach dem Neuladen an.script-executekompiliert und führt C# im Editor mit Roslyn aus. Schreibe einfache Anweisungen; der letzte Ausdruck ist das Ergebnis. Es gibt den Wert und die Ausgabe des Codes zurück. Snippets laufen standardmäßig nach 30 Sekunden in einen Timeout (höchstens 4 Minuten), und eine Endlosschleife liefert einen Timeout-Fehler, statt den Editor einzufrieren.
Du kannst script-execute auch von einem Terminal aus aufrufen:
godot-cli exec 'EditorInterface.Singleton.GetEditedSceneRoot()?.Name' --path ./MyGodotProjectScreenshots
Die Screenshot-Tools liefern PNG-Bilder, die das Modell auswerten kann: screenshot-viewport erfasst den Editor-Viewport, screenshot-camera rendert aus einem Kamera-Node, und screenshot-isolated rendert einen einzelnen Node aus einem gewählten Winkel. Fordere nach visuellen Änderungen einen Screenshot an, damit der Agent seine eigene Arbeit prüfen kann.
In-Game-Tools
console-*, reflection-* und runtime-errors-* laufen in deinem Spiel, nicht im Editor. Ein Spiel stellt nichts bereit, bis dein Code sich aktiv anmeldet und verbindet; runtime-errors-get benötigt zusätzlich WithRuntimeErrorCapture(). Es erfasst GDScript-Laufzeitfehler, push_error und push_warning, Shader-Fehler (Godot 4.5 und neuer) sowie nicht behandelte C#-Ausnahmen, sodass ein Agent das Spiel ausführen und sehen kann, was tatsächlich kaputtgegangen ist. Einrichtung: Custom tools.
Auswählen, welche Tools der Agent sieht
Jedes Tool hat einen Visible-Schalter im Dock (MCP features, Tools, Open) und in godot-cli configure. Wenn du ein Tool ausblendest, wird es aus der Tool-Liste des Agenten entfernt, was Kontext spart, es aber nicht blockiert. Siehe Configuration.
Weitere Tools
- Extensions bringen RQL AnimationPlayer, CSG, GridMap, Navigation, Particles, TileMapLayer sowie die Addons Beehave, Dialogic, Phantom Camera und Terrain3D bei.
- Custom tools zeigt, wie du deine eigenen Tools in C# schreibst.
- Best practices for Godot enthält Prompt-Muster, die diese Tools gut nutzen.