@keeveeg/godot-mcp 1.0.1 → 1.0.3

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.
Files changed (224) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/server/dist/config.js +1 -1
  4. package/server/dist/godot-bridge.d.ts.map +1 -1
  5. package/server/dist/godot-bridge.js +264 -261
  6. package/server/dist/godot-bridge.js.map +1 -1
  7. package/server/dist/index.js +46 -45
  8. package/server/dist/server.d.ts.map +1 -1
  9. package/server/dist/server.js +25 -23
  10. package/server/dist/server.js.map +1 -1
  11. package/server/dist/tools/addon_management.d.ts.map +1 -1
  12. package/server/dist/tools/addon_management.js +37 -57
  13. package/server/dist/tools/addon_management.js.map +1 -1
  14. package/server/dist/tools/analysis.d.ts.map +1 -1
  15. package/server/dist/tools/analysis.js +21 -37
  16. package/server/dist/tools/analysis.js.map +1 -1
  17. package/server/dist/tools/animation.d.ts.map +1 -1
  18. package/server/dist/tools/animation.js +95 -135
  19. package/server/dist/tools/animation.js.map +1 -1
  20. package/server/dist/tools/audio.d.ts.map +1 -1
  21. package/server/dist/tools/audio.js +81 -109
  22. package/server/dist/tools/audio.js.map +1 -1
  23. package/server/dist/tools/audio_config.d.ts.map +1 -1
  24. package/server/dist/tools/audio_config.js +50 -76
  25. package/server/dist/tools/audio_config.js.map +1 -1
  26. package/server/dist/tools/batch.d.ts.map +1 -1
  27. package/server/dist/tools/batch.js +57 -89
  28. package/server/dist/tools/batch.js.map +1 -1
  29. package/server/dist/tools/build_config.d.ts.map +1 -1
  30. package/server/dist/tools/build_config.js +59 -91
  31. package/server/dist/tools/build_config.js.map +1 -1
  32. package/server/dist/tools/debug_config.d.ts.map +1 -1
  33. package/server/dist/tools/debug_config.js +46 -70
  34. package/server/dist/tools/debug_config.js.map +1 -1
  35. package/server/dist/tools/debugging.d.ts.map +1 -1
  36. package/server/dist/tools/debugging.js +51 -83
  37. package/server/dist/tools/debugging.js.map +1 -1
  38. package/server/dist/tools/editor.d.ts.map +1 -1
  39. package/server/dist/tools/editor.js +54 -90
  40. package/server/dist/tools/editor.js.map +1 -1
  41. package/server/dist/tools/editor_config.d.ts.map +1 -1
  42. package/server/dist/tools/editor_config.js +53 -85
  43. package/server/dist/tools/editor_config.js.map +1 -1
  44. package/server/dist/tools/export.d.ts.map +1 -1
  45. package/server/dist/tools/export.js +46 -74
  46. package/server/dist/tools/export.js.map +1 -1
  47. package/server/dist/tools/gameplay_automation.d.ts.map +1 -1
  48. package/server/dist/tools/gameplay_automation.js +70 -102
  49. package/server/dist/tools/gameplay_automation.js.map +1 -1
  50. package/server/dist/tools/index.js +42 -42
  51. package/server/dist/tools/input.d.ts.map +1 -1
  52. package/server/dist/tools/input.js +68 -100
  53. package/server/dist/tools/input.js.map +1 -1
  54. package/server/dist/tools/memory_profiling.d.ts.map +1 -1
  55. package/server/dist/tools/memory_profiling.js +31 -51
  56. package/server/dist/tools/memory_profiling.js.map +1 -1
  57. package/server/dist/tools/navigation.d.ts.map +1 -1
  58. package/server/dist/tools/navigation.js +86 -126
  59. package/server/dist/tools/navigation.js.map +1 -1
  60. package/server/dist/tools/node.d.ts.map +1 -1
  61. package/server/dist/tools/node.js +134 -202
  62. package/server/dist/tools/node.js.map +1 -1
  63. package/server/dist/tools/node_config.d.ts.map +1 -1
  64. package/server/dist/tools/node_config.js +58 -90
  65. package/server/dist/tools/node_config.js.map +1 -1
  66. package/server/dist/tools/particles.d.ts.map +1 -1
  67. package/server/dist/tools/particles.js +75 -111
  68. package/server/dist/tools/particles.js.map +1 -1
  69. package/server/dist/tools/physics.d.ts.map +1 -1
  70. package/server/dist/tools/physics.js +67 -99
  71. package/server/dist/tools/physics.js.map +1 -1
  72. package/server/dist/tools/physics_config.d.ts.map +1 -1
  73. package/server/dist/tools/physics_config.js +56 -88
  74. package/server/dist/tools/physics_config.js.map +1 -1
  75. package/server/dist/tools/platform_export.d.ts.map +1 -1
  76. package/server/dist/tools/platform_export.js +45 -69
  77. package/server/dist/tools/platform_export.js.map +1 -1
  78. package/server/dist/tools/platform_specific.d.ts.map +1 -1
  79. package/server/dist/tools/platform_specific.js +61 -85
  80. package/server/dist/tools/platform_specific.js.map +1 -1
  81. package/server/dist/tools/profiling.d.ts.map +1 -1
  82. package/server/dist/tools/profiling.js +13 -21
  83. package/server/dist/tools/profiling.js.map +1 -1
  84. package/server/dist/tools/project.d.ts.map +1 -1
  85. package/server/dist/tools/project.js +51 -79
  86. package/server/dist/tools/project.js.map +1 -1
  87. package/server/dist/tools/project_config.d.ts.map +1 -1
  88. package/server/dist/tools/project_config.js +88 -136
  89. package/server/dist/tools/project_config.js.map +1 -1
  90. package/server/dist/tools/project_creation.d.ts.map +1 -1
  91. package/server/dist/tools/project_creation.js +96 -140
  92. package/server/dist/tools/project_creation.js.map +1 -1
  93. package/server/dist/tools/rendering_config.d.ts.map +1 -1
  94. package/server/dist/tools/rendering_config.js +67 -103
  95. package/server/dist/tools/rendering_config.js.map +1 -1
  96. package/server/dist/tools/resource.js +77 -117
  97. package/server/dist/tools/resource_config.d.ts.map +1 -1
  98. package/server/dist/tools/resource_config.js +45 -69
  99. package/server/dist/tools/resource_config.js.map +1 -1
  100. package/server/dist/tools/runtime.d.ts.map +1 -1
  101. package/server/dist/tools/runtime.js +148 -224
  102. package/server/dist/tools/runtime.js.map +1 -1
  103. package/server/dist/tools/save_load.d.ts.map +1 -1
  104. package/server/dist/tools/save_load.js +36 -56
  105. package/server/dist/tools/save_load.js.map +1 -1
  106. package/server/dist/tools/scene.d.ts.map +1 -1
  107. package/server/dist/tools/scene.js +78 -122
  108. package/server/dist/tools/scene.js.map +1 -1
  109. package/server/dist/tools/scene3d.d.ts.map +1 -1
  110. package/server/dist/tools/scene3d.js +51 -75
  111. package/server/dist/tools/scene3d.js.map +1 -1
  112. package/server/dist/tools/scene_config.d.ts.map +1 -1
  113. package/server/dist/tools/scene_config.js +48 -72
  114. package/server/dist/tools/scene_config.js.map +1 -1
  115. package/server/dist/tools/script.js +68 -104
  116. package/server/dist/tools/script.js.map +1 -1
  117. package/server/dist/tools/shader.d.ts.map +1 -1
  118. package/server/dist/tools/shader.js +75 -111
  119. package/server/dist/tools/shader.js.map +1 -1
  120. package/server/dist/tools/shared-types.d.ts +2 -2
  121. package/server/dist/tools/shared-types.d.ts.map +1 -1
  122. package/server/dist/tools/shared-types.js +38 -36
  123. package/server/dist/tools/shared-types.js.map +1 -1
  124. package/server/dist/tools/testing.d.ts.map +1 -1
  125. package/server/dist/tools/testing.js +47 -69
  126. package/server/dist/tools/testing.js.map +1 -1
  127. package/server/dist/tools/theme.js +62 -90
  128. package/server/dist/tools/tilemap.js +58 -82
  129. package/server/dist/tools/visual_testing.d.ts.map +1 -1
  130. package/server/dist/tools/visual_testing.js +50 -74
  131. package/server/dist/tools/visual_testing.js.map +1 -1
  132. package/server/dist/types.js +15 -15
  133. package/server/dist/tools/accessibility.d.ts +0 -7
  134. package/server/dist/tools/accessibility.d.ts.map +0 -1
  135. package/server/dist/tools/accessibility.js +0 -71
  136. package/server/dist/tools/accessibility.js.map +0 -1
  137. package/server/dist/tools/analytics.d.ts +0 -7
  138. package/server/dist/tools/analytics.d.ts.map +0 -1
  139. package/server/dist/tools/analytics.js +0 -76
  140. package/server/dist/tools/analytics.js.map +0 -1
  141. package/server/dist/tools/asset_pipeline.d.ts +0 -7
  142. package/server/dist/tools/asset_pipeline.d.ts.map +0 -1
  143. package/server/dist/tools/asset_pipeline.js +0 -102
  144. package/server/dist/tools/asset_pipeline.js.map +0 -1
  145. package/server/dist/tools/asset_scaffolding.d.ts +0 -7
  146. package/server/dist/tools/asset_scaffolding.d.ts.map +0 -1
  147. package/server/dist/tools/asset_scaffolding.js +0 -113
  148. package/server/dist/tools/asset_scaffolding.js.map +0 -1
  149. package/server/dist/tools/cicd_pipeline.d.ts +0 -7
  150. package/server/dist/tools/cicd_pipeline.d.ts.map +0 -1
  151. package/server/dist/tools/cicd_pipeline.js +0 -125
  152. package/server/dist/tools/cicd_pipeline.js.map +0 -1
  153. package/server/dist/tools/cloud_services.d.ts +0 -7
  154. package/server/dist/tools/cloud_services.d.ts.map +0 -1
  155. package/server/dist/tools/cloud_services.js +0 -97
  156. package/server/dist/tools/cloud_services.js.map +0 -1
  157. package/server/dist/tools/code_generation.d.ts +0 -7
  158. package/server/dist/tools/code_generation.d.ts.map +0 -1
  159. package/server/dist/tools/code_generation.js +0 -79
  160. package/server/dist/tools/code_generation.js.map +0 -1
  161. package/server/dist/tools/code_quality.d.ts +0 -7
  162. package/server/dist/tools/code_quality.d.ts.map +0 -1
  163. package/server/dist/tools/code_quality.js +0 -98
  164. package/server/dist/tools/code_quality.js.map +0 -1
  165. package/server/dist/tools/collaboration.d.ts +0 -7
  166. package/server/dist/tools/collaboration.d.ts.map +0 -1
  167. package/server/dist/tools/collaboration.js +0 -73
  168. package/server/dist/tools/collaboration.js.map +0 -1
  169. package/server/dist/tools/documentation_tools.d.ts +0 -7
  170. package/server/dist/tools/documentation_tools.d.ts.map +0 -1
  171. package/server/dist/tools/documentation_tools.js +0 -89
  172. package/server/dist/tools/documentation_tools.js.map +0 -1
  173. package/server/dist/tools/game_template.d.ts +0 -7
  174. package/server/dist/tools/game_template.d.ts.map +0 -1
  175. package/server/dist/tools/game_template.js +0 -112
  176. package/server/dist/tools/game_template.js.map +0 -1
  177. package/server/dist/tools/git_integration.d.ts +0 -7
  178. package/server/dist/tools/git_integration.d.ts.map +0 -1
  179. package/server/dist/tools/git_integration.js +0 -75
  180. package/server/dist/tools/git_integration.js.map +0 -1
  181. package/server/dist/tools/headless_testing.d.ts +0 -7
  182. package/server/dist/tools/headless_testing.d.ts.map +0 -1
  183. package/server/dist/tools/headless_testing.js +0 -65
  184. package/server/dist/tools/headless_testing.js.map +0 -1
  185. package/server/dist/tools/iap_monetization.d.ts +0 -7
  186. package/server/dist/tools/iap_monetization.d.ts.map +0 -1
  187. package/server/dist/tools/iap_monetization.js +0 -70
  188. package/server/dist/tools/iap_monetization.js.map +0 -1
  189. package/server/dist/tools/localization.d.ts +0 -7
  190. package/server/dist/tools/localization.d.ts.map +0 -1
  191. package/server/dist/tools/localization.js +0 -97
  192. package/server/dist/tools/localization.js.map +0 -1
  193. package/server/dist/tools/marketing.d.ts +0 -7
  194. package/server/dist/tools/marketing.d.ts.map +0 -1
  195. package/server/dist/tools/marketing.js +0 -87
  196. package/server/dist/tools/marketing.js.map +0 -1
  197. package/server/dist/tools/mod_support.d.ts +0 -7
  198. package/server/dist/tools/mod_support.d.ts.map +0 -1
  199. package/server/dist/tools/mod_support.js +0 -93
  200. package/server/dist/tools/mod_support.js.map +0 -1
  201. package/server/dist/tools/networking.d.ts +0 -7
  202. package/server/dist/tools/networking.d.ts.map +0 -1
  203. package/server/dist/tools/networking.js +0 -94
  204. package/server/dist/tools/networking.js.map +0 -1
  205. package/server/dist/tools/performance_optimization.d.ts +0 -7
  206. package/server/dist/tools/performance_optimization.d.ts.map +0 -1
  207. package/server/dist/tools/performance_optimization.js +0 -75
  208. package/server/dist/tools/performance_optimization.js.map +0 -1
  209. package/server/dist/tools/scene_scaffolding.d.ts +0 -7
  210. package/server/dist/tools/scene_scaffolding.d.ts.map +0 -1
  211. package/server/dist/tools/scene_scaffolding.js +0 -110
  212. package/server/dist/tools/scene_scaffolding.js.map +0 -1
  213. package/server/dist/tools/script_scaffolding.d.ts +0 -7
  214. package/server/dist/tools/script_scaffolding.d.ts.map +0 -1
  215. package/server/dist/tools/script_scaffolding.js +0 -115
  216. package/server/dist/tools/script_scaffolding.js.map +0 -1
  217. package/server/dist/tools/security.d.ts +0 -7
  218. package/server/dist/tools/security.d.ts.map +0 -1
  219. package/server/dist/tools/security.js +0 -73
  220. package/server/dist/tools/security.js.map +0 -1
  221. package/server/dist/tools/version_control_advanced.d.ts +0 -7
  222. package/server/dist/tools/version_control_advanced.d.ts.map +0 -1
  223. package/server/dist/tools/version_control_advanced.js +0 -100
  224. package/server/dist/tools/version_control_advanced.js.map +0 -1
