Godot 4 MCP server for AI-assisted project inspection, editing, validation, and runtime automation.
Drift inferred · capture-to-capture
tool count over time
tools
-
add_animation_track
Add animation track using the animation implementation.
-
add_audio_bus
Exact-name compatibility route for add_audio_bus. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is unavail
-
add_audio_bus_effect
Exact-name compatibility route for add_audio_bus_effect. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is
-
add_audio_player
Add audio player using the audio implementation.
-
add_autoload
Exact-name compatibility route for add_autoload. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is unavaila
-
add_scene_instance
Exact-name compatibility route for add_scene_instance. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is un
-
analyze_scene_complexity
Exact-name compatibility route for analyze_scene_complexity. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state
-
analyze_signal_flow
Exact-name compatibility route for analyze_signal_flow. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is u
-
animation
Create, inspect, remove, and edit AnimationPlayer tracks and keyframes
-
animation_state_machine
Create, inspect, and configure AnimationTree state machines
-
audio
Create and list AudioStreamPlayer nodes with basic playback configuration
-
bake_navigation_mesh
Bake navigation mesh using the navigation implementation.
-
connect_signal
Connect signal using the signal implementation.
-
create_animation
Create animation using the animation implementation.
-
create_animation_tree
Create animation tree using the animation_state_machine implementation.
-
create_scene
Create a new Godot scene file
-
cross_scene_set_property
Exact-name compatibility route for cross_scene_set_property. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state
-
disconnect_signal
Disconnect signal using the signal implementation.
-
export_project
Run a controlled Godot export for a configured preset
-
find_signal_connections
Exact-name compatibility route for find_signal_connections. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state
-
get_animation_info
Get animation info using the animation implementation.
-
get_animation_tree_structure
Exact-name compatibility route for get_animation_tree_structure. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime s
-
get_audio_bus_layout
Get audio bus layout using the audio implementation.
-
get_audio_info
Get audio info using the audio implementation.
-
get_autoload
Exact-name compatibility route for get_autoload. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is unavaila
-
get_collision_info
Get collision info using the physics implementation.
-
get_input_actions
Get input actions using the project_input_action implementation.
-
get_navigation_info
Get navigation info using the navigation implementation.
-
get_physics_layers
Exact-name compatibility route for get_physics_layers. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is un
-
get_project_info
Retrieve metadata about a Godot project
-
get_project_statistics
Get project statistics using the get_project_info implementation.
-
get_scene_dependencies
Exact-name compatibility route for get_scene_dependencies. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state i
-
get_scene_tree
Return the node tree for a Godot scene
-
get_signals
Get signals using the signal implementation.
-
list_animations
List animations using the animation implementation.
-
list_projects
List Godot projects in a directory
-
navigation
Create, inspect, configure, bake, query, and debug NavigationRegion and NavigationAgent nodes
-
physics
Create, inspect, configure, template, and analyze physics bodies, areas, collision layers, and shapes
-
project_get_settings
Read Godot project.godot settings by section or section/key list
-
project_input_action
List or update project InputMap actions in project.godot
-
project_set_setting
Update Godot project.godot settings with dry-run preview and audit logging
-
reload_project
Exact-name compatibility route for reload_project. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is unavai
-
remove_animation
Remove animation using the animation implementation.
-
remove_autoload
Exact-name compatibility route for remove_autoload. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is unava
-
run_project
Run the Godot project and capture output
-
run_project_checks
Run stable project checks for CI, review, and release workflows
-
save_scene
Save changes to a scene file
-
scene_get_current
Return the current scene tracked by this MCP session, if one was opened
-
scene_open
Open a scene in the MCP session using headless/file-based scene access
-
set_animation_keyframe
Set animation keyframe using the animation implementation.
-
set_audio_bus
Exact-name compatibility route for set_audio_bus. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is unavail
-
set_input_action
Set input action using the project_input_action implementation.
-
set_navigation_layers
Exact-name compatibility route for set_navigation_layers. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is
-
set_physics_layers
Set physics layers using the physics implementation.
-
setup_collision
Set up collision using the physics implementation.
-
setup_navigation_agent
Set up navigation agent using the navigation implementation.
-
setup_navigation_region
Set up navigation region using the navigation implementation.
-
stop_project
Stop the currently running Godot project
-
uid_to_project_path
Exact-name compatibility route for uid_to_project_path. Executes through its registered compatibility implementation and returns a structured error when required project, editor, or runtime state is u
-
update_project_uids
Update UID references in a Godot project by resaving resources (for Godot 4.4+)
analyzed commit f216a3d · analyzer v33 · 1w ago
skills & prompt files 6
- skill wangdiandao-godot-devtool-f216a3d/skills/godot-devtool-live-editor/SKILL.md
- skill wangdiandao-godot-devtool-f216a3d/skills/godot-devtool-project-setup/SKILL.md
- skill wangdiandao-godot-devtool-f216a3d/skills/godot-devtool-release-verify/SKILL.md
- skill wangdiandao-godot-devtool-f216a3d/skills/godot-devtool-runtime-test/SKILL.md
- skill wangdiandao-godot-devtool-f216a3d/skills/godot-devtool-scene-authoring/SKILL.md
- skill wangdiandao-godot-devtool-f216a3d/skills/godot-devtool/SKILL.md
code files: 95
filesystem 38
- fs wangdiandao-godot-devtool-f216a3d/dev-scripts/check-project.js :1
import { existsSync } from 'node:fs'; - fs wangdiandao-godot-devtool-f216a3d/dev-scripts/generate-readme-tool-tables.js :1
import { readFileSync, writeFileSync } from 'node:fs'; - fs wangdiandao-godot-devtool-f216a3d/dev-scripts/publish-github-release.js :2
import { cpSync, existsSync, mkdirSync, mkdtempSync, rmSync } from 'node:fs'; - fs wangdiandao-godot-devtool-f216a3d/dev-scripts/sync-installed-skill.js :1
import { existsSync, cpSync, mkdirSync, readdirSync, statSync } from 'node:fs'; - fs wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-godot-operations.js :1
import { existsSync, readFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-godot-plugin.js :2
import { existsSync, readFileSync } from 'node:fs'; - fs wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-godot-runtime.js :3
import { existsSync, readFileSync } from 'node:fs'; - fs wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-process-handling.js :3
import { existsSync } from 'node:fs'; - fs wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-roadmap-completion.js :2
import { existsSync, readdirSync } from 'node:fs'; - fs wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-security-hardening.js :3
import { existsSync, readFileSync, readdirSync } from 'node:fs'; - fs wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-skill-sync.js :2
import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs'; - fs wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-tool-definitions.js :1
import { existsSync, readFileSync, readdirSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/bridge/bridgeConfig.ts :1
import { existsSync } from 'node:fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/editorBridge.ts :1
import { existsSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/editorSession.ts :1
import { existsSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/exportConfig.ts :1
import { existsSync, statSync, type Stats } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/filesystemTools.ts :1
import { existsSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/projectAnalysis.ts :1
import { Dirent } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/projectSettings.ts :1
import { existsSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/resourceDependencies.ts :1
import { Dirent } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/resourceTools.ts :1
import { existsSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/safetyRecovery.ts :1
import { existsSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/scriptAnalysis.ts :1
import { Dirent } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/godot/workflowAutomation.ts :1
import { existsSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/GodotServer.ts :8
import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/methods/compatibility.ts :17
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/methods/core.ts :17
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/methods/editor.ts :17
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/methods/filesystem.ts :17
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/methods/node.ts :17
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/methods/project.ts :17
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/methods/resource.ts :17
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/methods/scene.ts :17
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/methods/script.ts :17
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/methods/shared.ts :17
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/methods/visual.ts :17
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/packageMetadata.ts :1
import { existsSync, readFileSync } from 'fs'; - fs wangdiandao-godot-devtool-f216a3d/src/server/transports/wsBridge.ts :4
import { existsSync, readFileSync } from 'node:fs';
shell / exec 19
- shell wangdiandao-godot-devtool-f216a3d/dev-scripts/publish-github-release.js :1
import { execFileSync } from 'node:child_process'; - shell wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-godot-runtime.js :2
import { spawn } from 'node:child_process'; - shell wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-process-handling.js :2
import { spawn } from 'node:child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/GodotServer.ts :9
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/bridgeProcessCleanup.ts :1
import { execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/methods/compatibility.ts :18
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/methods/core.ts :18
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/methods/editor.ts :18
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/methods/filesystem.ts :18
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/methods/node.ts :18
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/methods/project.ts :18
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/methods/resource.ts :18
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/methods/scene.ts :18
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/methods/script.ts :18
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/methods/shared.ts :18
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/methods/visual.ts :18
import { spawn, execFile } from 'child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/runs/runProcess.ts :2
import { spawn, type ChildProcess } from 'node:child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/runs/runRegistry.ts :1
import type { ChildProcess } from 'node:child_process'; - shell wangdiandao-godot-devtool-f216a3d/src/server/runs/types.ts :1
import type { ChildProcess } from 'node:child_process';
network 6
- net wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-browser-visualizer.js :43
const page = await fetch(startPayload.url); - net wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-process-handling.js :5
import { connect, createServer } from 'node:net'; - net wangdiandao-godot-devtool-f216a3d/dev-scripts/verify-security-hardening.js :2
import { connect } from 'node:net'; - net wangdiandao-godot-devtool-f216a3d/src/server/broker/brokerServer.ts :1
import { connect } from 'node:net'; - net wangdiandao-godot-devtool-f216a3d/src/server/transports/browserVisualizer.ts :1
import { createServer, type Server as HttpServer } from 'node:http'; - net wangdiandao-godot-devtool-f216a3d/src/server/transports/wsBridge.ts :1
import { createServer, type Server as HttpServer } from 'node:http';
install hooks 1
- prepare wangdiandao-godot-devtool-f216a3d/package.json :44
npm run build
declared dependencies 5
- @modelcontextprotocol/sdk@0.6.0
- axios@^1.7.9
- fs-extra@^11.2.0
- @types/node@^20.11.24
- typescript@^5.3.3