{"name":"io.github.salvo10f/godotiq","slug":"salvo10f-godotiq","title":null,"description":"Intelligent MCP server for Godot 4. Spatial intelligence, code analysis, 35 tools.","url":"https://mcp.market/server/salvo10f-godotiq","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":37,"stars":54,"forks":8,"downloads_week":117,"last_push_at":"2026-08-03T17:22:54.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/salvo10f/godotiq","website":null,"version":"0.1.3","remotes":[],"packages":[{"registryType":"pypi","identifier":"godotiq","version":"0.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Path to your Godot project root","isRequired":true,"format":"string","name":"GODOTIQ_PROJECT_ROOT"}]}],"tools":[{"name":"godotiq_animation_audit","description":"Find animation problems: broken tracks, missing transitions, wrong loop settings, unreferenced animations. Run before shipping to catch animation bugs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_animation_info","description":"Animation data for any node: tracks, keyframes, length, looping, state machine transitions. Use to understand animation setup before modifying.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_asset_registry","description":"Complete asset inventory: find unused assets, missing references, assets by type. Use to audit project assets and clean up bloat.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_build_scene","description":"Create multiple nodes in a scene using high-level patterns. One call = many nodes with Ctrl+Z undo. Use INSTEAD of repeated node_ops add_child calls.","write_action":true,"price_micros":0,"input_schema":null},{"name":"godotiq_camera","description":"Editor 3D camera control: get current position, reposition, or focus on a node. Editor-side — no game needed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_check_errors","description":"Check GDScript files for compilation/parse errors.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_dependency_graph","description":"Complete 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_editor_context","description":"Call FIRST alongside project_summary. Returns editor state: open scenes, selected nodes, is game running, project path. Essential for understanding current context before any operations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_exec","description":"Execute GDScript code. Last resort — prefer dedicated tools (node_ops, script_ops, state_inspect) over exec. Code MUST contain 'func run():'. In game context use Engine.get_main_loop() instead of get_tree().","write_action":true,"price_micros":0,"input_schema":null},{"name":"godotiq_file_context","description":"Call 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_file_ops","description":"Filesystem operations within the Godot project: list, read, write, move, delete, search, tree, uid_to_path, path_to_uid, rename (with reference updates). Respects protected files from .godotiq.json. For .gd files, prefer script_ops instead.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_impact_check","description":"Predict 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_input","description":"Simulate player input in the running game: actions, keys, UI taps, waits. Use after ui_map to know what's on screen. Supports signal verification and side-effect tracking. Game must be running.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_nav_query","description":"Live pathfinding via NavigationServer3D. \"Can A reach B?\" Returns path, distance, reachability, navmesh status. Game must be running.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_node_ops","description":"Core scene editing tool. Batch operations with Ctrl+Z undo: move, rotate, scale, set_property, add_child, delete, duplicate, reparent. All ops in one call = one undo action. ALWAYS add validate:true for spatial operations (move/scale/add_child) to prevent placing objects inside walls or on top of each other. If ANY validated op is BLOCKED, the entire batch is rejected (atomic).","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_perf_snapshot","description":"FPS, draw calls, memory, node count from the running game. Use for performance profiling. Game must be running.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_ping","description":"Health check tool. Returns server status and version.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_placement","description":"Find safe placement positions for new objects. DO NOT guess positions or manually calculate coordinates. 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_project_summary","description":"Call FIRST in every session. Architecture, autoloads, conventions, file counts. Replaces manual project exploration — one call gives full context. Use detail=\"brief\" for counts only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_run","description":"Start or stop the Godot game. Must call play before using any game-side tools (state_inspect, screenshot, input, nav_query, watch, ui_map). Waits for confirmed startup.","write_action":true,"price_micros":0,"input_schema":null},{"name":"godotiq_save_scene","description":"Persist editor changes to disk. Call after node_ops or any scene modifications. In-place save. Editor-side — no game needed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_scene_map","description":"Spatial understanding of a .tscn scene: positions, distances, directions, bounds. ALWAYS call before placing or moving 3D objects — never guess positions. DO NOT read .tscn files directly — they are unreadable resource format. Use focus + radius to zoom into an area.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_scene_tree","description":"Live editor scene tree — actual state with transforms, scripts, groups, visibility. Unlike scene_map (reads .tscn from disk), this reads the editor's live state. Call BEFORE node_ops to see current node names and paths.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_screenshot","description":"Visual verification of the game or editor viewport. Use scale=0.25, quality=0.3 for token-efficient checks. Prefer state_inspect for data — use screenshot only when you need visual confirmation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_script_ops","description":"Read, write, or patch GDScript files with convention validation. ALWAYS prefer this over raw file writes for .gd files. Patch mode (find-and-replace) is safest — only changes what you specify.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_signal_map","description":"Project-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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_spatial_audit","description":"Automated 3D scene linter: floating objects, scale mismatches, z-fighting, overlapping instances, extreme positions. Run on any scene to catch spatial issues before they become visual bugs. Use detail=\"brief\" for only real problems.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_state_inspect","description":"Query runtime property values. CHEAPER than screenshots for checking state — use this first. Supports autoload lookup by name, node paths, nested properties, method calls like 'pending_orders.size()'. Game must be running.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_suggest_scale","description":"Recommend scale + position for a model based on similar assets in the scene. Never guess scales — this analyzes existing objects and suggests matching values. Respects asset_origins from .godotiq.json.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_trace_flow","description":"Trace execution flow from a function or signal through the entire codebase. \"What happens when X is called?\" Returns the chain of calls, signal emissions, and failure points. DO NOT manually trace call chains — this does it automatically.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_ui_map","description":"Map all UI elements on screen: positions, text, interactivity, visibility. Call BEFORE godotiq_input to know what buttons/controls exist. Game must be running.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_undo_history","description":"Review what was changed. Shows undo/redo state and recent GodotIQ action history. Call after node_ops to verify changes. Editor-side — no game needed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_validate","description":"Convention check: missing type hints, missing class_name, orphan signals, naming violations. Run after every code change. Use on \"project\" for full scan or target a single file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_verify_motion","description":"Verify a node property changes over time (proves movement/animation).","write_action":false,"price_micros":0,"input_schema":null},{"name":"godotiq_watch","description":"Persistent property monitoring. Start watching, then read accumulated changes over time. Use for tracking values across game interactions. Game must be running.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":88,"grade":"A","scanned_at":"2026-09-27T23:38:09.141Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-27T23:38:09.059Z","components":{"code":{"score":25,"max":25,"notes":["64 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 55 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"godotiq","version":"0.1.3","found":true,"weeklyDownloads":117,"license":"MIT","dependencyCount":9,"publishedAt":"2026-03-13T07:19:13.070563Z","repositoryUrl":"https://github.com/salvo10f/godotiq"}],"repo":{"found":true,"owner":"salvo10f","repo":"godotiq","archived":false,"pushedAt":"2026-08-03T17:22:54Z","stars":54,"forks":8,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/148759597?v=4","ownerCreatedAt":"2023-10-23T09:19:36Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":54,"forks":8,"downloadsWeek":117,"license":"MIT","lastPushAt":"2026-08-03T17:22:54.000Z","score":37}}}},"grade_history":[],"reviews":[]}