godot-mcp-runtime 1.1.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,16 +1,18 @@
1
- # Godot MCP Server
1
+ # Godot MCP Runtime
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/godot-mcp-runtime)](https://www.npmjs.com/package/godot-mcp-runtime)
4
- [![npm downloads](https://img.shields.io/npm/dm/godot-mcp-runtime)](https://www.npmjs.com/package/godot-mcp-runtime)
4
+ [![npm downloads](https://img.shields.io/npm/dt/godot-mcp-runtime)](https://www.npmjs.com/package/godot-mcp-runtime)
5
5
  [![License: MIT](https://badgen.net/github/license/Erodenn/godot-mcp-runtime)](LICENSE)
6
6
  [![Node.js](https://img.shields.io/node/v/godot-mcp-runtime)](https://nodejs.org/)
7
7
 
8
8
  An [MCP](https://modelcontextprotocol.io/) server that gives AI assistants direct access to a running Godot 4.x game. Not just file editing, not just scene manipulation. Actual runtime control: input simulation, screenshots, UI discovery, and live GDScript execution while the game is running.
9
9
 
10
- Most Godot MCP servers operate headlessly. They can create scenes, add nodes, attach scripts. That covers a lot of ground, but stops at the editor boundary. This one doesn't. When you run a project through this server, it injects a lightweight UDP bridge as an autoload, and suddenly the AI can interact with your game the same way a player would: press keys, click buttons, read what's on screen, and run arbitrary code against the live scene tree.
10
+ When you run a project through this server, it injects a lightweight UDP bridge as an autoload, and suddenly the AI can interact with your game the same way a player would: press keys, click buttons, read what's on screen, and run arbitrary code against the live scene tree.
11
11
 
12
12
  **The distinction matters: the AI doesn't just write your game, it can check its work.**
13
13
 
14
+ **No addon required.** Most Godot MCP servers that offer runtime support ship as a Godot addon — something you install into your project, commit to version control, and manage as a dependency. This server does none of that. The bridge script is injected on `run_project` and removed on `stop_project`. Your project files are left exactly as they were. All you need is Node.js and a Godot executable — no addon installation, no project modifications, no cleanup.
15
+
14
16
  <a href="https://glama.ai/mcp/servers/@Erodenn/godot-runtime-mcp">
15
17
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@Erodenn/godot-runtime-mcp/badge" alt="godot-runtime-mcp MCP server" />
16
18
  </a>
@@ -19,7 +21,7 @@ Think of it as [Playwright MCP](https://github.com/microsoft/playwright-mcp), bu
19
21
 
20
22
  This is not a playtesting replacement. It doesn't catch the subtle feel issues that only a human notices, and it won't tell you if your game is fun. What it does is let an agent confirm that a scene loads, a button responds, a value updated, a script ran without errors. That's a fundamentally different development workflow, and it's what this server is built for.
21
23
 
22
- This server is built around a small set of composable, wide-reaching tools rather than a long list of narrow ones. Each tool is designed to teach agents how to use it well. Response messages include next steps, timing constraints, and cleanup reminders so agents stay on track without extra prompting.
24
+ Every operation is its own tool with only its relevant parameters no operation discriminators, no conditional schemas. Each tool teaches agents how to use it through its description and response messages: what to call next, when to wait, and how to recover from errors.
23
25
 
24
26
  ## What It Does
25
27
 
@@ -32,6 +34,8 @@ This server is built around a small set of composable, wide-reaching tools rathe
32
34
  - **UI discovery:** Walk the live scene tree and collect every visible Control node with its position, type, text content, and disabled state
33
35
  - **Live script execution:** Compile and run arbitrary GDScript with full SceneTree access while the game is running
34
36
 
37
+ **Background mode.** Pass `background: true` to `run_project` and the Godot window moves off-screen with physical input blocked — borderless, unfocusable, mouse-passthrough. Programmatic input, screenshots, and all runtime tools work exactly the same. Useful for automated agent-driven testing where the window shouldn't be visible or interactive.
38
+
35
39
  The bridge cleans itself up automatically when `stop_project` is called. No leftover autoloads, no modified project files.
36
40
 
37
41
  ## Quick Start
@@ -41,26 +45,33 @@ The bridge cleans itself up automatically when `stop_project` is called. No left
41
45
  - [Node.js](https://nodejs.org/) v18+
42
46
  - [Godot 4.x](https://godotengine.org/)
43
47
 
44
- ### Install via npm
48
+ That's it. No Godot addon, no project modifications.
45
49
 
46
- ```bash
47
- npm install -g godot-mcp-runtime
48
- ```
50
+ ### Configure Your MCP Client
49
51
 
50
- ### Or clone from source
52
+ Add the following to your MCP client config. Works with Claude Code, Claude Desktop, Cursor, or any MCP-compatible client.
51
53
 
52
- ```bash
53
- git clone https://github.com/Erodenn/godot-mcp-runtime.git
54
- cd godot-mcp-runtime
55
- npm install
56
- npm run build
57
- ```
54
+ **Zero-install via npx (recommended):**
58
55
 
59
- ### Configure Your MCP Client
56
+ ```json
57
+ {
58
+ "mcpServers": {
59
+ "godot": {
60
+ "command": "npx",
61
+ "args": ["-y", "godot-mcp-runtime"],
62
+ "env": {
63
+ "GODOT_PATH": "<path-to-godot-executable>"
64
+ }
65
+ }
66
+ }
67
+ }
68
+ ```
60
69
 
61
- Add the following to your MCP client config. Works with Claude Code, Claude Desktop, Cursor, or any MCP-compatible client.
70
+ **Or install globally:**
62
71
 
63
- **If installed via npm:**
72
+ ```bash
73
+ npm install -g godot-mcp-runtime
74
+ ```
64
75
 
65
76
  ```json
66
77
  {
@@ -75,7 +86,14 @@ Add the following to your MCP client config. Works with Claude Code, Claude Desk
75
86
  }
76
87
  ```
77
88
 
78
- **If cloned from source:**
89
+ **Or clone from source:**
90
+
91
+ ```bash
92
+ git clone https://github.com/Erodenn/godot-mcp-runtime.git
93
+ cd godot-mcp-runtime
94
+ npm install
95
+ npm run build
96
+ ```
79
97
 
80
98
  ```json
81
99
  {
@@ -99,14 +117,12 @@ Ask your AI assistant to call `get_project_info`. If it returns a Godot version
99
117
 
100
118
  ## Tools
101
119
 
102
- This server intentionally keeps the tool count small. Each tool covers a broad surface area through operations and parameters, so agents spend less time finding the right tool and more time doing useful work. Tool descriptions and responses are written to guide agent behavior: what to call next, when to wait, and how to recover from errors.
103
-
104
- ### Project
120
+ ### Project Management
105
121
 
106
122
  | Tool | Description |
107
123
  |------|-------------|
108
124
  | `launch_editor` | Open the Godot editor GUI for a project |
109
- | `run_project` | Run a project in debug mode and inject the MCP bridge |
125
+ | `run_project` | Run a project in debug mode and inject the MCP bridge. Pass `background: true` to hide the window |
110
126
  | `stop_project` | Stop the running project and remove the bridge |
111
127
  | `get_debug_output` | Read stdout/stderr from the running project |
112
128
  | `list_projects` | Find Godot projects in a directory |
@@ -119,67 +135,59 @@ After calling `run_project`, wait 2-3 seconds for the bridge to initialize befor
119
135
  | Tool | Description |
120
136
  |------|-------------|
121
137
  | `take_screenshot` | Capture a PNG of the running viewport |
122
- | `simulate_input` | Send batched input: key, mouse_button, mouse_motion, click_element, action, wait |
138
+ | `simulate_input` | Send batched input: key, mouse, click_element, action, wait |
123
139
  | `get_ui_elements` | Get all visible Control nodes with positions, types, and text |
124
140
  | `run_script` | Execute arbitrary GDScript at runtime with full SceneTree access |
125
141
 
126
- ### Scene: `manage_scene`
142
+ ### Scene Editing (headless)
127
143
 
128
- All mutation operations save automatically. Use `save` only for save-as (`newPath`) or to re-canonicalize a `.tscn` file.
144
+ All mutation operations save automatically. Use `save_scene` only for save-as (`newPath`) or to re-canonicalize a `.tscn` file.
129
145
 
130
- | Operation | Description |
131
- |-----------|-------------|
132
- | `create` | Create a new scene file |
133
- | `add_node` | Add a node to an existing scene |
146
+ | Tool | Description |
147
+ |------|-------------|
148
+ | `create_scene` | Create a new scene file |
149
+ | `add_node` | Add a node to an existing scene (supports promoted spatial params) |
134
150
  | `load_sprite` | Set a texture on a Sprite2D, Sprite3D, or TextureRect |
135
- | `save` | Re-pack and save the scene, or save-as with `newPath` |
151
+ | `save_scene` | Re-pack and save the scene, or save-as with `newPath` |
136
152
  | `export_mesh_library` | Export scenes as a MeshLibrary for GridMap |
137
- | `batch` | Execute an ordered sequence of `add_node`, `load_sprite`, and `save` ops across one or more scenes in a single Godot process |
153
+ | `batch_scene_operations` | Run multiple add_node/load_sprite/save ops in a single Godot process |
138
154
 
139
- ### Node: `manage_node`
155
+ ### Node Editing (headless)
140
156
 
141
157
  All mutation operations save automatically.
142
158
 
143
- | Operation | Description |
144
- |-----------|-------------|
145
- | `get_tree` | Get the full scene tree hierarchy |
146
- | `list` | List direct child nodes of a node |
147
- | `get_properties` | Read properties from one node, or pass a `nodes` array to read from multiple nodes in one process |
148
- | `update_property` | Set a property on a node, or pass an `updates` array to set multiple properties in one process |
159
+ | Tool | Description |
160
+ |------|-------------|
161
+ | `get_scene_tree` | Get the full scene tree hierarchy (use `maxDepth: 1` for shallow listing) |
162
+ | `get_node_properties` | Read properties from a node |
163
+ | `batch_get_node_properties` | Read properties from multiple nodes in one process |
164
+ | `set_node_property` | Set a property on a node |
165
+ | `batch_set_node_properties` | Set multiple properties in one process |
149
166
  | `attach_script` | Attach a GDScript to a node |
150
- | `duplicate` | Duplicate a node within the scene |
151
- | `delete` | Remove a node from the scene |
152
- | `get_signals` | List all signals on a node with their connections |
167
+ | `duplicate_node` | Duplicate a node within the scene |
168
+ | `delete_node` | Remove a node from the scene |
169
+ | `get_node_signals` | List all signals on a node with their connections |
153
170
  | `connect_signal` | Connect a signal to a method on another node |
154
171
  | `disconnect_signal` | Disconnect a signal connection |
155
172
 
156
- ### Project Settings: `manage_project`
173
+ ### Project Config (no Godot process required)
157
174
 
158
- Edits `project.godot` directly, no Godot process required. Safe to use even when autoloads are broken or headless operations are failing.
175
+ These tools edit `project.godot` directly or read the filesystem. Safe to use even when autoloads are broken.
159
176
 
160
- | Operation | Description |
161
- |-----------|-------------|
177
+ | Tool | Description |
178
+ |------|-------------|
162
179
  | `list_autoloads` | List all registered autoloads with paths and singleton status |
163
180
  | `add_autoload` | Register a new autoload |
164
181
  | `remove_autoload` | Unregister an autoload by name |
165
182
  | `update_autoload` | Modify an existing autoload's path or singleton flag |
166
183
  | `get_project_settings` | Read settings from `project.godot` by section and key |
167
- | `get_filesystem_tree` | Get the project file tree with types and extensions |
168
- | `search_in_files` | Search for a string across project source files |
184
+ | `get_project_files` | Get the project file tree with types and extensions |
185
+ | `search_project` | Search for a string across project source files |
169
186
  | `get_scene_dependencies` | List all resources a scene depends on |
170
187
 
171
- ### Validate: `validate`
172
-
173
- Validate before attaching or running. Catches syntax errors and missing resource references before they cause headless crashes or runtime failures.
174
-
175
- | Input | Description |
176
- |-------|-------------|
177
- | `scriptPath` | Validate an existing `.gd` file in the project |
178
- | `source` | Validate inline GDScript written to a temp file |
179
- | `scenePath` | Validate a `.tscn` file and check that all `ext_resource` references resolve |
180
- | `targets` | Array of the above — validate multiple scripts or scenes in a single Godot process |
188
+ ### Validation: `validate`
181
189
 
182
- Returns `{ valid, errors: [{ line?, message }] }` per target. Fix reported errors and re-validate before calling `attach_script` or `run_script`.
190
+ Validate before attaching or running. Catches syntax errors and missing resource references before they cause headless crashes or runtime failures. Supports `scriptPath`, `source` (inline GDScript), `scenePath`, or a `targets` array for batch validation.
183
191
 
184
192
  ### UIDs: `manage_uids` (Godot 4.4+)
185
193
 
@@ -194,15 +202,15 @@ Returns `{ valid, errors: [{ line?, message }] }` per target. Fix reported error
194
202
  src/
195
203
  ├── index.ts # MCP server entry point, routes tool calls
196
204
  ├── tools/
197
- │ ├── project-tools.ts # Project and runtime tool handlers
198
- │ ├── scene-tools.ts # Scene operations
199
- │ ├── node-tools.ts # Node operations
205
+ │ ├── project-tools.ts # Project, runtime, autoload, filesystem, search, settings
206
+ │ ├── scene-tools.ts # Scene creation, node addition, sprite loading, batch ops, UIDs
207
+ │ ├── node-tools.ts # Node properties, scripts, tree, duplication, signals
200
208
  │ └── validate-tools.ts # GDScript and scene validation
201
209
  ├── scripts/
202
210
  │ ├── godot_operations.gd # Headless GDScript operations
203
211
  │ └── mcp_bridge.gd # UDP autoload for runtime communication
204
212
  └── utils/
205
- └── godot-runner.ts # Process spawning, output parsing
213
+ └── godot-runner.ts # Process spawning, output parsing, shared validation helpers
206
214
  ```
207
215
 
208
216
  Headless operations spawn Godot with `--headless --script godot_operations.gd`, perform the operation, and return JSON. Runtime operations communicate over UDP with the injected `McpBridge` autoload.
@@ -221,7 +229,7 @@ Files generated during runtime (screenshots, executed scripts) are stored in `.m
221
229
 
222
230
  ## Broken Autoloads
223
231
 
224
- If any registered autoload fails to initialize (syntax error, missing resource, display dependency), Godot's headless process will crash before any operation runs. Use `manage_project` to inspect and remove the failing autoload. It edits `project.godot` directly, with no Godot process involved.
232
+ If any registered autoload fails to initialize (syntax error, missing resource, display dependency), Godot's headless process will crash before any operation runs. Use `list_autoloads` and `remove_autoload` to inspect and remove the failing autoload. These tools edit `project.godot` directly, with no Godot process involved.
225
233
 
226
234
  ## Acknowledgments
227
235
 
package/dist/index.js CHANGED
@@ -11,11 +11,11 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
11
11
  import { CallToolRequestSchema, ErrorCode, ListToolsRequestSchema, McpError, } from '@modelcontextprotocol/sdk/types.js';
12
12
  import { GodotRunner } from './utils/godot-runner.js';
13
13
  // Project tools
14
- import { projectToolDefinitions, handleLaunchEditor, handleRunProject, handleGetDebugOutput, handleStopProject, handleListProjects, handleGetProjectInfo, handleTakeScreenshot, handleSimulateInput, handleGetUiElements, handleRunScript, handleManageProject, } from './tools/project-tools.js';
14
+ import { projectToolDefinitions, handleLaunchEditor, handleRunProject, handleGetDebugOutput, handleStopProject, handleListProjects, handleGetProjectInfo, handleTakeScreenshot, handleSimulateInput, handleGetUiElements, handleRunScript, handleListAutoloads, handleAddAutoload, handleRemoveAutoload, handleUpdateAutoload, handleGetProjectFiles, handleSearchProject, handleGetSceneDependencies, handleGetProjectSettings, } from './tools/project-tools.js';
15
15
  // Scene tools
16
- import { sceneToolDefinitions, handleManageScene, handleManageUids, } from './tools/scene-tools.js';
16
+ import { sceneToolDefinitions, handleCreateScene, handleAddNode, handleLoadSprite, handleSaveScene, handleExportMeshLibrary, handleBatchSceneOperations, handleManageUids, } from './tools/scene-tools.js';
17
17
  // Node tools
18
- import { nodeToolDefinitions, handleManageNode, } from './tools/node-tools.js';
18
+ import { nodeToolDefinitions, handleDeleteNode, handleSetNodeProperty, handleBatchSetNodeProperties, handleGetNodeProperties, handleBatchGetNodeProperties, handleAttachScript, handleGetSceneTree, handleDuplicateNode, handleGetNodeSignals, handleConnectSignal, handleDisconnectSignal, } from './tools/node-tools.js';
19
19
  // Validate tools
20
20
  import { validateToolDefinitions, handleValidate, } from './tools/validate-tools.js';
21
21
  class GodotMcpServer {
@@ -25,11 +25,28 @@ class GodotMcpServer {
25
25
  this.runner = new GodotRunner(config);
26
26
  this.server = new Server({
27
27
  name: 'godot-mcp',
28
- version: '1.1.1',
28
+ version: '2.1.0',
29
29
  }, {
30
30
  capabilities: {
31
31
  tools: {},
32
32
  },
33
+ instructions: `Godot MCP Server — AI-driven Godot 4.x project manipulation.
34
+
35
+ Tool categories:
36
+ - Project management: launch_editor, run_project, stop_project, get_debug_output, list_projects, get_project_info
37
+ - Scene editing (headless): create_scene, add_node, load_sprite, save_scene, export_mesh_library, batch_scene_operations
38
+ - Node editing (headless): delete_node, set_node_property, batch_set_node_properties, get_node_properties, batch_get_node_properties, attach_script, get_scene_tree, duplicate_node, get_node_signals, connect_signal, disconnect_signal
39
+ - Runtime (requires run_project): take_screenshot, simulate_input, get_ui_elements, run_script
40
+ - Project config (no Godot process): list_autoloads, add_autoload, remove_autoload, update_autoload, get_project_files, search_project, get_scene_dependencies, get_project_settings
41
+ - Validation: validate
42
+ - UIDs (Godot 4.4+): manage_uids
43
+
44
+ Key behaviors:
45
+ - All mutation operations (add_node, set_node_property, delete_node, etc.) save the scene automatically. Only use save_scene for save-as (newPath) or re-canonicalization.
46
+ - Headless Godot initializes ALL registered autoloads. If any autoload is broken, headless operations will fail. Use list_autoloads / remove_autoload to diagnose.
47
+ - After run_project, wait 2-3 seconds before using runtime tools (take_screenshot, simulate_input, get_ui_elements, run_script). The MCP bridge needs time to initialize.
48
+ - click_element in simulate_input resolves by node path or node name (BFS search), NOT by visible text. Use get_ui_elements to discover valid element identifiers.
49
+ - run_script expects GDScript with "extends RefCounted" and "func execute(scene_tree: SceneTree) -> Variant".`,
33
50
  });
34
51
  this.setupToolHandlers();
35
52
  this.server.onerror = (error) => console.error('[MCP Error]', error);
@@ -84,16 +101,60 @@ class GodotMcpServer {
84
101
  return await handleGetUiElements(this.runner, args);
85
102
  case 'run_script':
86
103
  return await handleRunScript(this.runner, args);
87
- case 'manage_project':
88
- return await handleManageProject(args);
104
+ case 'list_autoloads':
105
+ return await handleListAutoloads(args);
106
+ case 'add_autoload':
107
+ return await handleAddAutoload(args);
108
+ case 'remove_autoload':
109
+ return await handleRemoveAutoload(args);
110
+ case 'update_autoload':
111
+ return await handleUpdateAutoload(args);
112
+ case 'get_project_files':
113
+ return await handleGetProjectFiles(args);
114
+ case 'search_project':
115
+ return await handleSearchProject(args);
116
+ case 'get_scene_dependencies':
117
+ return await handleGetSceneDependencies(args);
118
+ case 'get_project_settings':
119
+ return await handleGetProjectSettings(args);
89
120
  // Scene tools
90
- case 'manage_scene':
91
- return await handleManageScene(this.runner, args);
121
+ case 'create_scene':
122
+ return await handleCreateScene(this.runner, args);
123
+ case 'add_node':
124
+ return await handleAddNode(this.runner, args);
125
+ case 'load_sprite':
126
+ return await handleLoadSprite(this.runner, args);
127
+ case 'save_scene':
128
+ return await handleSaveScene(this.runner, args);
129
+ case 'export_mesh_library':
130
+ return await handleExportMeshLibrary(this.runner, args);
131
+ case 'batch_scene_operations':
132
+ return await handleBatchSceneOperations(this.runner, args);
92
133
  case 'manage_uids':
93
134
  return await handleManageUids(this.runner, args);
94
135
  // Node tools
95
- case 'manage_node':
96
- return await handleManageNode(this.runner, args);
136
+ case 'delete_node':
137
+ return await handleDeleteNode(this.runner, args);
138
+ case 'set_node_property':
139
+ return await handleSetNodeProperty(this.runner, args);
140
+ case 'batch_set_node_properties':
141
+ return await handleBatchSetNodeProperties(this.runner, args);
142
+ case 'get_node_properties':
143
+ return await handleGetNodeProperties(this.runner, args);
144
+ case 'batch_get_node_properties':
145
+ return await handleBatchGetNodeProperties(this.runner, args);
146
+ case 'attach_script':
147
+ return await handleAttachScript(this.runner, args);
148
+ case 'get_scene_tree':
149
+ return await handleGetSceneTree(this.runner, args);
150
+ case 'duplicate_node':
151
+ return await handleDuplicateNode(this.runner, args);
152
+ case 'get_node_signals':
153
+ return await handleGetNodeSignals(this.runner, args);
154
+ case 'connect_signal':
155
+ return await handleConnectSignal(this.runner, args);
156
+ case 'disconnect_signal':
157
+ return await handleDisconnectSignal(this.runner, args);
97
158
  // Validate tools
98
159
  case 'validate':
99
160
  return await handleValidate(this.runner, args);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,13 @@ func _ready() -> void:
12
12
  else:
13
13
  print("McpBridge: Listening on UDP port %d" % port)
14
14
 
15
+ if OS.get_environment("MCP_BACKGROUND") == "1":
16
+ DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_NO_FOCUS, true)
17
+ DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_MOUSE_PASSTHROUGH, true)
18
+ DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, true)
19
+ DisplayServer.window_set_position(Vector2i(-9999, -9999))
20
+ print("McpBridge: Background mode active - window hidden, physical input blocked")
21
+
15
22
  func _process(_delta: float) -> void:
16
23
  udp_server.poll()
17
24
  if udp_server.is_connection_available():
@@ -1,6 +1,126 @@
1
1
  import { GodotRunner, OperationParams, ToolDefinition } from '../utils/godot-runner.js';
2
2
  export declare const nodeToolDefinitions: ToolDefinition[];
3
- export declare function handleManageNode(runner: GodotRunner, args: OperationParams): Promise<{
3
+ export declare function handleDeleteNode(runner: GodotRunner, args: OperationParams): Promise<{
4
+ content: Array<{
5
+ type: "text";
6
+ text: string;
7
+ }>;
8
+ isError: boolean;
9
+ } | {
10
+ content: {
11
+ type: string;
12
+ text: string;
13
+ }[];
14
+ }>;
15
+ export declare function handleSetNodeProperty(runner: GodotRunner, args: OperationParams): Promise<{
16
+ content: Array<{
17
+ type: "text";
18
+ text: string;
19
+ }>;
20
+ isError: boolean;
21
+ } | {
22
+ content: {
23
+ type: string;
24
+ text: string;
25
+ }[];
26
+ }>;
27
+ export declare function handleBatchSetNodeProperties(runner: GodotRunner, args: OperationParams): Promise<{
28
+ content: Array<{
29
+ type: "text";
30
+ text: string;
31
+ }>;
32
+ isError: boolean;
33
+ } | {
34
+ content: {
35
+ type: string;
36
+ text: string;
37
+ }[];
38
+ }>;
39
+ export declare function handleGetNodeProperties(runner: GodotRunner, args: OperationParams): Promise<{
40
+ content: Array<{
41
+ type: "text";
42
+ text: string;
43
+ }>;
44
+ isError: boolean;
45
+ } | {
46
+ content: {
47
+ type: string;
48
+ text: string;
49
+ }[];
50
+ }>;
51
+ export declare function handleBatchGetNodeProperties(runner: GodotRunner, args: OperationParams): Promise<{
52
+ content: Array<{
53
+ type: "text";
54
+ text: string;
55
+ }>;
56
+ isError: boolean;
57
+ } | {
58
+ content: {
59
+ type: string;
60
+ text: string;
61
+ }[];
62
+ }>;
63
+ export declare function handleAttachScript(runner: GodotRunner, args: OperationParams): Promise<{
64
+ content: Array<{
65
+ type: "text";
66
+ text: string;
67
+ }>;
68
+ isError: boolean;
69
+ } | {
70
+ content: {
71
+ type: string;
72
+ text: string;
73
+ }[];
74
+ }>;
75
+ export declare function handleGetSceneTree(runner: GodotRunner, args: OperationParams): Promise<{
76
+ content: Array<{
77
+ type: "text";
78
+ text: string;
79
+ }>;
80
+ isError: boolean;
81
+ } | {
82
+ content: {
83
+ type: string;
84
+ text: string;
85
+ }[];
86
+ }>;
87
+ export declare function handleDuplicateNode(runner: GodotRunner, args: OperationParams): Promise<{
88
+ content: Array<{
89
+ type: "text";
90
+ text: string;
91
+ }>;
92
+ isError: boolean;
93
+ } | {
94
+ content: {
95
+ type: string;
96
+ text: string;
97
+ }[];
98
+ }>;
99
+ export declare function handleGetNodeSignals(runner: GodotRunner, args: OperationParams): Promise<{
100
+ content: Array<{
101
+ type: "text";
102
+ text: string;
103
+ }>;
104
+ isError: boolean;
105
+ } | {
106
+ content: {
107
+ type: string;
108
+ text: string;
109
+ }[];
110
+ }>;
111
+ export declare function handleConnectSignal(runner: GodotRunner, args: OperationParams): Promise<{
112
+ content: Array<{
113
+ type: "text";
114
+ text: string;
115
+ }>;
116
+ isError: boolean;
117
+ } | {
118
+ content: {
119
+ type: string;
120
+ text: string;
121
+ }[];
122
+ }>;
123
+ export declare function handleDisconnectSignal(runner: GodotRunner, args: OperationParams): Promise<{
4
124
  content: Array<{
5
125
  type: "text";
6
126
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"node-tools.d.ts","sourceRoot":"","sources":["../../src/tools/node-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAMX,eAAe,EACf,cAAc,EACf,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,mBAAmB,EAAE,cAAc,EAoG/C,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GA+OhF"}
1
+ {"version":3,"file":"node-tools.d.ts","sourceRoot":"","sources":["../../src/tools/node-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAOX,eAAe,EACf,cAAc,EACf,MAAM,0BAA0B,CAAC;AAIlC,eAAO,MAAM,mBAAmB,EAAE,cAAc,EAqL/C,CAAC;AAIF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GAoBhF;AAED,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GA4BrF;AAED,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GA2B5F;AAED,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GAqBvF;AAED,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GAuB5F;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GA+BlF;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GAsBlF;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GAyBnF;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GAoBpF;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GAgCnF;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe;;;;;;;;;;;GAgCtF"}