A side-by-side look at the Godotiq and Godot Forge MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Godotiq for gaming work as a local process; choose Godot Forge for gaming as a local process. You can also run both side by side in one mcpServers block.
GODOTIQ_PROJECT_ROOT.godotiq_ping, godotiq_project_summary, godotiq_file_context.godot_run_tests, godot_search_docs, godot_get_diagnostics.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Gaming | Gaming |
| Quality signal | 60/100 · Good | 61/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Free |
| Required env vars | GODOTIQ_PROJECT_ROOT | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 54 | 9 |
| Directory activity | 2 views 0 installs 0 upvotes | 5 views 0 installs 0 upvotes |
| Tools | 38 | 8 |
| Full listing | View Godotiq | View Godot Forge |
godotiq_pingHealth check tool. Returns server status, version, license tier,
receipt status, bundle status, tool count, and any available update.
The returned dict is a public contract (consumed by the release
checklist and the mirror README template). Keys are stable for 0.5.0.
Args:
detail: Output verbosity — "brief" (summary), "normal" (default),
or "full" (everything). Currently does not gate output shape;
reserved for future use.
godotiq_project_summaryCall FIRST in every session. Architecture, autoloads, conventions, file counts. Replaces manual project exploration — one call gives full context. Use detail="brief" for counts only.
Args:
detail: "brief" (counts + autoload names), "normal" (+ architecture), "full" (+ scene structure, signal health).
godotiq_file_contextCall BEFORE editing any file. Returns public API, dependencies, signals, who imports this file, scene usage. Without this you risk breaking callers. DO NOT read .gd/.tscn files directly — this gives structured cross-referenced data.
Args:
file: Path to file (res:// or relative). Works for .gd scripts and .tscn scenes.
detail: "brief" (public API only), "normal" (+ deps, signals, safety), "full".
godotiq_dependency_graphComplete dependency graph: what this file emits, who listens, what it imports, who imports it, impact rating. Call before refactoring function signatures or renaming signals. DO NOT grep the codebase — this traces the full graph in one call.
Args:
file: Path to .gd file (res:// or relative).
depth: How many levels deep to trace (1 = direct deps only, 2 = deps of deps).
detail: "brief" (signal names + refs only), "normal" (+ listeners, autoloads), "full" (+ depth_trace always).
godotiq_signal_mapProject-wide signal wiring: who emits, who listens, orphan/missing signals. DO NOT grep for .connect() calls — this traces the complete signal graph in one call. Use find="orphans" to find dead signals, "missing" to find typos.
Args:
scope: "all" for entire project, "autoloads" for autoload scripts only,
or "file:res://path.gd" for a single file's signals.
find: "all" (everything), "orphans" (emitted but no listeners), "busiest" (most connected), "missing" (emitted but never defined — likely typos).
detail: "brief" (orphans + missing only — the actionable items), "normal" (default), "full".
godotiq_impact_checkPredict what breaks BEFORE making a change. Returns affected files, callers, risk level, and safe alternatives. Call before renaming, removing, or changing any function/signal/class signature. DO NOT manually search for callers — this finds them all.
Args:
file: Path to .gd file being modified.
action: "modify_function", "rename_signal", "add_parameter", "remove_function", "change_return_type", "rename_class".
target: The function/signal/class being changed.
change_description: Free-text description of the intended change (used in safe_alternative suggestions).
detail: Output verbosity — "brief" (summary), "normal" (default), or "full" (everything).
godotiq_validateConvention check: missing type hints, missing class_name, orphan signals, naming violations, incomplete scene nodes (Sprite2D/Sprite3D/TextureRect without texture, CollisionShape2D/CollisionShape3D without shape, MeshInstance3D without mesh — nodes that render/collide as nothing). Run after every code change and before declaring scene work done. Use on "project" for full scan or target a single .gd/.tscn file.
Args:
target: "project" for full scan, or path to a specific .gd script or .tscn scene.
detail: "brief" (default — severity counts only), "normal" (pass explicitly for the issue list), "full".
godotiq_scene_mapSpatial understanding of a .tscn scene: positions, distances, directions, bounds. ALWAYS call before placing or moving 3D objects — never guess positions. 3D-only: on 2D scenes returns incomplete or misleading data. DO NOT read .tscn files directly — they are unreadable resource format. Use focus + radius to zoom into an area. NOTE: static .tscn analysis from disk, not the running game — runtime-spawned nodes are not visible here; for the running game use state_inspect, ui_map, or exec with context="game".
Args:
scene: Path to .tscn file (res:// or relative).
focus: Node name or path to center the view on. Returns nearby nodes sorted by distance.
radius: Distance filter around focus node (meters, default 5.0). Only used with focus.
include: List of node types or groups to include (e.g. ["MeshInstance3D", "enemies"]).
detail: "brief" (default — name/type/position only), "normal" (pass explicitly for groups, scripts, bounds), "full" (+ properties, distance matrix).
godotiq_spatial_auditAutomated 3D scene linter: floating objects, scale mismatches, z-fighting, overlapping instances, extreme positions. 3D-only: on 2D scenes returns incomplete or misleading data. Run on any 3D scene to catch spatial issues before they become visual bugs. Use detail="brief" for only real problems. The "coverage" block in the result declares what each geometric check could and could not evaluate — treat 0 issues with low coverage as "not verified", not "verified clean".
Args:
scene: Path to .tscn file (res:// or relative).
checks: Specific checks to run (default all 6): "floating_objects", "scale_mismatch", "z_fighting", "empty_markers", "overlapping", "extreme_positions".
min_severity: Minimum severity: "warning" (default, filters info), "info" (everything), "critical".
detail: "brief" (critical + warning only), "normal" (excludes cosmetic z-fighting/overlapping), "full" (everything).
floating_threshold: |Y| above which floating_objects flags a node (default 100.0). Lower it (e.g. 5.0) for ground-level scenes where Y=1 floats matter.
godotiq_placementFind safe placement positions for new objects. DO NOT guess positions or manually calculate coordinates. 3D-only: on 2D scenes returns incomplete or misleading data. Checks Marker3D slots first (designer-intended spots, highest confidence), then grid-searches nearby space with wall/overlap validation. Returns up to 3 suggestions with confidence scores.
Args:
scene: Scene file path (.tscn). Uses project main scene if empty.
near: Node name to place near (e.g. "PrinterSlot_P3").
near_position: [x, y, z] coordinates to place near (alternative to 'near').
object_type: Semantic type hint (e.g. "printer", "shelf") — finds similar objects for scale/rotation reference.
constraints: {on_floor: bool, min_wall_distance: float, min_object_distance: float, face_direction: str, marker_group: str}.
max_suggestions: Maximum number of suggestions (default 3).
detail: Output verbosity — "brief" (summary), "normal" (default), or "full" (everything).
godotiq_asset_registryComplete asset inventory: find unused assets, missing references, assets by type. Use to audit project assets and clean up bloat.
Args:
category: "all", "models", "textures", "audio", "scenes", "scripts", etc.
check_usage: Check which assets are actually used in scenes (default true).
detail: "brief" (default — counts only), "normal" (pass explicitly for counts + top 20 unused), "full" (everything).
path_filter: Filter assets by path substring (e.g. "kenney_furniturekit").
max_results: Max number of assets to return (0 = no limit).
godotiq_suggest_scaleRecommend scale + position for a model based on similar assets in the scene. Never guess scales — this analyzes existing objects and suggests matching values. 3D-only: on 2D scenes returns incomplete or misleading data. Respects asset_origins from .godotiq.json.
Args:
scene: Path to .tscn file (res:// or relative).
model: Model asset path (res://). Omit for reference mode (returns scale stats for matching nodes).
near_node: Node name to suggest position near.
intended_use: Semantic hint (e.g. "printer", "shelf"). Required when model is omitted.
detail: Output verbosity — "brief" (summary), "normal" (default), or "full" (everything).
godot_run_testsRun GUT or GdUnit4 tests headlessly and return structured pass/fail results. Auto-detects the test framework. Returns total/passed/failed counts with failure details including file paths and line numbers.godot_search_docsSearch Godot 4.x API documentation. Returns class overviews, method details, or fuzzy search results. Automatically detects Godot 3 API queries and suggests Godot 4 equivalents — the #1 source of AI-generated GDScript bugs.godot_get_diagnosticsGet LSP diagnostics (errors, warnings) from Godot's built-in language server. Requires Godot editor to be running with the project open.godot_analyze_sceneParse .tscn scene files or .tres resource files and return structured analysis. Detects antipatterns (deep nesting, oversized scenes, missing scripts) and format errors (preload in .tres, custom class names in type field, integer resource IDs).godot_analyze_scriptAnalyse GDScript files for all 10 battle-tested pitfalls: Godot 3→4 API misuse, giant scripts, := on Variant, tight coupling, signal re-entrancy, autoload misuse, missing signal disconnect, _init() timing, Python-isms, and static func on autoloads.godot_run_projectLaunch, stop, or get debug output from a running Godot project. Captures stdout/stderr with timestamps.godot_screenshotCapture a viewport screenshot from the running Godot project. Returns base64-encoded PNG image. Requires a display server (not headless mode).godot_get_project_infoReturn project structure overview: project name, Godot version, scenes, scripts, autoloads, addons, and directory tree. Uses progressive disclosure — summary by default, full details on request.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"godotiq": {
"command": "uvx",
"args": [
"godotiq"
],
"env": {
"GODOTIQ_PROJECT_ROOT": "YOUR_GODOTIQ_PROJECT_ROOT_HERE"
}
}
}
}
{
"mcpServers": {
"gregario-godot-forge": {
"command": "npx",
"args": [
"-y",
"godot-forge"
]
}
}
}