Discover, then drive
Ground on the live 4.7 API with the engine group, then act through typed or generic commands.
The commands deliberately do not hard-code the engine’s feature list. The design principle is version-agnostic access, introspection for discovery.
Introspection is the feature list
node.set / node.get, runtime.set / runtime.get, and editor.run_script / runtime.eval reflect whatever the running binary exposes. Any 4.7 (or later) feature surfaced as a property or a callable is reachable with no per-feature wrapper. The one remaining gap is discovery: an agent may not know a new feature’s name. That is what the engine group closes, by reading ClassDB from the live build.
# what members match a term, across every class?godot-mcp engine search --query navigation_layer
# the full API of one class, optionally filteredgodot-mcp engine class-info --class CharacterBody3D --filter velocity
# registered singletons and global class_name scriptsgodot-mcp engine singletonsgodot-mcp engine script-classesThen drive, generically or typed
With the name confirmed, act. There is usually a typed command, but the generic path always works:
# generic: works on any property the live node exposesgodot-mcp node set --node-path Player --property motion_mode --value 1
# arbitrary GDScript, editor-side or in the running gamegodot-mcp editor run-script --code "print(ProjectSettings.get_setting('application/config/name'))"