@@ -4,228 +4,152 @@
4
4
  import { callGodot } from '../server.js';
5
5
  import { z, NodePath, ScriptPath, Position3D, PositiveNumber, Timeout, GDScriptCode } from './shared-types.js';
6
6
  export function registerRuntimeTools(server, bridge) {
7
- // 1. get_game_scene_tree — {} -> runtime hierarchy
8
- server.registerTool(
9
- 'get_game_scene_tree',
10
- {
11
- description: 'Get the scene tree of the running game (runtime state)',
12
- inputSchema: {},
13
- },
14
- async () => callGodot(bridge, 'runtime/get_scene_tree'),
15
- );
16
- // 2. get_game_node_properties {path: string} -> properties
17
- server.registerTool(
18
- 'get_game_node_properties',
19
- {
20
- description: 'Get all properties of a node in the running game',
21
- inputSchema: {
22
- path: NodePath.describe('Node path in the game tree'),
23
- properties: z.array(z.string()).optional().describe('Specific property names to return (defaults to common properties)'),
24
- },
25
- },
26
- async (args) => callGodot(bridge, 'runtime/get_node_properties', args),
27
- );
28
- // 3. set_game_node_property {path: string, property: string, value: any} -> success
29
- server.registerTool(
30
- 'set_game_node_property',
31
- {
32
- description: 'Set a property on a node in the running game',
33
- inputSchema: {
34
- path: NodePath.describe('Node path in the game tree'),
35
- property: z.string().describe('Property name to set'),
36
- value: z.unknown().describe('New value for the property'),
37
- },
38
- },
39
- async (args) => callGodot(bridge, 'runtime/set_node_property', args),
40
- );
41
- // 4. execute_game_script {code: string} -> result
42
- server.registerTool(
43
- 'execute_game_script',
44
- {
45
- description: 'Execute a GDScript snippet in the running game context',
46
- inputSchema: {
47
- code: GDScriptCode,
48
- },
49
- },
50
- async (args) => callGodot(bridge, 'runtime/execute_script', args),
51
- );
52
- // 5. capture_frames {count?: number, interval?: number} -> frame paths
53
- server.registerTool(
54
- 'capture_frames',
55
- {
56
- description: 'Capture frames from the running game viewport',
57
- inputSchema: {
58
- count: z.number().int().min(1).max(60).optional().default(1).describe('Number of frames to capture (default: 1)'),
59
- interval: z.number().optional().describe('Interval between captures in seconds'),
60
- },
61
- },
62
- async (args) => callGodot(bridge, 'runtime/capture_frames', args),
63
- );
64
- // 6. monitor_properties — {path: string, properties: string[], duration?: number} -> timeline data
65
- server.registerTool(
66
- 'monitor_properties',
67
- {
68
- description: 'Monitor specific properties on a game node for changes over time',
69
- inputSchema: {
70
- path: NodePath.describe('Node path to monitor'),
71
- properties: z.array(z.string()).describe('Property names to monitor'),
72
- duration: Timeout.describe('Monitoring duration in seconds'),
73
- },
74
- },
75
- async (args) => callGodot(bridge, 'runtime/monitor_properties', args),
76
- );
77
- // 7. start_recording — {} -> success
78
- server.registerTool(
79
- 'start_recording',
80
- {
81
- description: 'Start recording game state changes',
82
- inputSchema: {},
83
- },
84
- async () => callGodot(bridge, 'runtime/start_recording'),
85
- );
86
- // 8. stop_recording {} -> recording data
87
- server.registerTool(
88
- 'stop_recording',
89
- {
90
- description: 'Stop recording and return the recorded game state data',
91
- inputSchema: {},
92
- },
93
- async () => callGodot(bridge, 'runtime/stop_recording'),
94
- );
95
- // 9. replay_recording — {speed?: number} -> success
96
- server.registerTool(
97
- 'replay_recording',
98
- {
99
- description: 'Replay a previously recorded game session',
100
- inputSchema: {
101
- speed: PositiveNumber.optional().default(1.0).describe('Playback speed multiplier (default: 1.0)'),
102
- },
103
- },
104
- async (args) => callGodot(bridge, 'runtime/replay_recording', args),
105
- );
106
- // 10. find_nodes_by_script — {script_path: string} -> node paths
107
- server.registerTool(
108
- 'find_nodes_by_script',
109
- {
110
- description: 'Find all nodes in the game that use a specific script',
111
- inputSchema: {
112
- script_path: ScriptPath.describe("Script file path to search for (e.g. 'res://scripts/enemy.gd')"),
113
- },
114
- },
115
- async (args) => callGodot(bridge, 'runtime/find_by_script', args),
116
- );
117
- // 11. get_autoload {name: string} -> autoload properties
118
- server.registerTool(
119
- 'get_autoload',
120
- {
121
- description: 'Get properties of an autoload singleton from the running game',
122
- inputSchema: {
123
- name: z.string().describe('Autoload singleton name'),
124
- },
125
- },
126
- async (args) => callGodot(bridge, 'runtime/get_autoload', args),
127
- );
128
- // 12. batch_get_properties {paths: string[], properties: string[]} -> batch results
129
- server.registerTool(
130
- 'batch_get_properties',
131
- {
132
- description: 'Get multiple properties from multiple nodes in one call',
133
- inputSchema: {
134
- paths: z.array(z.string()).describe('List of node paths to query'),
135
- properties: z.array(z.string()).describe('Property names to read from each node'),
136
- },
137
- },
138
- async (args) => callGodot(bridge, 'runtime/batch_get_properties', args),
139
- );
140
- // 13. find_ui_elements — {filter?: {type?: string, text?: string, name?: string}} -> UI elements
141
- server.registerTool(
142
- 'find_ui_elements',
143
- {
144
- description: 'Find UI elements in the running game by type, text, or name',
145
- inputSchema: {
146
- filter: z
147
- .object({
148
- type: z.string().optional().describe("Control type to filter by (e.g. 'Button', 'Label')"),
149
- text: z.string().optional().describe('Text content to search for'),
150
- })
151
- .optional()
152
- .describe('Filter criteria for UI element search'),
153
- },
154
- },
155
- async (args) => callGodot(bridge, 'runtime/find_ui_elements', args),
156
- );
157
- // 14. click_button_by_text — {text: string, timeout?: number} -> success
158
- server.registerTool(
159
- 'click_button_by_text',
160
- {
161
- description: 'Find and click a button by its text content',
162
- inputSchema: {
163
- text: z.string().describe('Button text to find and click'),
164
- timeout: Timeout,
165
- },
166
- },
167
- async (args) => callGodot(bridge, 'runtime/click_button', args),
168
- );
169
- // 15. wait_for_node — {path: string, timeout?: number} -> success
170
- server.registerTool(
171
- 'wait_for_node',
172
- {
173
- description: 'Wait for a node to appear in the running game tree',
174
- inputSchema: {
175
- path: NodePath.describe('Node path to wait for'),
176
- timeout: Timeout.default(5.0).describe('Timeout in seconds (default: 5.0)'),
177
- },
178
- },
179
- async (args) => callGodot(bridge, 'runtime/wait_for_node', args),
180
- );
181
- // 16. find_nearby_nodes — {position: [number,number,number], radius: number, type?: string} -> nodes
182
- server.registerTool(
183
- 'find_nearby_nodes',
184
- {
185
- description: 'Find nodes within a radius of a world position',
186
- inputSchema: {
187
- position: Position3D,
188
- radius: PositiveNumber.describe('Search radius'),
189
- },
190
- },
191
- async (args) => callGodot(bridge, 'runtime/find_nearby', args),
192
- );
193
- // 17. navigate_to — {path: string, target: [number,number,number], speed?: number} -> success
194
- server.registerTool(
195
- 'navigate_to',
196
- {
197
- description: 'Navigate a node to a target position using pathfinding',
198
- inputSchema: {
199
- path: NodePath.describe('Node path to navigate (must have NavigationAgent3D)'),
200
- target: Position3D.describe('Target position [x, y, z]'),
201
- },
202
- },
203
- async (args) => callGodot(bridge, 'runtime/navigate_to', args),
204
- );
205
- // 18. move_to — {path: string, target: [number,number,number], speed?: number} -> success
206
- server.registerTool(
207
- 'move_to',
208
- {
209
- description: 'Directly move a node to a target position',
210
- inputSchema: {
211
- path: NodePath.describe('Node path to move'),
212
- target: Position3D.describe('Target position [x, y, z]'),
213
- },
214
- },
215
- async (args) => callGodot(bridge, 'runtime/move_to', args),
216
- );
217
- // 19. watch_signals — {path: string, signals: string[], duration?: number} -> signal log
218
- server.registerTool(
219
- 'watch_signals',
220
- {
221
- description: 'Watch for signal emissions from a game node',
222
- inputSchema: {
223
- path: NodePath.describe('Node path to watch'),
224
- signals: z.array(z.string()).describe('Signal names to watch for'),
225
- duration: Timeout.describe('How long to watch in seconds'),
226
- },
227
- },
228
- async (args) => callGodot(bridge, 'runtime/watch_signals', args),
229
- );
7
+ // 1. get_game_scene_tree — {} -> runtime hierarchy
8
+ server.registerTool('get_game_scene_tree', {
9
+ description: '🔴 Game must be running. Get the scene tree of the running game (runtime state)',
10
+ inputSchema: {},
11
+ }, async () => callGodot(bridge, 'runtime/get_scene_tree'));
12
+ // 2. get_game_node_properties — {path: string} -> properties
13
+ server.registerTool('get_game_node_properties', {
14
+ description: '🔴 Game must be running. Get all properties of a node in the running game',
15
+ inputSchema: {
16
+ path: NodePath.describe('Node path in the game tree'),
17
+ properties: z.array(z.string()).optional().describe('Specific property names to return (defaults to common properties)'),
18
+ },
19
+ }, async (args) => callGodot(bridge, 'runtime/get_node_properties', args));
20
+ // 3. set_game_node_property {path: string, property: string, value: any} -> success
21
+ server.registerTool('set_game_node_property', {
22
+ description: '🔴 Game must be running. Set a property on a node in the running game',
23
+ inputSchema: {
24
+ path: NodePath.describe('Node path in the game tree'),
25
+ property: z.string().describe('Property name to set'),
26
+ value: z.unknown().describe('New value for the property'),
27
+ },
28
+ }, async (args) => callGodot(bridge, 'runtime/set_node_property', args));
29
+ // 4. execute_game_script — {code: string} -> result
30
+ server.registerTool('execute_game_script', {
31
+ description: '🔴 Game must be running. Execute a GDScript snippet in the running game context',
32
+ inputSchema: {
33
+ code: GDScriptCode,
34
+ },
35
+ }, async (args) => callGodot(bridge, 'runtime/execute_script', args));
36
+ // 5. capture_frames {count?: number, interval?: number} -> frame paths
37
+ server.registerTool('capture_frames', {
38
+ description: '🔴 Game must be running. Capture frames from the running game viewport as PNG files',
39
+ inputSchema: {
40
+ count: z.number().int().min(1).max(60).optional().default(1).describe('Number of frames to capture (default: 1)'),
41
+ interval: z.number().optional().describe('Interval between captures in seconds'),
42
+ },
43
+ }, async (args) => callGodot(bridge, 'runtime/capture_frames', args));
44
+ // 6. monitor_properties — {path: string, properties: string[], duration?: number} -> timeline data
45
+ server.registerTool('monitor_properties', {
46
+ description: '🔴 Game must be running. Monitor specific properties on a game node for changes over time',
47
+ inputSchema: {
48
+ path: NodePath.describe('Node path to monitor'),
49
+ properties: z.array(z.string()).describe('Property names to monitor'),
50
+ duration: Timeout.describe('Monitoring duration in seconds'),
51
+ },
52
+ }, async (args) => callGodot(bridge, 'runtime/monitor_properties', args));
53
+ // 7. start_recording — {} -> success
54
+ server.registerTool('start_recording', {
55
+ description: '🔴 Game must be running. Start recording game state changes',
56
+ inputSchema: {},
57
+ }, async () => callGodot(bridge, 'runtime/start_recording'));
58
+ // 8. stop_recording {} -> recording data
59
+ server.registerTool('stop_recording', {
60
+ description: '🔴 Game must be running. Stop recording and return the recorded game state data',
61
+ inputSchema: {},
62
+ }, async () => callGodot(bridge, 'runtime/stop_recording'));
63
+ // 9. replay_recording — {speed?: number} -> success
64
+ server.registerTool('replay_recording', {
65
+ description: '🔴 Game must be running. Replay a previously recorded game session',
66
+ inputSchema: {
67
+ speed: PositiveNumber.optional().default(1.0).describe('Playback speed multiplier (default: 1.0)'),
68
+ },
69
+ }, async (args) => callGodot(bridge, 'runtime/replay_recording', args));
70
+ // 10. find_nodes_by_script {script_path: string} -> node paths
71
+ server.registerTool('find_nodes_by_script', {
72
+ description: '🔴 Game must be running. Find all nodes in the game that use a specific script',
73
+ inputSchema: {
74
+ script_path: ScriptPath.describe("Script file path to search for (e.g. 'res://scripts/enemy.gd')"),
75
+ },
76
+ }, async (args) => callGodot(bridge, 'runtime/find_by_script', args));
77
+ // 11. get_autoload — {name: string} -> autoload properties
78
+ server.registerTool('get_autoload', {
79
+ description: '🔴 Game must be running. Get properties of an autoload singleton from the running game',
80
+ inputSchema: {
81
+ name: z.string().describe('Autoload singleton name'),
82
+ },
83
+ }, async (args) => callGodot(bridge, 'runtime/get_autoload', args));
84
+ // 12. batch_get_properties — {paths: string[], properties: string[]} -> batch results
85
+ server.registerTool('batch_get_properties', {
86
+ description: '🔴 Game must be running. Get multiple properties from multiple nodes in one call',
87
+ inputSchema: {
88
+ paths: z.array(z.string()).describe('List of node paths to query'),
89
+ properties: z.array(z.string()).describe('Property names to read from each node'),
90
+ },
91
+ }, async (args) => callGodot(bridge, 'runtime/batch_get_properties', args));
92
+ // 13. find_ui_elements — {filter?: {type?: string, text?: string, name?: string}} -> UI elements
93
+ server.registerTool('find_ui_elements', {
94
+ description: '🔴 Game must be running. Find UI elements in the running game by type, text, or name',
95
+ inputSchema: {
96
+ filter: z
97
+ .object({
98
+ type: z.string().optional().describe("Control type to filter by (e.g. 'Button', 'Label')"),
99
+ text: z.string().optional().describe('Text content to search for'),
100
+ })
101
+ .optional()
102
+ .describe('Filter criteria for UI element search'),
103
+ },
104
+ }, async (args) => callGodot(bridge, 'runtime/find_ui_elements', args));
105
+ // 14. click_button_by_text — {text: string, timeout?: number} -> success
106
+ server.registerTool('click_button_by_text', {
107
+ description: '🔴 Game must be running. Find and click a button by its text content',
108
+ inputSchema: {
109
+ text: z.string().describe('Button text to find and click'),
110
+ timeout: Timeout,
111
+ },
112
+ }, async (args) => callGodot(bridge, 'runtime/click_button', args));
113
+ // 15. wait_for_node — {path: string, timeout?: number} -> success
114
+ server.registerTool('wait_for_node', {
115
+ description: '🔴 Game must be running. Wait for a node to appear in the running game tree',
116
+ inputSchema: {
117
+ path: NodePath.describe('Node path to wait for'),
118
+ timeout: Timeout.default(5.0).describe('Timeout in seconds (default: 5.0)'),
119
+ },
120
+ }, async (args) => callGodot(bridge, 'runtime/wait_for_node', args));
121
+ // 16. find_nearby_nodes {position: [number,number,number], radius: number, type?: string} -> nodes
122
+ server.registerTool('find_nearby_nodes', {
123
+ description: '🔴 Game must be running. Find nodes within a radius of a world position',
124
+ inputSchema: {
125
+ position: Position3D,
126
+ radius: PositiveNumber.describe('Search radius'),
127
+ },
128
+ }, async (args) => callGodot(bridge, 'runtime/find_nearby', args));
129
+ // 17. navigate_to — {path: string, target: [number,number,number], speed?: number} -> success
130
+ server.registerTool('navigate_to', {
131
+ description: '🔴 Game must be running. Navigate a node to a target position using pathfinding',
132
+ inputSchema: {
133
+ path: NodePath.describe('Node path to navigate (must have NavigationAgent3D)'),
134
+ target: Position3D.describe('Target position [x, y, z]'),
135
+ },
136
+ }, async (args) => callGodot(bridge, 'runtime/navigate_to', args));
137
+ // 18. move_to — {path: string, target: [number,number,number], speed?: number} -> success
138
+ server.registerTool('move_to', {
139
+ description: '🔴 Game must be running. Directly move a node to a target position',
140
+ inputSchema: {
141
+ path: NodePath.describe('Node path to move'),
142
+ target: Position3D.describe('Target position [x, y, z]'),
143
+ },
144
+ }, async (args) => callGodot(bridge, 'runtime/move_to', args));
145
+ // 19. watch_signals — {path: string, signals: string[], duration?: number} -> signal log
146
+ server.registerTool('watch_signals', {
147
+ description: '🔴 Game must be running. Watch for signal emissions from a game node',
148
+ inputSchema: {
149
+ path: NodePath.describe('Node path to watch'),
150
+ signals: z.array(z.string()).describe('Signal names to watch for'),
151
+ duration: Timeout.describe('How long to watch in seconds'),
152
+ },
153
+ }, async (args) => callGodot(bridge, 'runtime/watch_signals', args));
230
154
  }
