Skip to main content

The definitive MCP for AI-assisted Godot development

Project description

GodotIQ

The only Godot MCP that understands your game, not just your files.

GodotIQ is a Model Context Protocol (MCP) server for Godot 4.x that gives AI agents (Claude Code, Cursor, Windsurf) spatial intelligence, code understanding, and runtime control. 36 tools across 9 categories — from smart object placement to signal flow tracing to automated UI mapping.

Other Godot MCPs are API wrappers. GodotIQ is an intelligence layer.


What It Does

Before GodotIQ:
  Agent: "I'll move this shelf to (2, 0, 0)"
  Result: Inside a wall. 10 iterations to fix.

After GodotIQ:
  Agent calls placement → knows empty slots, walls, navmesh, nearby objects
  Agent calls node_ops(validate=true) → validated placement, first try
  Agent calls camera + screenshot → visually confirms result
  Done.

Key Capabilities No Other MCP Has

  • Spatial Intelligencescene_map, placement, spatial_audit. Understands 3D space: distances, walls, navmesh, empty slots, scale consistency
  • Signal Flow Tracingtrace_flow. "What happens when the player accepts an order?" → complete chain across 8 files with failure points
  • Code Understandingdependency_graph, signal_map, impact_check. Knows who calls who, what breaks if you change a function
  • Smart Placementplacement finds designer-intended Marker3D slots first (95% confidence), falls back to grid search with constraint solving
  • Runtime UI Mappingui_map. Maps every button, label, and input with screen positions, text content, touch target validation
  • Visual Verificationcamera + screenshot (editor viewport). Agent looks at what it changed before moving on
  • Convention Enforcementvalidate checks and auto-fixes GDScript conventions after every edit
  • Project Memoryproject_summary, file_context. Agent re-primes instantly after context compaction

36 Tools — 22 Community, 14 Pro

GodotIQ ships 22 Community tools in the public package (MIT licensed) and 14 Pro tools in a separate private bundle (commercial license). Same install, same MCP — Pro tools activate automatically when a valid license key is present.

Category Community (free) Pro (licensed) Addon Required
Bridge (runtime) screenshot, scene_tree, run, input, node_ops, script_ops, file_ops, exec, state_inspect, perf_snapshot, save_scene, camera, watch, undo_history, nav_query, build_scene, check_errors, verify_motion explore YES
Spatial (3D intelligence) scene_map, placement, spatial_audit Optional
Code (analysis) dependency_graph, signal_map, impact_check, validate NO
Animation animation_info animation_audit NO
Flow & Debug trace_flow NO
Assets asset_registry, suggest_scale NO
Memory project_summary, file_context NO
UI ui_map YES
Navigation nav_query YES
System ping NO

Community users get full results from the 22 free tools plus preview/teaser output from Pro tools. Pro users get full output from all 36 tools.

Pro activation

export GODOTIQ_LICENSE_KEY="pol_live_..."

On first startup with a valid key, GodotIQ auto-downloads the Pro bundle from pro.godotiq.com and caches it locally. Subsequent startups load from cache — Pro works fully offline once the bundle is cached.

No separate install step. No second package. Just set the env var.


Setup

1. Install GodotIQ

Direct install:

pip install godotiq

For AI clients (recommended): No manual install needed. Configure the MCP client to use uvx which auto-installs on first use (see step 3).

2. Install the Godot Addon

godotiq install-addon /path/to/your/godot/project

This copies:

  • The GDScript addon files to <project>/addons/godotiq/
  • GODOTIQ_RULES.md to the project root (AI assistant rules for Godot development)

Use --dry-run to preview what will be copied.

Then enable the addon in Godot via Project Settings → Plugins → GodotIQ → Enable.

The addon is pure GDScript (~500 lines, no compilation). It starts a WebSocket server on port 6007 for bidirectional communication with the MCP server.

3. Configure Your AI Client

Create .mcp.json in your Godot project root:

{
  "mcpServers": {
    "godotiq": {
      "command": "uvx",
      "args": ["godotiq"],
      "env": {
        "GODOTIQ_PROJECT_ROOT": "/path/to/your/godot/project"
      }
    }
  }
}

Then launch Claude Code from your project directory:

cd /path/to/your/godot/project
claude

Claude Code reads .mcp.json automatically and connects to GodotIQ with 36 tools available.

4. (Optional) Project Configuration

Create .godotiq.json in your Godot project root for project-specific settings:

{
  "version": 2,
  "project": {
    "name": "My Game",
    "engine": "godot_4",
    "type": "3d"
  },
  "disabled_tools": [],
  "protected_files": ["project.godot", ".godot/**", ".godotiq/**", "*.import"],
  "conventions": {
    "class_name_suffix": "Class",
    "signal_bus": "Events",
    "require_type_hints": true
  },
  "asset_origins": {
    "meshy": {
      "path_patterns": ["assets/models/printers/**"],
      "default_scale": [0.3, 0.3, 0.3]
    }
  },
  "server": {
    "default_detail": "normal",
    "screenshot_default_scale": 0.25
  }
}

Architecture

