Skip to content

Bridge & Addon

Pro — $19 All tools on this page require the Godot addon.

The GodotIQ addon registers an EngineDebugger peer inside Godot. When the editor starts, the addon opens a TCP server on port 6550 (configurable in .godotiq.json). GodotIQ’s Python MCP server connects to this port, enabling real-time two-way communication.

This architecture means your AI can:

  • Read live game state (scene tree, node properties, UI elements)
  • Control the game (run, stop, simulate input)
  • Edit scenes (create, move, delete nodes with full undo support)
  • Capture screenshots of the editor and game viewports

Batch scene editing with full Ctrl+Z undo. Move, rotate, scale, set properties, add children, delete, duplicate, and reparent nodes — all in a single undoable action.

ParameterTypeDefaultDescription
operationsarrayrequiredList of operations: {op: "move"|"rotate"|"scale"|"set_property"|"add_child"|"delete"|"duplicate"|"reparent", ...}
scene_dataobjectnullOptional scene context for validation
Tool call
{
"tool": "node_ops",
"args": {
"operations": [
{"op": "move", "node": "Shelf", "position": [2, 0, 3]},
{"op": "set_property", "node": "Shelf", "property": "visible", "value": true}
]
}
}

Create multiple nodes using high-level patterns. One call = many nodes with undo.

ParameterTypeDefaultDescription
gridobjectnullGrid pattern: {rows, cols, spacing, scene}
lineobjectnullLine pattern: {points, spacing, scene}
scatterobjectnullScatter: {items: [{scene, position}, ...]}
nodesarraynullExplicit node list: [{type, name, position}, ...]
parentstring""Parent node path
target_scenestring""Target .tscn for context
Tool call
{
"tool": "build_scene",
"args": {
"grid": {"rows": 3, "cols": 4, "spacing": 2.0, "scene": "res://objects/shelf.tscn"},
"parent": "/root/Main/Shelves"
}
}

Persist editor changes to disk.

None. Saves the currently open scene.


Read, write, or patch GDScript files with convention validation.