231
- //# sourceMappingURL=runtime.js.map
155
+ //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/tools/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/tools/runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"save_load.d.ts","sourceRoot":"","sources":["../../src/tools/save_load.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA8DlF"}
1
+ {"version":3,"file":"save_load.d.ts","sourceRoot":"","sources":["../../src/tools/save_load.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA4DlF"}
@@ -4,60 +4,40 @@
4
4
  import { callGodot } from '../server.js';
5
5
  import { z, OptionalProperties } from './shared-types.js';
6
6
  export function registerSaveLoadTools(server, bridge) {
7
- // 1. save_game_state
8
- server.registerTool(
9
- 'save_game_state',
10
- {
11
- description: 'Save the current game state to a numbered slot with optional metadata',
12
- inputSchema: {
13
- slot: z.number().int().min(0).max(99).describe('Save slot number (0-99)'),
14
- metadata: OptionalProperties.describe('Optional metadata to store with the save (e.g. player name, level, timestamp)'),
15
- },
16
- },
17
- async (args) => callGodot(bridge, 'save_game_state', args),
18
- );
19
- // 2. load_game_state
20
- server.registerTool(
21
- 'load_game_state',
22
- {
23
- description: 'Load a game state from a numbered save slot',
24
- inputSchema: {
25
- slot: z.number().int().min(0).max(99).describe('Save slot number to load (0-99)'),
26
- },
27
- },
28
- async (args) => callGodot(bridge, 'load_game_state', args),
29
- );
30
- // 3. list_save_files
31
- server.registerTool(
32
- 'list_save_files',
33
- {
34
- description: 'List all save files with their metadata',
35
- inputSchema: {},
36
- },
37
- async () => callGodot(bridge, 'list_save_files'),
38
- );
39
- // 4. delete_save_file
40
- server.registerTool(
41
- 'delete_save_file',
42
- {
43
- description: 'Delete a save file from a specific slot',
44
- inputSchema: {
45
- slot: z.number().int().min(0).max(99).describe('Save slot number to delete (0-99)'),
46
- },
47
- },
48
- async (args) => callGodot(bridge, 'delete_save_file', args),
49
- );
50
- // 5. compare_save_states
51
- server.registerTool(
52
- 'compare_save_states',
53
- {
54
- description: 'Compare two save states and return a diff of their contents',
55
- inputSchema: {
56
- slot_a: z.number().int().min(0).max(99).describe('First save slot to compare (0-99)'),
57
- slot_b: z.number().int().min(0).max(99).describe('Second save slot to compare (0-99)'),
58
- },
59
- },
60
- async (args) => callGodot(bridge, 'compare_save_states', args),
61
- );
7
+ // 1. save_game_state
8
+ server.registerTool('save_game_state', {
9
+ description: 'Save the current game state to a numbered slot with optional metadata',
10
+ inputSchema: {
11
+ slot: z.number().int().min(0).max(99).describe('Save slot number (0-99)'),
12
+ metadata: OptionalProperties.describe('Optional metadata to store with the save (e.g. player name, level, timestamp)'),
13
+ },
14
+ }, async (args) => callGodot(bridge, 'save_game_state', args));
15
+ // 2. load_game_state
16
+ server.registerTool('load_game_state', {
17
+ description: 'Load a game state from a numbered save slot',
18
+ inputSchema: {
19
+ slot: z.number().int().min(0).max(99).describe('Save slot number to load (0-99)'),
20
+ },
21
+ }, async (args) => callGodot(bridge, 'load_game_state', args));
22
+ // 3. list_save_files
23
+ server.registerTool('list_save_files', {
24
+ description: 'List all save files with their metadata',
25
+ inputSchema: {},
26
+ }, async () => callGodot(bridge, 'list_save_files'));
27
+ // 4. delete_save_file
28
+ server.registerTool('delete_save_file', {
29
+ description: 'Delete a save file from a specific slot',
30
+ inputSchema: {
31
+ slot: z.number().int().min(0).max(99).describe('Save slot number to delete (0-99)'),
32
+ },
33
+ }, async (args) => callGodot(bridge, 'delete_save_file', args));
34
+ // 5. compare_save_states
35
+ server.registerTool('compare_save_states', {
36
+ description: 'Compare two save states and return a diff of their contents',
37
+ inputSchema: {
38
+ slot_a: z.number().int().min(0).max(99).describe('First save slot to compare (0-99)'),
39
+ slot_b: z.number().int().min(0).max(99).describe('Second save slot to compare (0-99)'),
40
+ },
41
+ }, async (args) => callGodot(bridge, 'compare_save_states', args));
62
42
  }
63
- //# sourceMappingURL=save_load.js.map
43
+ //# sourceMappingURL=save_load.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"save_load.js","sourceRoot":"","sources":["../../src/tools/save_load.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAmB;IAC1E,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACzE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CACnC,+EAA+E,CAChF;SACF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAA+B,CAAC,CACtF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;SAClF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAA+B,CAAC,CACtF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,CACjD,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SACpF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAA+B,CAAC,CACvF,CAAC;IAEF,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACrF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SACvF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAA+B,CAAC,CAC1F,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"save_load.js","sourceRoot":"","sources":["../../src/tools/save_load.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAmB;IAC1E,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACzE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,+EAA+E,CAAC;SACvH;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAA+B,CAAC,CACtF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;SAClF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAA+B,CAAC,CACtF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,CACjD,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SACpF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAA+B,CAAC,CACvF,CAAC;IAEF,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACrF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SACvF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAA+B,CAAC,CAC1F,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/tools/scene.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAuI/E"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/tools/scene.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAoI/E"}