Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Godot MCP

NPM · @TUGCANTOPALOGLU/GODOT-MCP · SCANNED AUG 7

MCP server for full Godot 4.x engine control with 165 tools for AI-driven game development

+40 this week 61 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security70
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects @modelcontextprotocol/sdk 0.6.0, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • Dependency health was assessed across the 47 of 48 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability71
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 12471 tokens (~80/item across 154 items; 154 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management37
  • Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities20
  • Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @tugcantopaloglu/godot-mcp

# add to Claude Code
claude mcp add tugcantopaloglu-godot-mcp -- npx -y @tugcantopaloglu/godot-mcp
# add to Codex CLI
codex mcp add tugcantopaloglu-godot-mcp -- npx -y @tugcantopaloglu/godot-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tugcantopaloglu-godot-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@tugcantopaloglu/godot-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add tugcantopaloglu-godot-mcp --command npx --arg -y --arg @tugcantopaloglu/godot-mcp
# ~/.hermes/config.yaml
mcp_servers:
  tugcantopaloglu-godot-mcp:
    command: "npx"
    args: ["-y", "@tugcantopaloglu/godot-mcp"]
// mcp.json
{
  "mcpServers": {
    "tugcantopaloglu-godot-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tugcantopaloglu/godot-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 7 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 5 Aug 26 +1
    • Security disclosure: unverified → fail functional
  • 4 Aug 26 +4
    • Security disclosure: fail → unverified functional
    • Stability: unverified → 0.27 functional
  • 2 Aug 26 +50
    • CVE-2025-66414 affects this package: high security
    • Known CVEs: unverified → fail security
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • MCP protocol: unverified → fail functional
    • Tool coverage: unverified → 100 functional
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • Schema quality: unverified → good functional
    • Licence: MIT functional
  • 1 Aug 26 −16
    • Tool coverage: 100 → unverified functional
  • 31 Jul 26 +15
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −40
    • Malware scan: pass → unverified security
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
  • 27 Jul 26 46

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 7 Aug 2026 · Analysed npm/@tugcantopaloglu/[email protected]

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm
Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-w48q-cv73-mx4w CVE-2025-66414 high yes
Dependencies 47 packages
Packages resolved 47
Deprecated 47
Stale 13
Tree resolution Partial

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools · 154 exposed · ~12,471 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
add_node ~121

Add a node to an existing scene

NameTypeReqDescription
nodeNamestringyesName for the new node
nodeTypestringyesType of node to add (e.g., Sprite2D, CollisionShape2D)
parentNodePathstringPath to the parent node (e.g., "root" or "root/Player")
projectPathstringyesGodot project path
propertiesobjectOptional properties to set on the node
scenePathstringyesScene file path (relative to project)

No output schema declared.

No examples provided.

attach_script ~90

Attach a GDScript to a scene node (headless)

NameTypeReqDescription
nodePathstringyesPath to the node within the scene (e.g., "root/Player")
projectPathstringyesGodot project path
scenePathstringyesScene file path (relative to project)
scriptPathstringyesPath to the .gd script file (relative to project)

No output schema declared.

No examples provided.

create_directory ~43

Create a directory inside a Godot project

NameTypeReqDescription
directoryPathstringyesDirectory path relative to project root
projectPathstringyesGodot project path

No output schema declared.

No examples provided.

create_project ~44

Create a new Godot project from scratch

NameTypeReqDescription
projectNamestringyesName of the project
projectPathstringyesDirectory where the project will be created

No output schema declared.

No examples provided.

create_resource ~92

Create a .tres resource file (headless)

NameTypeReqDescription
projectPathstringyesGodot project path
propertiesobjectOptional properties to set on the resource
resourcePathstringyesWhere to save the .tres file (relative to project)
resourceTypestringyesGodot class name (e.g., "StandardMaterial3D", "Theme", "Environment")

No output schema declared.

No examples provided.

create_scene ~73

Create a new Godot scene file

NameTypeReqDescription
projectPathstringyesGodot project path
rootNodeTypestringType of the root node (e.g., Node2D, Node3D)
scenePathstringyesPath where the scene file will be saved (relative to project)

No output schema declared.

No examples provided.

create_script ~97

Create a GDScript file from a template

NameTypeReqDescription
classNamestringOptional class_name
extendsstringBase class to extend. Default: Node
methodsarrayMethod stubs to include
projectPathstringyesGodot project path
scriptPathstringyesScript file path (relative to project)
sourcestringFull source code (overrides template)

No output schema declared.

No examples provided.

delete_file ~43

Delete a file from a Godot project

NameTypeReqDescription
filePathstringyesFile path relative to project root
projectPathstringyesGodot project path

No output schema declared.

No examples provided.

export_mesh_library ~90

Export a scene as a MeshLibrary resource

NameTypeReqDescription
meshItemNamesarrayOptional: Names of specific mesh items to include (defaults to all)
outputPathstringyesPath where the mesh library (.res) will be saved
projectPathstringyesGodot project path
scenePathstringyesPath to the scene file (.tscn) to export

No output schema declared.

No examples provided.

export_project ~69

Export a Godot project using a preset

NameTypeReqDescription
debugbooleanUse debug export. Default: false
outputPathstringyesOutput file path for the exported build
presetNamestringyesExport preset name
projectPathstringyesGodot project path

No output schema declared.

No examples provided.

game_3d_effects ~82

Create ReflectionProbe, Decal, or FogVolume

NameTypeReqDescription
effectTypestringyesType: reflection_probe, decal, fog_volume
intensitynumberEffect intensity
namestringNode name
parentPathstringyesParent node path
sizeobjectEffect size {x,y,z}

No output schema declared.

No examples provided.

game_add_collision ~108

Add a collision shape to a physics body node

NameTypeReqDescription
collisionLayernumberCollision layer bitmask
collisionMasknumberCollision mask bitmask
disabledbooleanStart disabled
parentPathstringyesPath to CollisionBody/Area node
shapeParamsobjectShape dimensions (e.g. {radius, height})
shapeTypestringyesShape: box, sphere/circle, capsule, cylinder, ray, segment

No output schema declared.

No examples provided.

game_animation_control ~83

AnimationPlayer seek/queue/speed/info control

NameTypeReqDescription
actionstringyesAction: seek, queue, set_speed, get_info, stop
animationNamestringAnimation name
nodePathstringyesPath to AnimationPlayer node
positionnumberSeek position in seconds
speednumberPlayback speed scale

No output schema declared.

No examples provided.

game_animation_tree ~80

AnimationTree state machine travel and params

NameTypeReqDescription
actionstringyesAction: travel, set_param, get_state, get_params
nodePathstringyesPath to AnimationTree node
paramNamestringParameter name
paramValueParameter value
stateNamestringState name (for travel)

No output schema declared.

No examples provided.

game_audio_bus ~71

Set volume, mute, or solo on an audio bus

NameTypeReqDescription
busNamestringBus name. Default: "Master"
mutebooleanMute the bus
solobooleanSolo the bus
volumenumberVolume (linear 0-1)

No output schema declared.

No examples provided.

game_audio_bus_layout ~72

Create/remove/reorder audio buses and routing

NameTypeReqDescription
actionstringyesAction: add, remove, move, set_send, list
busNamestringBus name
indexnumberTarget index (for move)
sendTostringSend target bus name

No output schema declared.

No examples provided.

game_audio_effect ~90

Add/remove/configure audio bus effects

NameTypeReqDescription
actionstringyesAction: add, remove, configure, list
busNamestringAudio bus name. Default: Master
effectTypestringEffect: reverb, delay, chorus, eq, compressor, limiter
indexnumberEffect index
propertiesobjectEffect properties to set

No output schema declared.

No examples provided.

game_audio_play ~118

Play, stop, or pause an AudioStreamPlayer node

NameTypeReqDescription
actionstringAction: play, stop, pause, resume
busstringAudio bus name
fromPositionnumberStart position in seconds
nodePathstringyesPath to AudioStreamPlayer/2D/3D node
pitchnumberPitch scale
streamstringOptional res:// path to load a new stream
volumenumberVolume (linear 0-1)

No output schema declared.

No examples provided.

game_audio_spatial ~101

Configure AudioStreamPlayer3D spatial properties

NameTypeReqDescription
actionstringyesAction: configure, get_info
attenuationModelstringModel: inverse, inverse_square, logarithmic
maxDbnumberMaximum volume in dB
maxDistancenumberMaximum audible distance
nodePathstringyesPath to AudioStreamPlayer3D
unitSizenumberUnit size for distance attenuation

No output schema declared.

No examples provided.

game_await_signal ~58

Await a signal with timeout and return args

NameTypeReqDescription
nodePathstringyesPath to the node
signalNamestringyesSignal name to await
timeoutnumberTimeout in seconds. Default: 10

No output schema declared.

No examples provided.

game_bone_pose ~120

Get or set bone poses on a Skeleton3D node

NameTypeReqDescription
actionstringAction: list, get, or set. Default: list
boneIndexnumberBone index
boneNamestringBone name (alternative to index)
nodePathstringyesPath to Skeleton3D node
positionobjectBone position {x,y,z}
rotationobjectBone rotation quaternion {x,y,z,w}
scaleobjectBone scale {x,y,z}

No output schema declared.

No examples provided.

game_call_method ~62

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

NameTypeReqDescription
argsarrayOptional array of arguments to pass to the method
methodstringyesMethod name to call
nodePathstringyesPath to the node

No output schema declared.

No examples provided.

game_camera_attributes ~110

Configure DOF, exposure, auto-exposure on camera

NameTypeReqDescription
actionstringAction: get or set
autoExposurebooleanEnable auto exposure
autoExposureScalenumberAuto exposure scale
dofBlurAmountnumberDOF blur amount
dofBlurFarnumberDOF far blur distance
dofBlurNearnumberDOF near blur distance
exposureMultipliernumberExposure multiplier

No output schema declared.

No examples provided.

game_canvas ~93

Create/configure CanvasLayer and CanvasModulate

NameTypeReqDescription
actionstringyesAction: create_layer, create_modulate, configure
colorobjectModulate color {r,g,b,a}
layernumberCanvas layer number
namestringNode name
nodePathstringNode path (for configure)
parentPathstringParent node path

No output schema declared.

No examples provided.

game_canvas_draw ~182

2D drawing: line/rect/circle/polygon/text/clear

NameTypeReqDescription
actionstringyesAction: line, rect, circle, polygon, text, clear
centerobjectCenter point {x,y}
colorobjectDraw color {r,g,b,a}
filledbooleanFill shape. Default: true
fromobjectStart point {x,y}
parentPathstringParent node path for draw node
pointsarrayPolygon points [{x,y},...]
radiusnumberCircle radius
rectobjectRectangle {x,y,w,h}
textstringText to draw
toobjectEnd point {x,y}
widthnumberLine width. Default: 2

No output schema declared.

No examples provided.

game_change_scene ~50

Switch to a different scene file in the running game

NameTypeReqDescription
scenePathstringyesResource path to the scene (e.g., "res://scenes/levels/level2.tscn")

No output schema declared.

No examples provided.

game_click ~70

Click at a position in the running Godot game window

NameTypeReqDescription
buttonnumberMouse button (1=left, 2=right, 3=middle). Default: 1
xnumberyesX coordinate to click
ynumberyesY coordinate to click

No output schema declared.

No examples provided.

game_connect_signal ~89

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

NameTypeReqDescription
methodstringyesMethod name to call on the target node
nodePathstringyesPath to the source node that emits the signal
signalNamestringyesName of the signal to connect
targetPathstringyesPath to the target node that receives the signal

No output schema declared.

No examples provided.

game_create_animation ~109

Create an animation with tracks and keyframes

NameTypeReqDescription
animationNamestringyesName for the new animation
lengthnumberAnimation length in seconds. Default: 1.0
librarystringAnimation library name. Default: ""
loopModenumber0=none, 1=linear, 2=pingpong
nodePathstringyesPath to AnimationPlayer node
tracksarrayArray of track definitions

No output schema declared.

No examples provided.

game_create_joint ~162

Create a physics joint between two bodies

NameTypeReqDescription
dampingnumberSpring damping (spring_2d)
jointTypestringyesJoint type: pin_2d, spring_2d, groove_2d, pin_3d, hinge_3d, cone_3d, slider_3d
lengthnumberLength (spring_2d, groove_2d)
nodeAPathstringPath to first body
nodeBPathstringPath to second body
parentPathstringyesParent node path for the joint
softnessnumberSoftness (pin_2d)
stiffnessnumberSpring stiffness (spring_2d)

No output schema declared.

No examples provided.

game_create_timer ~94

Create a Timer node with configuration

NameTypeReqDescription
autostartbooleanAuto-start the timer. Default: false
namestringOptional timer node name
oneShotbooleanOne-shot mode. Default: false
parentPathstringParent node path. Default: "/root"
waitTimenumberTimer duration in seconds. Default: 1.0

No output schema declared.

No examples provided.

game_csg ~150

Create/configure CSG nodes with boolean operations

NameTypeReqDescription
actionstringyesAction: create or configure
csgTypestringCSG type: box, sphere, cylinder, mesh, combiner
heightnumberHeight (cylinder)
materialstringMaterial resource path
namestringNode name
nodePathstringNode path (for configure)
operationstringBoolean op: union, intersection, subtraction
parentPathstringParent node path
radiusnumberRadius (sphere/cylinder)
sizeobjectSize {x,y,z} (box)

No output schema declared.

No examples provided.

game_debug_draw ~142

Draw debug lines, spheres, or boxes in 3D

NameTypeReqDescription
actionstringyesAction: line, sphere, box, or clear
centerobjectSphere/box center {x,y,z}
colorobjectDraw color {r,g,b,a}. Default: red
durationnumberFrames to persist (0=permanent)
fromobjectLine start {x,y,z}
radiusnumberSphere radius. Default: 0.5
sizeobjectBox size {x,y,z}
toobjectLine end {x,y,z}

No output schema declared.

No examples provided.

game_disconnect_signal ~68

Disconnect a signal connection in the running game

NameTypeReqDescription
methodstringyesMethod name on the target
nodePathstringyesPath to the source node
signalNamestringyesName of the signal
targetPathstringyesPath to the target node

No output schema declared.

No examples provided.

game_emit_signal ~64

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

NameTypeReqDescription
argsarrayOptional arguments to pass with the signal
nodePathstringyesPath to the node
signalNamestringyesName of the signal to emit

No output schema declared.

No examples provided.

game_environment ~278

Get or set environment and post-processing settings

NameTypeReqDescription
actionstringAction: get or set. Default: set
ambientLightColorobjectAmbient light color {r,g,b,a}
ambientLightEnergynumberAmbient light energy
backgroundColorobjectBackground color {r,g,b,a}
backgroundModenumber0=clear, 1=custom_color, 2=sky, 3=canvas
brightnessnumberBrightness adjustment
contrastnumberContrast adjustment
fogDensitynumberFog density
fogEnabledbooleanEnable fog
fogLightColorobjectFog light color {r,g,b,a}
glowBloomnumberGlow bloom
glowEnabledbooleanEnable glow
glowIntensitynumberGlow intensity
saturationnumberSaturation adjustment
ssaoEnabledbooleanEnable SSAO
ssaoIntensitynumberSSAO intensity
ssaoRadiusnumberSSAO radius
ssrEnabledbooleanEnable SSR
tonemapModenumber0=linear, 1=reinhardt, 2=filmic, 3=aces

No output schema declared.

No examples provided.

game_eval ~45

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

NameTypeReqDescription
codestringyesGDScript code to execute. Use "return" to return values.

No output schema declared.

No examples provided.

game_find_nodes_by_class ~71

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

NameTypeReqDescription
classNamestringyesClass name to search for (e.g., "CharacterBody3D", "Light3D")
rootPathstringRoot node path to start searching from. Default: "/root"

No output schema declared.

No examples provided.

game_gamepad ~85

Send gamepad button or axis input event

NameTypeReqDescription
devicenumberGamepad device index. Default: 0
indexnumberyesButton or axis index
typestringyes"button" or "axis"
valuenumberyesValue: 0/1 for buttons, -1.0 to 1.0 for axes

No output schema declared.

No examples provided.

game_get_audio ~17

Get audio bus layout and playing streams

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

game_get_camera ~19

Get active camera position, rotation, and size

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

game_get_errors ~21

Get new push_error/push_warning messages since last call

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

game_get_logs ~21

Get new print output from the running game since last call

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

game_get_node_info ~44

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

NameTypeReqDescription
nodePathstringyesPath to the node (e.g., "/root/Player")

No output schema declared.

No examples provided.

game_get_nodes_in_group ~47

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

NameTypeReqDescription
groupstringyesGroup name (e.g., "enemies", "player", "checkpoints")

No output schema declared.

No examples provided.

game_get_property ~73

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

NameTypeReqDescription
nodePathstringyesPath to the node (e.g., "/root/Player", "/root/Main/Enemy")
propertystringyesProperty name to get (e.g., "position", "health", "visible")

No output schema declared.

No examples provided.

game_get_scene_tree ~19

Get scene tree structure of the running game

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

game_get_ui ~18

Get visible UI elements from the running game

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

game_gi ~72

Create/configure VoxelGI or LightmapGI

NameTypeReqDescription
giTypestringyesType: voxel_gi or lightmap_gi
namestringNode name
parentPathstringyesParent node path
sizeobjectExtents size {x,y,z}

No output schema declared.

No examples provided.

game_gridmap ~104

GridMap set/get/clear cells and query used cells

NameTypeReqDescription
actionstringyesAction: set_cell, get_cell, clear, get_used
itemnumberMeshLibrary item index
nodePathstringyesPath to GridMap node
orientationnumberCell orientation index
xnumberCell X coordinate
ynumberCell Y coordinate
znumberCell Z coordinate

No output schema declared.

No examples provided.