ParameterTypeDefaultDescription
opstring"read"Operation: "read", "write", "patch", "create"
pathstringrequiredFile path (res:// or relative)
contentstring""File content (for write/create)
patchesarraynullList of {search, replace} dicts (for patch)
validate_before_writebooltrueRun GDScript validation before writing
dry_runboolfalseValidate without writing

Visual verification of game or editor viewport.

ParameterTypeDefaultDescription
viewportstring"game"Which viewport: "editor", "game", "both"
scalefloat0.25Image scale factor
formatstring"webp"Image format
qualityfloat0.5Compression quality
camera_positionarraynullCamera position (editor only)
camera_targetarraynullCamera target (editor only)
Tool call
{
"tool": "screenshot",
"args": { "viewport": "game", "scale": 0.25 }
}

The tool returns a base64-encoded image that your AI client renders inline.


Editor 3D camera control: get position, reposition, focus on node.

ParameterTypeDefaultDescription
actionstringrequired"get_position", "look_at", or "focus_node"
positionarraynullCamera position (for look_at)
targetarraynullTarget point (for look_at)
nodestringnullNode name to focus on (for focus_node)
Tool call
{
"tool": "camera",
"args": { "action": "focus_node", "node": "Player" }
}

Start or stop the Godot game from the editor.

ParameterTypeDefaultDescription
actionstring"play""play" or "stop"
scenestring"main"Scene to run: "main", "current", or res:// path
timeoutfloatautoTimeout in seconds (auto-detected)
Start
{
"tool": "run",
"args": { "action": "play", "scene": "res://scenes/levels/test.tscn" }
}
Stop
{
"tool": "run",
"args": { "action": "stop" }
}

Query runtime property values. CHEAPER than screenshots — use first.

ParameterTypeDefaultDescription
queriesarrayrequiredList of {node: "path", properties: ["prop1", "prop2"]} or {autoload: "Name", properties: [...]}
detailstring"normal""brief" (values only), "normal", "full"
Tool call
{
"tool": "state_inspect",
"args": {
"queries": [
{"autoload": "EconomyManager", "properties": ["balance", "daily_revenue"]},
{"node": "/root/Main/Player", "properties": ["position", "health"]}
]
}
}

Persistent property monitoring across game interactions.

ParameterTypeDefaultDescription
actionstring"read""start", "stop", "read", or "clear"
watchesarraynullFor start: [{node: "path", properties: ["prop"]}]
sample_interval_msint500Sampling interval (min 50)
detailstring"normal"Output verbosity
Start watching
{
"tool": "watch",
"args": {
"action": "start",
"watches": [{"node": "/root/Main/Player", "properties": ["position"]}],
"sample_interval_ms": 500
}
}

Verify node property changes over time (proves movement/animation).

ParameterTypeDefaultDescription
nodestringrequiredNode path or name
property_namestring"position"Property to monitor
durationfloat2.0Seconds between snapshots
Tool call
{
"tool": "verify_motion",
"args": { "node": "Player", "property_name": "position", "duration": 2.0 }
}

FPS, draw calls, memory, node count from running game.

ParameterTypeDefaultDescription
detailstring"normal""brief" (fps + draw_calls only), "normal", "full"
Tool call
{
"tool": "perf_snapshot",
"args": { "detail": "normal" }
}

Editor state: open scenes, selected nodes, is game running, project path. Call FIRST.

None. Returns editor state. Falls back to filesystem info if addon is disconnected.


Live editor scene tree with transforms, scripts, groups, visibility.

ParameterTypeDefaultDescription
rootstring""Root node path
depthint3Maximum depth (1-10)
filter_typestring""Filter to specific node type
includearraynullNode types or groups to include
detailstring"normal"Output verbosity
Tool call
{
"tool": "scene_tree",
"args": { "root": "/root/Main", "depth": 3 }
}

Review what was changed — undo/redo state and action history.

None. Returns can_undo, can_redo, current_action, and GodotIQ action list.


Check GDScript files for compilation/parse errors.

ParameterTypeDefaultDescription
scopestring"scene""scene" (current scene + autoloads), "project" (all .gd), or "res://path/to/script.gd"
Tool call
{
"tool": "check_errors",
"args": { "scope": "scene" }
}

Execute GDScript code. Last resort — prefer dedicated tools.

ParameterTypeDefaultDescription
codestringrequiredGDScript code containing func run():. Return value is stringified.
contextstring"game""game" (sandbox) or "editor" (full editor access)
timeout_msint5000Max execution time in milliseconds

Filesystem operations within Godot project: list, read, write, move, delete, search, tree.

ParameterTypeDefaultDescription
opstring"list"Operation: "list", "read", "write", "move", "delete", "search", "tree", "rename"
pathstring""File or directory path
querystring""Search query (for search op)
filterstring"all"Type filter: "all", "scenes", "scripts", "images", "audio", "fonts", "models", "shaders", "resources"
recursiveboolfalseRecursive listing
contentstring""Content for write op
destinationstring""Destination for move/rename ops

Simulate player input: actions, keys, UI taps, waits.

ParameterTypeDefaultDescription
commandsarrayrequiredSequential commands: action {actions, hold_ms}, wait {wait_ms}, key {key, hold_ms}, UI tap {tap: "NodeName"}
track_side_effectsboolfalseMonitor autoload state changes
continue_on_errorboolfalseContinue on errors
Tool call
{
"tool": "input",
"args": {
"commands": [
{"actions": ["move_left"], "hold_ms": 500},
{"wait_ms": 200},
{"actions": ["jump"]}
]
}
}

Map all UI elements: positions, text, interactivity, visibility. See also the dedicated UI Mapping page.

ParameterTypeDefaultDescription
rootstring""Root node (empty = entire UI tree)
include_invisibleboolfalseInclude hidden elements
max_depthint10Maximum tree traversal depth
detailstring"normal"Output verbosity

Live pathfinding via NavigationServer3D. Can A reach B?

ParameterTypeDefaultDescription
from_nodestringnullSource node name
to_nodestringnullTarget node name
from_positionarraynullSource coordinates [x, y, z]
to_positionarraynullTarget coordinates [x, y, z]
optimizebooltrueOptimize the path
detailstring"normal""brief" (reachable + distance only), "normal", "full"
Tool call
{
"tool": "nav_query",
"args": { "from_node": "Player", "to_node": "Exit" }
}

  • Spatial toolsplacement pairs with screenshot for visual verification
  • UI mapping — Dedicated page for ui_map with detailed workflows
  • Installation — Full setup guide including addon installation
  • Guides: Workflows — Common bridge tool workflow patterns