A side-by-side look at the Godotiq and Unity MCP 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 Unity MCP 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.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Gaming | Gaming |
| Quality signal | 60/100 · Good | 56/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 | 4,508 |
| Directory activity | 2 views 0 installs 0 upvotes | 5 views 0 installs 1 upvotes |
| Tools | 38 | Not listed |
| Full listing | View Godotiq | View Unity MCP |
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).
No tool names declared yet. Check the project README from the listing page.
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": {
"ivanmurzak-unity-mcp": {
"command": "npx",
"args": [
"-y",
"unity-mcp-cli"
]
}
}
}