godotiq/
├── src/godotiq/
│   ├── server.py              # MCP server (FastMCP, stdio transport)
│   ├── config.py              # .godotiq.json configuration loader
│   ├── session.py             # Project session management
│   ├── parsers/               # .tscn, .gd file parsers (zero external deps)
│   │   ├── tscn_parser.py     # Godot scene format parser
│   │   ├── gd_parser.py       # GDScript parser (signals, deps, functions)
│   │   ├── scene_resolver.py  # Instance expansion, world-space transforms
│   │   └── project_index.py   # Full project scan, cross-reference maps
│   ├── cache/                 # Hash-based file cache
│   └── tools/                 # 9 categories, 36 tools
│       ├── bridge/            # Runtime: screenshot, run, input, node_ops, exec...
│       ├── spatial/           # scene_map, placement, spatial_audit
│       ├── code/              # dependency_graph, signal_map, impact_check, validate
│       ├── animation/         # animation_info, animation_audit
│       ├── flow/              # trace_flow
│       ├── assets/            # asset_registry, suggest_scale
│       ├── memory/            # project_summary, file_context
│       ├── ui/                # ui_map
│       └── navigation/        # nav_query
├── godot-addon/
│   └── addons/godotiq/
│       ├── plugin.cfg
│       ├── godotiq_plugin.gd      # EditorPlugin entry point
│       ├── godotiq_server.gd      # WebSocket server (editor-side)
│       ├── godotiq_runtime.gd     # Autoload (game-side, screenshots + input)
│       └── godotiq_debugger.gd    # EditorDebuggerPlugin (error capture)
├── tests/                     # 1400+ automated tests
│   ├── fixtures/              # Real .tscn/.gd files from Godot projects
│   └── test_*/                # Test suites per category
└── .godotiq.json              # Example project configuration

Communication Stack

AI Agent ←(stdio)→ Python MCP Server ←(WebSocket:6007)→ GDScript Addon in Godot Editor
                   (intelligence layer)                    (runtime bridge)
                                                              ↕
                                                    EngineDebugger (IPC)
                                                              ↕
                                                    Running Game (autoload)
  • Python → Editor: WebSocket for bidirectional real-time communication
  • Editor → Game: EngineDebugger native IPC for screenshots, input simulation, state inspection
  • Intelligence layer: All parsing, spatial reasoning, dependency analysis, convention validation runs in Python — works without Godot open

Three-Layer Parser Architecture

  1. Layer 1 — Raw Parser: Reads single .tscn/.gd file, extracts structure
  2. Layer 2 — Scene Resolver: Expands instances recursively, calculates world-space transforms
  3. Layer 3 — Project Index: Scans all files, builds cross-reference maps (signal wiring, autoloads, asset usage)

Token Optimization

Every tool accepts detail: "brief" | "normal" | "full":

  • brief → 5-15 lines, key facts only. Use for routine checks.
  • normal → Default. Structured data for most operations.
  • full → Complete dump with metadata. Use for deep debugging.

This cuts response sizes 50-80% for routine operations, saving context window space.


Development

# Run all tests
pytest tests/ -v

# Run specific category
pytest tests/test_tools/ -v
pytest tests/test_parsers/ -v

# Run with coverage
pytest tests/ --cov=godotiq -v

Test Stats

  • 1400+ automated tests
  • Real .tscn/.gd fixtures from production Godot projects
  • Parser tests, tool tests, integration tests, config tests, Pro bundle lifecycle tests

Comparison

Capability GodotIQ (36 tools) GDAI (27 tools, $20) tomyud1 (32 tools, free)
Spatial intelligence ✅ scene_map + placement + validation
Signal flow tracing ✅ trace_flow
Code understanding ✅ deps + signals + impact
Convention validation ✅ auto-fix
Project memory ✅ survives compaction
UI mapping ✅ ui_map
Visual verification ✅ camera + editor screenshot ❌ (editor screenshot only)
Token optimization ✅ 3 detail levels
Free tier ✅ 22 tools + Pro previews
Works without addon ✅ 17 tools
Open source ✅ (public package MIT) ❌ (C++ binary)
Telemetry Zero PostHog Zero
Automated tests 1400+ Unknown 0

Recent Changes

See CHANGELOG.md for full history.

0.4.1 — Fix addon version sync; improved Pro diagnostics in godotiq_ping

License

  • Public package + Godot addon: MIT
  • Pro bundle: Commercial license — see godotiq.com/pro

mcp-name: io.github.salvo10f/godotiq

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

godotiq-0.5.0.tar.gz (162.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

godotiq-0.5.0-py3-none-any.whl (198.0 kB view details)

Uploaded Python 3

File details

Details for the file godotiq-0.5.0.tar.gz.

File metadata

  • Download URL: godotiq-0.5.0.tar.gz
  • Upload date:
  • Size: 162.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for godotiq-0.5.0.tar.gz
Algorithm Hash digest
SHA256 c39fd90cf7bf6277f298cf0fe98671382cb2203661c4dfd062fb2db4dab3faa6
MD5 01d87992fed3a493b117f514c078af8e
BLAKE2b-256 ed23fbee4c31354d4e8de077a30a64206eba3425c3fb54c6ba8adba22a7bbb15

See more details on using hashes here.

Provenance

The following attestation bundles were made for godotiq-0.5.0.tar.gz:

Publisher: release.yml on salvo10f/godotiq-src

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file godotiq-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: godotiq-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 198.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for godotiq-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13f6e1044a33068874a743f3c79e79235177a4c936e3380a82ea245eedefc300
MD5 28d5a87b4ee9d7e312e9e7966316760d
BLAKE2b-256 4bcf1d47bc1fee1a3069db563a17e7b89d4b4439b6ac2a5e0423ec6d9a13a3d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for godotiq-0.5.0-py3-none-any.whl:

Publisher: release.yml on salvo10f/godotiq-src

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page