Godot Agent Loop
NPM · @BEREMARAN/GODOT-AGENT-LOOP · SCANNED AUG 4
MCP automation loop with 167 tested tools for Godot 4
Available components
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 Security83
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known medium-severity CVE affects hono 4.12.33, reached via @modelcontextprotocol/sdk > hono. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to beremaran/godot-agent-loop). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 1 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability71
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 2733 tokens (~70/item across 39 items; 39 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 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
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
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 · @beremaran/godot-agent-loop
claude mcp add beremaran-godot-agent-loop -- npx -y @beremaran/godot-agent-loop
codex mcp add beremaran-godot-agent-loop -- npx -y @beremaran/godot-agent-loop
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"beremaran-godot-agent-loop": {
"type": "local",
"command": [
"npx",
"-y",
"@beremaran/godot-agent-loop"
],
"enabled": true
}
}
} openclaw mcp add beremaran-godot-agent-loop --command npx --arg -y --arg @beremaran/godot-agent-loop
mcp_servers:
beremaran-godot-agent-loop:
command: "npx"
args: ["-y", "@beremaran/godot-agent-loop"] {
"mcpServers": {
"beremaran-godot-agent-loop": {
"command": "npx",
"args": [
"-y",
"@beremaran/godot-agent-loop"
]
}
}
} 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.
- 4 Aug 26 +3
- CVE-2026-69207 affects this package: medium ▼ security
- Known CVEs: partial → fail ▼ security
- Stability: unverified → 0.30 ▲ functional
- 3 Aug 26 +53
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Provenance: unverified → pass ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- The attested source repository moved: beremaran/godot-agent-loop security
- Security disclosure: unverified → fail ▼ functional
- Tool coverage: unverified → 100 ▲ functional
- License: unverified → pass ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Schema quality: unverified → good ▲ functional
- Licence: MIT functional
- 2 Aug 26 +2
- Security disclosure: fail → unverified ▼ functional
- Dependency health: unverified → partial ▲ functional
- 1 Aug 26 −8
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 31 Jul 26 −18
- Malware scan: pass → unverified ▼ security
- Security disclosure: fail → unverified ▼ functional
- 30 Jul 26 +22
- Tool coverage: unverified → 100 ▲ functional
- 28 Jul 26 −22
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 46
First indexed and scored.
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 4 Aug 2026 · Analysed npm/@beremaran/[email protected]
Provenance verified
Ecosystem: npm · Outcome: verified
Reason: verified
- Source repo:
- beremaran/godot-agent-loop
- Certificate issuer:
- https://token.actions.githubusercontent.com
- Certificate SAN:
- https://github.com/beremaran/godot-agent-loop/.github/workflows/publish-npm.yml@refs/heads/main
- Rekor log index:
- 2171972798
- Predicate type:
- https://slsa.dev/provenance/v1
- Subject digest:
- sha512:7ec73b342a4e6b76e7b5415f94a088982e0a04ed94da53c49438f1f27bba7729d2396352944e8e636eb0273cbae2c4eb162c2868a684916ebf8aa2b17
- Discovery method:
- attestation_endpoint
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-8j4g-w8fx-2239 | CVE-2026-69207 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L | yes |
Dependencies 96 packages
96 packages in the resolved dependency tree · 96 deprecated · 30 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
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.
add_node ~121
Add a node to an existing scene
| Name | Type | Req | Description |
|---|---|---|---|
| nodeName | string | yes | Name for the new node |
| nodeType | string | yes | Type of node to add (e.g., Sprite2D, CollisionShape2D) |
| parentNodePath | string | — | Path to the parent node (e.g., "root" or "root/Player") |
| projectPath | string | yes | Godot project path |
| properties | object | — | Optional properties to set on the node |
| scenePath | string | yes | Scene file path (relative to project) |
No output schema declared.
No examples provided.
attach_script ~90
Attach a GDScript to a scene node (headless)
| Name | Type | Req | Description |
|---|---|---|---|
| nodePath | string | yes | Path to the node within the scene (e.g., "root/Player") |
| projectPath | string | yes | Godot project path |
| scenePath | string | yes | Scene file path (relative to project) |
| scriptPath | string | yes | Path to the .gd script file (relative to project) |
No output schema declared.
No examples provided.
create_project ~73
Create a new Godot project from scratch
| Name | Type | Req | Description |
|---|---|---|---|
| dotnet | boolean | — | Scaffold a .NET (C#) project (.csproj + "C#" feature). Default: false |
| projectName | string | yes | Name of the project |
| projectPath | string | yes | Directory where the project will be created |
No output schema declared.
No examples provided.
create_scene ~73
Create a new Godot scene file
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | yes | Godot project path |
| rootNodeType | string | — | Type of the root node (e.g., Node2D, Node3D) |
| scenePath | string | yes | Path 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
| Name | Type | Req | Description |
|---|---|---|---|
| className | string | — | Optional class_name |
| extends | string | — | Base class to extend. Default: Node |
| methods | array | — | Method stubs to include |
| projectPath | string | yes | Godot project path |
| scriptPath | string | yes | Script file path (relative to project) |
| source | string | — | Full source code (overrides template) |
No output schema declared.
No examples provided.
editor_control ~113
Inspect and edit open scenes through an authenticated editor bridge
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Editor action |
| name | string | — | New node name |
| nodePath | string | — | Scene-relative node path |
| nodePaths | array | — | Scene-relative node paths for select |
| projectPath | string | yes | Godot project path whose editor is open |
| property | string | — | Property to edit |
| scenePath | string | — | Project-relative or res:// scene path |
| value | — | — | New property value |
No output schema declared.
No examples provided.
game_click ~70
Click at a position in the running Godot game window
| Name | Type | Req | Description |
|---|---|---|---|
| button | integer | — | Mouse button (1=left, 2=right, 3=middle). Default: 1 |
| x | number | yes | X coordinate to click |
| y | number | yes | Y coordinate to click |
No output schema declared.
No examples provided.
game_get_errors ~40
Get new push_error/push_warning messages since last call
| Name | Type | Req | Description |
|---|---|---|---|
| maxItems | integer | — | Maximum unread error lines returned. Default: 1000 |
No output schema declared.
No examples provided.
game_get_logs ~40
Get new print output from the running game since last call
| Name | Type | Req | Description |
|---|---|---|---|
| maxItems | integer | — | Maximum unread log lines returned. Default: 1000 |
No output schema declared.
No examples provided.
game_get_node_info ~44
Get node info: class, properties, signals, methods, children
| Name | Type | Req | Description |
|---|---|---|---|
| nodePath | string | yes | Path to the node (e.g., "/root/Player") |
No output schema declared.
No examples provided.
game_get_scene_tree ~40
Get scene tree structure of the running game
| Name | Type | Req | Description |
|---|---|---|---|
| maxNodes | integer | — | Maximum nodes returned in deterministic pre-order. Default: 1000 |
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_key_press ~159
Send a key press or input action to the running game
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | — | Godot input action name (e.g. "move_forward", "ui_accept") |
| alt | boolean | — | Alt modifier |
| ctrl | boolean | — | Ctrl modifier |
| key | string | — | Key name (e.g. "W", "Space", "Escape", "Enter") |
| meta | boolean | — | Meta/Command modifier |
| physical | boolean | — | Treat key as a physical key location |
| pressed | boolean | — | Press (true) or release (false). Default: true (auto-release) |
| shift | boolean | — | Shift modifier |
| text | string | — | Unicode text to inject instead of a named key/action |
No output schema declared.
No examples provided.
game_key_release ~40
Release a previously held key
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | — | Godot input action name to release |
| key | string | — | Key name to release |
No output schema declared.
No examples provided.
game_screenshot ~19
Screenshot the running game (returns base64 PNG)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
game_wait ~65
Wait N frames in the running game
| Name | Type | Req | Description |
|---|---|---|---|
| frameType | string | — | Frame to wait on: "physics" (fixed 60Hz ticks) or "render". Default: render |
| frames | integer | — | Positive integer number of frames to wait. Default: 1 |
No output schema declared.
No examples provided.
get_debug_output ~17
Get the current debug output and errors
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_godot_version ~18
Get the installed Godot version
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_project_info ~29
Retrieve metadata about a Godot project
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | yes | Godot project path |
No output schema declared.
No examples provided.
godot_tools ~97
Search, inspect, or call tools outside the default core surface
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Discovery or dispatch action |
| arguments | object | — | Arguments passed to the selected tool |
| domain | string | — | Optional domain filter |
| limit | integer | — | Maximum search results. Default: 20 |
| query | string | — | Name/description/action search text |
| toolName | string | — | Tool to describe or call |
No output schema declared.
No examples provided.
launch_editor ~29
Launch Godot editor for a specific project
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | yes | Godot project path |
No output schema declared.
No examples provided.
list_project_files ~116
List project files, optionally filtered by extension
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | integer | — | Zero-based cursor from a previous response. Default: 0 |
| extensions | array | — | Optional file extensions to filter by (e.g., [".gd", ".tscn"]). Include the dot. |
| limit | integer | — | Maximum files returned per page. Default: 1000 |
| projectPath | string | yes | Godot project path |
| subdirectory | string | — | Optional subdirectory to search in (e.g., "scripts/player") |
No output schema declared.
No examples provided.
list_projects ~45
List Godot projects in a directory
| Name | Type | Req | Description |
|---|---|---|---|
| directory | string | yes | Directory to search for Godot projects |
| recursive | boolean | — | Whether to search recursively (default: false) |
No output schema declared.
No examples provided.
manage_input_map ~106
Add, remove, or list input actions and bindings
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | "list", "add", or "remove" |
| actionName | string | — | Input action name (required for add/remove) |
| deadzone | number | — | Deadzone for the action. Default: 0.5 |
| key | string | — | Key to bind (for add, e.g. "W", "Space") |
| projectPath | string | yes | Godot project path |
No output schema declared.
No examples provided.
modify_project_settings ~100
Modify a project.godot setting
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | Setting key (e.g., "run/main_scene", "window/size/viewport_width") |
| projectPath | string | yes | Godot project path |
| section | string | yes | Section in project.godot (e.g., "application", "display", "rendering") |
| value | string | yes | Value to set (as a string, will be written as-is) |
No output schema declared.
No examples provided.
modify_scene_node ~91
Modify node properties in a scene file (headless)
| Name | Type | Req | Description |
|---|---|---|---|
| nodePath | string | yes | Path to the node within the scene (e.g., "root/Player/Sprite2D") |
| projectPath | string | yes | Godot project path |
| properties | object | yes | Properties to set on the node as key-value pairs |
| scenePath | string | yes | Scene file path (relative to project) |
No output schema declared.
No examples provided.
read_file ~44
Read a text file from a Godot project
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | File path relative to project root |
| projectPath | string | yes | Godot project path |
No output schema declared.
No examples provided.
read_project_settings ~30
Read project.godot as structured JSON
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | yes | Godot project path |
No output schema declared.
No examples provided.
read_scene ~46
Read scene file as JSON node tree (headless)
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | yes | Godot project path |
| scenePath | string | yes | Scene file path (relative to project) |
No output schema declared.
No examples provided.
remove_scene_node ~72
Remove a node from a scene file (headless)
| Name | Type | Req | Description |
|---|---|---|---|
| nodePath | string | yes | Path to the node to remove (e.g., "root/Player/OldNode") |
| projectPath | string | yes | Godot project path |
| scenePath | string | yes | Scene file path (relative to project) |
No output schema declared.
No examples provided.
run_project ~42
Run the Godot project and capture output
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | yes | Godot project path |
| scene | string | — | Optional: Specific scene to run |
No output schema declared.
No examples provided.
run_project_tests ~132
Discover or run native, GUT, and GdUnit4 project tests with structured results
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Discover tests or run them |
| artifactPaths | array | — | Project-relative report files to return as artifact metadata |
| failFast | boolean | — | Stop native execution after the first failed file. Default: false |
| framework | string | — | Test framework. Default: auto |
| projectPath | string | yes | Godot project path |
| testPaths | array | — | Project-relative test files or directories |
| timeoutSeconds | number | — | Per-run timeout. Default: 60 |
No output schema declared.
No examples provided.
save_scene ~63
Save changes to a scene file
| Name | Type | Req | Description |
|---|---|---|---|
| newPath | string | — | Optional: New path to save the scene to (for creating variants) |
| projectPath | string | yes | Godot project path |
| scenePath | string | yes | Scene file path (relative to project) |
No output schema declared.
No examples provided.
set_main_scene ~45
Set the main scene in project.godot
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | yes | Godot project path |
| scenePath | string | yes | Scene path (relative to project) |
No output schema declared.
No examples provided.
stop_project ~16
Stop the currently running Godot project
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
validate_script ~62
Check a GDScript file for syntax/type errors (headless, no run)
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | yes | Godot project path |
| scriptPath | string | yes | GDScript file path relative to project (e.g. "scripts/player.gd") |
No output schema declared.
No examples provided.
validate_scripts ~85
Batch-check GDScript files (git-changed by default, or all)
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | yes | Godot project path |
| scope | string | — | "changed" = git-changed .gd (default); "all" = every .gd in project |
| scriptPaths | array | — | Optional explicit list of .gd paths to check (overrides scope) |
No output schema declared.
No examples provided.
verify_project ~112
Run bounded assertions and capture evidence with deterministic teardown
| Name | Type | Req | Description |
|---|---|---|---|
| assertions | array | — | Bounded assertions evaluated against the running game |
| captureScreenshot | boolean | — | Capture a screenshot and return its SHA-256 digest. Default: false |
| projectPath | string | yes | Godot project path |
| scene | string | — | Optional scene to run |
| teardown | boolean | — | Stop the project after verification. Default: true |
| waitFrames | integer | — | Frames to wait before assertions. Default: 2 |
No output schema declared.
No examples provided.
write_file ~57
Create or overwrite a text file in a Godot project
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | File content to write |
| filePath | string | yes | File path relative to project root |
| projectPath | string | yes | Godot project path |
No output schema declared.
No examples provided.