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.
# Add to your Claude Code skills
git clone https://github.com/tugcantopaloglu/godot-mcpGuides for using mcp servers skills like godot-mcp.
Last scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@hono/node-server: @hono/node-server: Middleware bypass via repeated slashes in serveStatic",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "axios: Axios has a NO_PROXY Hostname Normalization Bypass that Leads to SSRF",
"severity": "high"
},
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "express-rate-limit: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "fast-uri: fast-uri vulnerable to path traversal via percent-encoded dot segments",
"severity": "high"
},
{
"type": "npm-audit",
"message": "follow-redirects: follow-redirects leaks Custom Authentication Headers to Cross-Domain Redirect Targets",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "hono: Hono vulnerable to Prototype Pollution possible through __proto__ key allowed in parseBody({ dot: true })",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "ip-address: ip-address has XSS in Address6 HTML-emitting methods",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "path-to-regexp: path-to-regexp vulnerable to Denial of Service via sequential optional groups",
"severity": "high"
},
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "qs: qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vite: Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-05-30T15:29:13.556Z",
"npmAuditRan": true,
"pipAuditRan": true
}godot-mcp is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by tugcantopaloglu. 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. It has 328 GitHub stars.
godot-mcp returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/tugcantopaloglu/godot-mcp" and add it to your Claude Code skills directory (see the Installation section above).
godot-mcp is primarily written in JavaScript. It is open-source under tugcantopaloglu on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh godot-mcp against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
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.
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!
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:
create_project with dotnet: true, create_csharp_script); the .csproj SDK version is matched to your installed Godot.validate_script, and validate_scripts for all git-changed or project-wide files).game_eval - Execute arbitrary GDScript code in the running game with return valuesawait support for async GDScript codePROCESS_MODE_ALWAYS)game_get_property / game_set_property - Read/write any property on any node by pathgame_call_method - Call any method on any node with argumentsgame_get_node_info - Full node introspection: properties, signals, methods, childrengame_instantiate_scene - Dynamically add scenes to the running gamegame_remove_node - Remove nodes at runtimegame_change_scene - Switch scenes at runtimegame_reparent_node - Move nodes between parentsgame_connect_signal - Wire up signal connections at runtimegame_disconnect_signal - Remove signal connectionsgame_emit_signal - Emit signals with argumentsgame_play_animation - Control AnimationPlayer (play, stop, pause, list)game_tween_property - Smooth property animation with configurable easinggame_pause - Pause/unpause the gamegame_performance - FPS, frame time, memory, object counts, draw callsgame_wait - Wait N frames (timing-sensitive operations)game_get_nodes_in_group - Query nodes by groupgame_find_nodes_by_class - Find all nodes of a specific classread_scene - Parse any .tscn file and get full node tree with properties as JSONmodify_scene_node - Change node properties in scene filesremove_scene_node - Remove nodes from scene filesattach_script - Attach GDScript files to nodes in scenescreate_resource - Create .tres resource files (materials, themes, etc.)read_project_settings - Parse project.godot as structured JSONmodify_project_settings - Change project settings programmaticallylist_project_files - List and filter project files by extensionread_file / write_file / delete_file - Full file system access within Godot projectscreate_directory - Create directory structures for scripts, scenes, assetsgame_get_errors - Get new push_error/push_warning messages since last callgame_get_logs - Get new print output from the running game since last callgame_key_hold / game_key_release - Hold keys down for movement testing (WASD etc.)game_scroll - Mouse scroll wheel eventsgame_mouse_drag - Drag between two points over multiple framesgame_gamepad - Gamepad button and axis input eventscreate_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 projectmanage_autoloads - Add, remove, or list autoloadsmanage_input_map - Add, remove, or list input actions and key bindingsmanage_export_presets - Create or modify export preset configurationcreate_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 itget_project_info reports an isDotnet fieldvalidate_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 gamegame_get_camera / game_set_camera - Query and control 2D/3D camerasgame_raycast - Cast physics rays (auto-detects 2D vs 3D)game_get_audio - Get audio bus layout and playing streamsgame_spawn_node - Create any node type at runtime with propertiesgame_set_shader_param - Set shader parameters on materialsgame_audio_play / game_audio_bus - Full audio playback and bus controlgame_navigate_path - Query navigation paths (2D/3D)game_tilemap - Get/set TileMapLayer cellsgame_add_collision - Add collision shapes to physics bodiesgame_environment - Configure post-processing (fog, glow, SSAO, tonemap, etc.)game_manage_group - Add/remove nodes from groupsgame_create_timer - Create timer nodes programmaticallygame_set_particles - Configure GPUParticles2D/3D properties and process materialsgame_create_animation - Create animations with value/method/bezier/audio tracks and keyframesexport_project - Trigger headless project export builds (CI/CD ready)game_serialize_state - Save/load entire node tree state as JSONgame_physics_body - Configure mass, velocity, damping, friction, bouncegame_create_joint - Create physics joints (pin, spring, hinge, cone, slider)game_bone_pose - Get/set skeleton bone poses for character animationgame_ui_theme - Apply color, constant, and font size theme overridesgame_viewport - Create/configure SubViewport nodesgame_debug_draw - Draw debug geometry (lines, spheres, boxes)game_http_request - HTTP GET/POST/PUT/DELETE with headers and bodygame_websocket - WebSocket client connect/disconnect/send messagesgame_multiplayer - ENet multiplayer create server/client/disconnectgame_rpc - Call or configure RPC methods on nodesgame_script - Attach, detach, or get source of node scripts at runtimegame_window - Get/set window size, fullscreen, title, positiongame_os_info - Get platform, locale, screen, adapter, memory infogame_time_scale - Get/set Engine.time_scale and timing infogame_process_mode - Set node process mode (pausable/always/disabled)game_world_settings - Get/set gravity, physics FPS, and world settingsgame_list_signals - List all signals on a node with connectionsgame_await_signal - Await a signal with timeout and return argsgame_touch - Simulate touch press/release/drag and gesturesgame_input_state - Query pressed keys, mouse position, connected padsgame_input_action - Manage runtime InputMap actions and strengthgame_csg - Create/configure CSG nodes with boolean operationsgame_multimesh - Create/configure MultiMeshInstance3D for instancinggame_procedural_mesh - Generate meshes via ArrayMesh from vertex datagame_light_3d - Create/configure 3D lights (directional/omni/spot)game_mesh_instance - Create MeshInstance3D with primitive meshesgame_gridmap - GridMap set/get/clear cells and query used cellsgame_3d_effects - Create ReflectionProbe, Decal, or FogVolumegame_gi - Create/configure VoxelGI or LightmapGIgame_path_3d - Create Path3D/Curve3D and manage curve poin