SkillAgentSearch skills...

godot-mcp

MCP server for full Godot 4.x engine control: 157 tools for AI-driven game development (GDScript and C#/.NET). Tested with Godot 4.7.

Install / Use

claude mcp add tugcantopaloglu -- npx -y github:tugcantopaloglu/godot-mcp

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

91/100

Category

Automation

Supported Platforms

Claude Code
Claude Desktop
<img width="2752" height="1536" alt="godot_mcp_header" src="https://github.com/user-attachments/assets/ed7ac605-8fb5-4a5f-adf8-4b6912cbc18c" />

Godot MCP - Full Control

Made with Godot

A comprehensive Model Context Protocol (MCP) server that gives AI assistants full control over the Godot game engine. 157 tools spanning networking, 3D/2D rendering, UI controls, audio effects, animation trees, file I/O, runtime code execution, property inspection, scene manipulation, signal management, physics, project creation, and more.

Acknowledgments

This project is built upon and extends godot-mcp by Solomon Elias (Coding-Solo). The original project provided the foundational architecture including the TypeScript MCP server, headless GDScript operations system, and TCP-based runtime interaction server. Thank you for making this possible with your excellent open-source work!

What's New (Improvements Over Original)

The original godot-mcp provided 20 tools for basic project management and scene creation. This fork extends it to 157 tools with the following major additions:

New in 3.1

  • validate_script autoload resolution - Script validation now compiles the target through a SceneTree at _initialize() (after project autoloads are registered) instead of --check-only at _init(). References to autoload singletons no longer produce false Identifier not found errors, while real syntax/type errors are still caught. Verified building a full game whose scripts reference several autoloads.
  • manage_input_map event merging - Adding a second key to an existing input action now merges it into that action's events array (with physical_keycode de-duplication) instead of writing a duplicate actionname= line, which previously left project.godot malformed and silently dropped earlier bindings.

New in 3.0

  • .NET / C# support - Scaffold C# projects and generate C# scripts (create_project with dotnet: true, create_csharp_script); the .csproj SDK version is matched to your installed Godot.
  • GDScript diagnostics - Validate scripts for syntax and type errors without running the game (validate_script, and validate_scripts for all git-changed or project-wide files).
  • Correctness and robustness fixes across the headless scene operations and the runtime interaction server (resource-typed properties now persist, reparenting works, runtime commands are correlated by request id, and the tools survive projects with warnings-as-errors). Requires Godot 4.4 or later; tested and working with the latest Godot 4.7.

Runtime Code Execution

  • game_eval - Execute arbitrary GDScript code in the running game with return values
  • Full await support for async GDScript code
  • Works even when the game is paused (PROCESS_MODE_ALWAYS)

Runtime Node Inspection & Manipulation

  • game_get_property / game_set_property - Read/write any property on any node by path
  • game_call_method - Call any method on any node with arguments
  • game_get_node_info - Full node introspection: properties, signals, methods, children
  • game_instantiate_scene - Dynamically add scenes to the running game
  • game_remove_node - Remove nodes at runtime
  • game_change_scene - Switch scenes at runtime
  • game_reparent_node - Move nodes between parents

Signal System

  • game_connect_signal - Wire up signal connections at runtime
  • game_disconnect_signal - Remove signal connections
  • game_emit_signal - Emit signals with arguments

Animation & Tweening

  • game_play_animation - Control AnimationPlayer (play, stop, pause, list)
  • game_tween_property - Smooth property animation with configurable easing

Game Control & Debugging

  • game_pause - Pause/unpause the game
  • game_performance - FPS, frame time, memory, object counts, draw calls
  • game_wait - Wait N frames (timing-sensitive operations)
  • game_get_nodes_in_group - Query nodes by group
  • game_find_nodes_by_class - Find all nodes of a specific class

Headless Scene Operations (No Running Game Needed)

  • read_scene - Parse any .tscn file and get full node tree with properties as JSON
  • modify_scene_node - Change node properties in scene files
  • remove_scene_node - Remove nodes from scene files
  • attach_script - Attach GDScript files to nodes in scenes
  • create_resource - Create .tres resource files (materials, themes, etc.)

Project Management

  • read_project_settings - Parse project.godot as structured JSON
  • modify_project_settings - Change project settings programmatically
  • list_project_files - List and filter project files by extension

File I/O

  • read_file / write_file / delete_file - Full file system access within Godot projects
  • create_directory - Create directory structures for scripts, scenes, assets

Error & Log Capture

  • game_get_errors - Get new push_error/push_warning messages since last call
  • game_get_logs - Get new print output from the running game since last call

Enhanced Input

  • game_key_hold / game_key_release - Hold keys down for movement testing (WASD etc.)
  • game_scroll - Mouse scroll wheel events
  • game_mouse_drag - Drag between two points over multiple frames
  • game_gamepad - Gamepad button and axis input events

Project Creation & Configuration

  • create_project - Create a new Godot project from scratch (pass dotnet: true to scaffold a .NET/C# project)
  • create_csharp_script - Create a C# script in a Godot .NET project
  • manage_autoloads - Add, remove, or list autoloads
  • manage_input_map - Add, remove, or list input actions and key bindings
  • manage_export_presets - Create or modify export preset configuration

.NET / C# Support

  • create_project with dotnet: true - Scaffold a Godot .NET project (.csproj with Godot.NET.Sdk matched to your Godot version, plus the "C#" feature flag)
  • create_csharp_script - Generate an idiomatic C# script (partial class, correct _Ready/_Process override signatures); the class name is kept in sync with the file name so Godot can attach it
  • get_project_info reports an isDotnet field

GDScript Diagnostics

  • validate_script - Check a single GDScript file for syntax and type errors headlessly, returning { valid, errors: [{ message, file, line }] }
  • validate_scripts - Batch-validate all git-changed .gd files (or the whole project), so an agent can verify its edits before running the game

Camera, Physics & Audio

  • game_get_camera / game_set_camera - Query and control 2D/3D cameras
  • game_raycast - Cast physics rays (auto-detects 2D vs 3D)
  • game_get_audio - Get audio bus layout and playing streams
  • game_spawn_node - Create any node type at runtime with properties
  • game_set_shader_param - Set shader parameters on materials
  • game_audio_play / game_audio_bus - Full audio playback and bus control
  • game_navigate_path - Query navigation paths (2D/3D)
  • game_tilemap - Get/set TileMapLayer cells
  • game_add_collision - Add collision shapes to physics bodies
  • game_environment - Configure post-processing (fog, glow, SSAO, tonemap, etc.)
  • game_manage_group - Add/remove nodes from groups
  • game_create_timer - Create timer nodes programmatically
  • game_set_particles - Configure GPUParticles2D/3D properties and process materials
  • game_create_animation - Create animations with value/method/bezier/audio tracks and keyframes
  • export_project - Trigger headless project export builds (CI/CD ready)
  • game_serialize_state - Save/load entire node tree state as JSON
  • game_physics_body - Configure mass, velocity, damping, friction, bounce
  • game_create_joint - Create physics joints (pin, spring, hinge, cone, slider)
  • game_bone_pose - Get/set skeleton bone poses for character animation
  • game_ui_theme - Apply color, constant, and font size theme overrides
  • game_viewport - Create/configure SubViewport nodes
  • game_debug_draw - Draw debug geometry (lines, spheres, boxes)

Networking

  • game_http_request - HTTP GET/POST/PUT/DELETE with headers and body
  • game_websocket - WebSocket client connect/disconnect/send messages
  • game_multiplayer - ENet multiplayer create server/client/disconnect
  • game_rpc - Call or configure RPC methods on nodes

System & Window Control

  • game_script - Attach, detach, or get source of node scripts at runtime
  • game_window - Get/set window size, fullscreen, title, position
  • game_os_info - Get platform, locale, screen, adapter, memory info
  • game_time_scale - Get/set Engine.time_scale and timing info
  • game_process_mode - Set node process mode (pausable/always/disabled)
  • game_world_settings - Get/set gravity, physics FPS, and world settings

Advanced Signals & Input

  • game_list_signals - List all signals on a node with connections
  • game_await_signal - Await a signal with timeout and return args
  • game_touch - Simulate touch press/release/drag and gestures
  • game_input_state - Query pressed keys, mouse position, connected pads
  • game_input_action - Manage runtime InputMap actions and strength

3D Rendering & Geometry

  • game_csg - Create/configure CSG nodes with boolean operations
  • game_multimesh - Create/configure MultiMeshInstance3D for instancing
  • game_procedural_mesh - Generate meshes via ArrayMesh from vertex data
  • game_light_3d - Create/configure 3D lights (directional/omni/spot)
  • game_mesh_instance - Create MeshInstance3D with primitive meshes
  • game_gridmap - GridMap set/get/clear cells and query used cells
  • game_3d_effects - Create ReflectionProbe, Decal, or FogVolume
  • game_gi - Create/configure VoxelGI or LightmapGI
  • game_path_3d - Create Path3D/Curve3D and manage curve points
  • game_sky - Create/configure Sky with procedural/physical sky
  • game_camera_attributes - Configure DOF, exposure, auto-exposure on camera
  • game_navigation_3d - Create/configure NavigationRegion3D and bake
  • game_physics_3d - Area3D queries and point/shape intersection tests

2D Systems

  • game_canvas - Create/configure CanvasLayer and CanvasModulate
  • game_canvas_draw - 2D drawing: line/rect/circle/polygon/text/clear
  • game_light_2d - Create/configure 2D lights and light occluders
  • game_parallax - Create/configure ParallaxBackground and layers
  • game_shape_2d - Line2D/Polygon2D point manipulation
  • game_path_2d - Path2D/Curve2D management and AnimatedSprite2D
  • game_physics_2d - Area2D queries and 2D point/shape intersections

Advanced Animation

  • game_animation_tree - AnimationTree state machine travel and params
  • game_animation_control - AnimationPlayer seek/queue/speed/info control
  • game_skeleton_ik - SkeletonIK3D start/stop/set target position

Advanced Audio

  • game_audio_effect - Add/remove/configure audio bus effects
  • game_audio_bus_layout - Create/remove/reorder audio buses and routing
  • **`game_audio_spatia

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars465
CategoryAutomation
Updated2mo ago
Forks70

Languages

JavaScript

Security Score

100/100

Audited on Jul 13, 2026

No findings