godot-mcp (tugcantopaloglu/godot-mcp) is an MCP server listed on the M8ven Trust Index. It scores 60 out of 100, grade C. It declares 154 tools. No publisher has claimed this listing.

C
Caution
60/100

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.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code VerifiedSandbox Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

tugcantopaloglu

Source: Glama · also listed on github_topic

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Known vulnerabilities in dependencies: 2 critical, 11 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
// tools this server exposes154 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

launch_editor

Launch Godot editor for a specific project

run_project

Run the Godot project and capture output

get_debug_output

Get the current debug output and errors

stop_project

Stop the currently running Godot project

get_godot_version

Get the installed Godot version

list_projects

List Godot projects in a directory

get_project_info

Retrieve metadata about a Godot project

create_scene

Create a new Godot scene file

add_node

Add a node to an existing scene

load_sprite

Load a sprite into a Sprite2D node

export_mesh_library

Export a scene as a MeshLibrary resource

save_scene

Save changes to a scene file

get_uid

Get the UID for a specific file in a Godot project (for Godot 4.4+)

update_project_uids

Update UID references by resaving resources (4.4+)

game_screenshot

Screenshot the running game (returns base64 PNG)

game_click

Click at a position in the running Godot game window

game_key_press

Send a key press or input action to the running game

game_mouse_move

Move the mouse in the running Godot game

game_get_ui

Get visible UI elements from the running game

game_get_scene_tree

Get scene tree structure of the running game

game_eval

Execute GDScript in the running game. Use "return" for values.

game_get_property

Get a property value from any node in the running game by its path

game_set_property

Set a property on a node in the running game

game_call_method

Call a method on any node in the running game with optional arguments

game_get_node_info

Get node info: class, properties, signals, methods, children

game_instantiate_scene

Load a PackedScene and add it as a child of a node in the running game

game_remove_node

Remove and free a node from the running game's scene tree

game_change_scene

Switch to a different scene file in the running game

game_pause

Pause or unpause the running game

game_performance

Get performance metrics (FPS, memory, draw calls)

game_wait

Wait N frames in the running game

read_scene

Read scene file as JSON node tree (headless)

modify_scene_node

Modify node properties in a scene file (headless)

remove_scene_node

Remove a node from a scene file (headless)

read_project_settings

Read project.godot as structured JSON

modify_project_settings

Modify a project.godot setting

list_project_files

List project files, optionally filtered by extension

game_connect_signal

Connect a signal from one node to a method on another node in the running game

game_disconnect_signal

Disconnect a signal connection in the running game

game_emit_signal

Emit a signal on a node in the running game, optionally with arguments

game_play_animation

Control an AnimationPlayer node: play, stop, pause, or list animations

game_tween_property

Tween a node property in the running game

game_get_nodes_in_group

Get all nodes belonging to a specific group in the running game

game_find_nodes_by_class

Find all nodes of a specific class type in the running game

game_reparent_node

Move a node to a new parent in the running game's scene tree

attach_script

Attach a GDScript to a scene node (headless)

create_resource

Create a .tres resource file (headless)

read_file

Read a text file from a Godot project

write_file

Create or overwrite a text file in a Godot project

delete_file

Delete a file from a Godot project

create_directory

Create a directory inside a Godot project

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

game_key_hold

Hold a key down without auto-releasing

game_key_release

Release a previously held key

game_scroll

Send mouse scroll wheel event at position

game_mouse_drag

Drag mouse between two points over N frames

game_gamepad

Send gamepad button or axis input event

create_project

Create a new Godot project from scratch

manage_autoloads

Add, remove, or list autoloads in a Godot project

manage_input_map

Add, remove, or list input actions and bindings

manage_export_presets

Create or modify export preset configuration

game_get_camera

Get active camera position, rotation, and size

game_set_camera

Move or rotate the active camera

game_raycast

Cast a ray and return collision results

game_get_audio

Get audio bus layout and playing streams

game_spawn_node

Create a new node of any type at runtime

game_set_shader_param

Set a shader parameter on a node's material

game_audio_play

Play, stop, or pause an AudioStreamPlayer node

game_audio_bus

Set volume, mute, or solo on an audio bus

game_navigate_path

Query a navigation path between two points

game_tilemap

Get or set cells in a TileMapLayer node

game_add_collision

Add a collision shape to a physics body node

game_environment

Get or set environment and post-processing settings

game_manage_group

Add or remove a node from a group, or list groups

game_create_timer

Create a Timer node with configuration

game_set_particles

Configure GPUParticles2D/3D node properties

game_create_animation

Create an animation with tracks and keyframes

export_project

Export a Godot project using a preset

game_serialize_state

Save or load node tree state as JSON

game_physics_body

Configure physics body properties (mass, velocity, etc.)

game_create_joint

Create a physics joint between two bodies

game_bone_pose

Get or set bone poses on a Skeleton3D node

game_ui_theme

Apply theme overrides to a Control node

game_viewport

Create or configure a SubViewport node

game_debug_draw

Draw debug lines, spheres, or boxes in 3D

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

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

game_list_signals

List all signals on a node with connections

game_await_signal

Await a signal with timeout and return args

game_script

Attach, detach, or get source of node scripts

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)

54 further tools are not listed here. The complete surface is in the source.

// known CVEs in dependencies2 critical11 high12 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

criticalvitest@3.0.0GHSA-5xrq-8626-4rwp

When Vitest UI server is listening, arbitrary file can be read and executed

criticalvitest@3.0.0GHSA-9crc-q9x8-hgqq

Vitest allows Remote Code Execution when accessing a malicious website while Vitest API server is listening

highaxios@1.13.5GHSA-35jp-ww65-95wh

axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `config.proxy`

highaxios@1.13.5GHSA-3g43-6gmg-66jw

axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollution Gadget in Config Merge

highaxios@1.13.5GHSA-6chq-wfr3-2hj9

Axios: Header Injection via Prototype Pollution

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configGODOT_PATH"": "/path/to/godot",
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

154/154 tools missing one or more hints — launch_editor (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); run_project (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_debug_output (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +151 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Shell command execution

2 child_process calls — runs shell commands

Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.

Production dependencies are patched

0 critical, 11 high severity in production deps — axios@1.13.5 (high), axios@1.13.5 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Dev dependencies

2 critical/high in dev-only deps (does not ship to users)

Upgrade dev dependencies when convenient.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 5 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/tugcantopaloglu/godot-mcp?variant=verified)](https://m8ven.ai/mcp/tugcantopaloglu/godot-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: b77dfc7c62606d6bc10ee86a0e28a115c237644d
code hash: 5d1f302b6d37fd21dd23ddac9f95abf9ed862dcd2381a23fc566a4dae9bc4db1
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client