@keeveeg/godot-mcp 1.0.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.
Files changed (285) hide show
  1. package/dist/config.d.ts +30 -0
  2. package/dist/config.d.ts.map +1 -0
  3. package/dist/config.js +28 -0
  4. package/dist/config.js.map +1 -0
  5. package/dist/godot-bridge.d.ts +81 -0
  6. package/dist/godot-bridge.d.ts.map +1 -0
  7. package/dist/godot-bridge.js +294 -0
  8. package/dist/godot-bridge.js.map +1 -0
  9. package/dist/index.d.ts +9 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +61 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/server.d.ts +25 -0
  14. package/dist/server.d.ts.map +1 -0
  15. package/dist/server.js +45 -0
  16. package/dist/server.js.map +1 -0
  17. package/dist/tools/accessibility.d.ts +7 -0
  18. package/dist/tools/accessibility.d.ts.map +1 -0
  19. package/dist/tools/accessibility.js +71 -0
  20. package/dist/tools/accessibility.js.map +1 -0
  21. package/dist/tools/addon_management.d.ts +7 -0
  22. package/dist/tools/addon_management.d.ts.map +1 -0
  23. package/dist/tools/addon_management.js +64 -0
  24. package/dist/tools/addon_management.js.map +1 -0
  25. package/dist/tools/analysis.d.ts +7 -0
  26. package/dist/tools/analysis.d.ts.map +1 -0
  27. package/dist/tools/analysis.js +43 -0
  28. package/dist/tools/analysis.js.map +1 -0
  29. package/dist/tools/analytics.d.ts +7 -0
  30. package/dist/tools/analytics.d.ts.map +1 -0
  31. package/dist/tools/analytics.js +76 -0
  32. package/dist/tools/analytics.js.map +1 -0
  33. package/dist/tools/animation.d.ts +7 -0
  34. package/dist/tools/animation.d.ts.map +1 -0
  35. package/dist/tools/animation.js +142 -0
  36. package/dist/tools/animation.js.map +1 -0
  37. package/dist/tools/asset_pipeline.d.ts +7 -0
  38. package/dist/tools/asset_pipeline.d.ts.map +1 -0
  39. package/dist/tools/asset_pipeline.js +102 -0
  40. package/dist/tools/asset_pipeline.js.map +1 -0
  41. package/dist/tools/asset_scaffolding.d.ts +7 -0
  42. package/dist/tools/asset_scaffolding.d.ts.map +1 -0
  43. package/dist/tools/asset_scaffolding.js +113 -0
  44. package/dist/tools/asset_scaffolding.js.map +1 -0
  45. package/dist/tools/audio.d.ts +7 -0
  46. package/dist/tools/audio.d.ts.map +1 -0
  47. package/dist/tools/audio.js +116 -0
  48. package/dist/tools/audio.js.map +1 -0
  49. package/dist/tools/audio_config.d.ts +7 -0
  50. package/dist/tools/audio_config.d.ts.map +1 -0
  51. package/dist/tools/audio_config.js +83 -0
  52. package/dist/tools/audio_config.js.map +1 -0
  53. package/dist/tools/batch.d.ts +7 -0
  54. package/dist/tools/batch.d.ts.map +1 -0
  55. package/dist/tools/batch.js +96 -0
  56. package/dist/tools/batch.js.map +1 -0
  57. package/dist/tools/build_config.d.ts +7 -0
  58. package/dist/tools/build_config.d.ts.map +1 -0
  59. package/dist/tools/build_config.js +98 -0
  60. package/dist/tools/build_config.js.map +1 -0
  61. package/dist/tools/cicd_pipeline.d.ts +7 -0
  62. package/dist/tools/cicd_pipeline.d.ts.map +1 -0
  63. package/dist/tools/cicd_pipeline.js +125 -0
  64. package/dist/tools/cicd_pipeline.js.map +1 -0
  65. package/dist/tools/cloud_services.d.ts +7 -0
  66. package/dist/tools/cloud_services.d.ts.map +1 -0
  67. package/dist/tools/cloud_services.js +97 -0
  68. package/dist/tools/cloud_services.js.map +1 -0
  69. package/dist/tools/code_generation.d.ts +7 -0
  70. package/dist/tools/code_generation.d.ts.map +1 -0
  71. package/dist/tools/code_generation.js +79 -0
  72. package/dist/tools/code_generation.js.map +1 -0
  73. package/dist/tools/code_quality.d.ts +7 -0
  74. package/dist/tools/code_quality.d.ts.map +1 -0
  75. package/dist/tools/code_quality.js +98 -0
  76. package/dist/tools/code_quality.js.map +1 -0
  77. package/dist/tools/collaboration.d.ts +7 -0
  78. package/dist/tools/collaboration.d.ts.map +1 -0
  79. package/dist/tools/collaboration.js +73 -0
  80. package/dist/tools/collaboration.js.map +1 -0
  81. package/dist/tools/debug_config.d.ts +7 -0
  82. package/dist/tools/debug_config.d.ts.map +1 -0
  83. package/dist/tools/debug_config.js +77 -0
  84. package/dist/tools/debug_config.js.map +1 -0
  85. package/dist/tools/debugging.d.ts +7 -0
  86. package/dist/tools/debugging.d.ts.map +1 -0
  87. package/dist/tools/debugging.js +90 -0
  88. package/dist/tools/debugging.js.map +1 -0
  89. package/dist/tools/documentation_tools.d.ts +7 -0
  90. package/dist/tools/documentation_tools.d.ts.map +1 -0
  91. package/dist/tools/documentation_tools.js +89 -0
  92. package/dist/tools/documentation_tools.js.map +1 -0
  93. package/dist/tools/editor.d.ts +7 -0
  94. package/dist/tools/editor.d.ts.map +1 -0
  95. package/dist/tools/editor.js +97 -0
  96. package/dist/tools/editor.js.map +1 -0
  97. package/dist/tools/editor_config.d.ts +7 -0
  98. package/dist/tools/editor_config.d.ts.map +1 -0
  99. package/dist/tools/editor_config.js +92 -0
  100. package/dist/tools/editor_config.js.map +1 -0
  101. package/dist/tools/export.d.ts +7 -0
  102. package/dist/tools/export.d.ts.map +1 -0
  103. package/dist/tools/export.js +81 -0
  104. package/dist/tools/export.js.map +1 -0
  105. package/dist/tools/game_template.d.ts +7 -0
  106. package/dist/tools/game_template.d.ts.map +1 -0
  107. package/dist/tools/game_template.js +112 -0
  108. package/dist/tools/game_template.js.map +1 -0
  109. package/dist/tools/gameplay_automation.d.ts +7 -0
  110. package/dist/tools/gameplay_automation.d.ts.map +1 -0
  111. package/dist/tools/gameplay_automation.js +109 -0
  112. package/dist/tools/gameplay_automation.js.map +1 -0
  113. package/dist/tools/git_integration.d.ts +7 -0
  114. package/dist/tools/git_integration.d.ts.map +1 -0
  115. package/dist/tools/git_integration.js +75 -0
  116. package/dist/tools/git_integration.js.map +1 -0
  117. package/dist/tools/headless_testing.d.ts +7 -0
  118. package/dist/tools/headless_testing.d.ts.map +1 -0
  119. package/dist/tools/headless_testing.js +65 -0
  120. package/dist/tools/headless_testing.js.map +1 -0
  121. package/dist/tools/iap_monetization.d.ts +7 -0
  122. package/dist/tools/iap_monetization.d.ts.map +1 -0
  123. package/dist/tools/iap_monetization.js +70 -0
  124. package/dist/tools/iap_monetization.js.map +1 -0
  125. package/dist/tools/index.d.ts +12 -0
  126. package/dist/tools/index.d.ts.map +1 -0
  127. package/dist/tools/index.js +93 -0
  128. package/dist/tools/index.js.map +1 -0
  129. package/dist/tools/input.d.ts +7 -0
  130. package/dist/tools/input.d.ts.map +1 -0
  131. package/dist/tools/input.js +110 -0
  132. package/dist/tools/input.js.map +1 -0
  133. package/dist/tools/localization.d.ts +7 -0
  134. package/dist/tools/localization.d.ts.map +1 -0
  135. package/dist/tools/localization.js +97 -0
  136. package/dist/tools/localization.js.map +1 -0
  137. package/dist/tools/marketing.d.ts +7 -0
  138. package/dist/tools/marketing.d.ts.map +1 -0
  139. package/dist/tools/marketing.js +87 -0
  140. package/dist/tools/marketing.js.map +1 -0
  141. package/dist/tools/memory_profiling.d.ts +7 -0
  142. package/dist/tools/memory_profiling.d.ts.map +1 -0
  143. package/dist/tools/memory_profiling.js +58 -0
  144. package/dist/tools/memory_profiling.js.map +1 -0
  145. package/dist/tools/mod_support.d.ts +7 -0
  146. package/dist/tools/mod_support.d.ts.map +1 -0
  147. package/dist/tools/mod_support.js +93 -0
  148. package/dist/tools/mod_support.js.map +1 -0
  149. package/dist/tools/navigation.d.ts +7 -0
  150. package/dist/tools/navigation.d.ts.map +1 -0
  151. package/dist/tools/navigation.js +133 -0
  152. package/dist/tools/navigation.js.map +1 -0
  153. package/dist/tools/networking.d.ts +7 -0
  154. package/dist/tools/networking.d.ts.map +1 -0
  155. package/dist/tools/networking.js +94 -0
  156. package/dist/tools/networking.js.map +1 -0
  157. package/dist/tools/node.d.ts +7 -0
  158. package/dist/tools/node.d.ts.map +1 -0
  159. package/dist/tools/node.js +209 -0
  160. package/dist/tools/node.js.map +1 -0
  161. package/dist/tools/node_config.d.ts +7 -0
  162. package/dist/tools/node_config.d.ts.map +1 -0
  163. package/dist/tools/node_config.js +97 -0
  164. package/dist/tools/node_config.js.map +1 -0
  165. package/dist/tools/particles.d.ts +7 -0
  166. package/dist/tools/particles.d.ts.map +1 -0
  167. package/dist/tools/particles.js +118 -0
  168. package/dist/tools/particles.js.map +1 -0
  169. package/dist/tools/performance_optimization.d.ts +7 -0
  170. package/dist/tools/performance_optimization.d.ts.map +1 -0
  171. package/dist/tools/performance_optimization.js +75 -0
  172. package/dist/tools/performance_optimization.js.map +1 -0
  173. package/dist/tools/physics.d.ts +7 -0
  174. package/dist/tools/physics.d.ts.map +1 -0
  175. package/dist/tools/physics.js +106 -0
  176. package/dist/tools/physics.js.map +1 -0
  177. package/dist/tools/physics_config.d.ts +7 -0
  178. package/dist/tools/physics_config.d.ts.map +1 -0
  179. package/dist/tools/physics_config.js +95 -0
  180. package/dist/tools/physics_config.js.map +1 -0
  181. package/dist/tools/platform_export.d.ts +7 -0
  182. package/dist/tools/platform_export.d.ts.map +1 -0
  183. package/dist/tools/platform_export.js +76 -0
  184. package/dist/tools/platform_export.js.map +1 -0
  185. package/dist/tools/platform_specific.d.ts +7 -0
  186. package/dist/tools/platform_specific.d.ts.map +1 -0
  187. package/dist/tools/platform_specific.js +92 -0
  188. package/dist/tools/platform_specific.js.map +1 -0
  189. package/dist/tools/profiling.d.ts +7 -0
  190. package/dist/tools/profiling.d.ts.map +1 -0
  191. package/dist/tools/profiling.js +28 -0
  192. package/dist/tools/profiling.js.map +1 -0
  193. package/dist/tools/project.d.ts +7 -0
  194. package/dist/tools/project.d.ts.map +1 -0
  195. package/dist/tools/project.js +86 -0
  196. package/dist/tools/project.js.map +1 -0
  197. package/dist/tools/project_config.d.ts +7 -0
  198. package/dist/tools/project_config.d.ts.map +1 -0
  199. package/dist/tools/project_config.js +143 -0
  200. package/dist/tools/project_config.js.map +1 -0
  201. package/dist/tools/project_creation.d.ts +7 -0
  202. package/dist/tools/project_creation.d.ts.map +1 -0
  203. package/dist/tools/project_creation.js +147 -0
  204. package/dist/tools/project_creation.js.map +1 -0
  205. package/dist/tools/rendering_config.d.ts +7 -0
  206. package/dist/tools/rendering_config.d.ts.map +1 -0
  207. package/dist/tools/rendering_config.js +110 -0
  208. package/dist/tools/rendering_config.js.map +1 -0
  209. package/dist/tools/resource.d.ts +7 -0
  210. package/dist/tools/resource.d.ts.map +1 -0
  211. package/dist/tools/resource.js +124 -0
  212. package/dist/tools/resource.js.map +1 -0
  213. package/dist/tools/resource_config.d.ts +7 -0
  214. package/dist/tools/resource_config.d.ts.map +1 -0
  215. package/dist/tools/resource_config.js +76 -0
  216. package/dist/tools/resource_config.js.map +1 -0
  217. package/dist/tools/runtime.d.ts +7 -0
  218. package/dist/tools/runtime.d.ts.map +1 -0
  219. package/dist/tools/runtime.js +231 -0
  220. package/dist/tools/runtime.js.map +1 -0
  221. package/dist/tools/save_load.d.ts +7 -0
  222. package/dist/tools/save_load.d.ts.map +1 -0
  223. package/dist/tools/save_load.js +63 -0
  224. package/dist/tools/save_load.js.map +1 -0
  225. package/dist/tools/scene.d.ts +7 -0
  226. package/dist/tools/scene.d.ts.map +1 -0
  227. package/dist/tools/scene.js +129 -0
  228. package/dist/tools/scene.js.map +1 -0
  229. package/dist/tools/scene3d.d.ts +7 -0
  230. package/dist/tools/scene3d.d.ts.map +1 -0
  231. package/dist/tools/scene3d.js +82 -0
  232. package/dist/tools/scene3d.js.map +1 -0
  233. package/dist/tools/scene_config.d.ts +7 -0
  234. package/dist/tools/scene_config.d.ts.map +1 -0
  235. package/dist/tools/scene_config.js +79 -0
  236. package/dist/tools/scene_config.js.map +1 -0
  237. package/dist/tools/scene_scaffolding.d.ts +7 -0
  238. package/dist/tools/scene_scaffolding.d.ts.map +1 -0
  239. package/dist/tools/scene_scaffolding.js +110 -0
  240. package/dist/tools/scene_scaffolding.js.map +1 -0
  241. package/dist/tools/script.d.ts +7 -0
  242. package/dist/tools/script.d.ts.map +1 -0
  243. package/dist/tools/script.js +111 -0
  244. package/dist/tools/script.js.map +1 -0
  245. package/dist/tools/script_scaffolding.d.ts +7 -0
  246. package/dist/tools/script_scaffolding.d.ts.map +1 -0
  247. package/dist/tools/script_scaffolding.js +115 -0
  248. package/dist/tools/script_scaffolding.js.map +1 -0
  249. package/dist/tools/security.d.ts +7 -0
  250. package/dist/tools/security.d.ts.map +1 -0
  251. package/dist/tools/security.js +73 -0
  252. package/dist/tools/security.js.map +1 -0
  253. package/dist/tools/shader.d.ts +7 -0
  254. package/dist/tools/shader.d.ts.map +1 -0
  255. package/dist/tools/shader.js +118 -0
  256. package/dist/tools/shader.js.map +1 -0
  257. package/dist/tools/shared-types.d.ts +138 -0
  258. package/dist/tools/shared-types.d.ts.map +1 -0
  259. package/dist/tools/shared-types.js +170 -0
  260. package/dist/tools/shared-types.js.map +1 -0
  261. package/dist/tools/testing.d.ts +7 -0
  262. package/dist/tools/testing.d.ts.map +1 -0
  263. package/dist/tools/testing.js +78 -0
  264. package/dist/tools/testing.js.map +1 -0
  265. package/dist/tools/theme.d.ts +7 -0
  266. package/dist/tools/theme.d.ts.map +1 -0
  267. package/dist/tools/theme.js +97 -0
  268. package/dist/tools/theme.js.map +1 -0
  269. package/dist/tools/tilemap.d.ts +7 -0
  270. package/dist/tools/tilemap.d.ts.map +1 -0
  271. package/dist/tools/tilemap.js +89 -0
  272. package/dist/tools/tilemap.js.map +1 -0
  273. package/dist/tools/version_control_advanced.d.ts +7 -0
  274. package/dist/tools/version_control_advanced.d.ts.map +1 -0
  275. package/dist/tools/version_control_advanced.js +100 -0
  276. package/dist/tools/version_control_advanced.js.map +1 -0
  277. package/dist/tools/visual_testing.d.ts +7 -0
  278. package/dist/tools/visual_testing.d.ts.map +1 -0
  279. package/dist/tools/visual_testing.js +81 -0
  280. package/dist/tools/visual_testing.js.map +1 -0
  281. package/dist/types.d.ts +77 -0
  282. package/dist/types.d.ts.map +1 -0
  283. package/dist/types.js +37 -0
  284. package/dist/types.js.map +1 -0
  285. package/package.json +49 -0
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Rendering configuration tools - 10 tools for rendering settings
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, Quality, Size2D } from './shared-types.js';
6
+ export function registerRenderingConfigTools(server, bridge) {
7
+ // 1. get_rendering_settings
8
+ server.registerTool(
9
+ 'get_rendering_settings',
10
+ {
11
+ description: 'Get all current rendering settings (renderer, quality, viewport, etc.)',
12
+ inputSchema: {},
13
+ },
14
+ async () => callGodot(bridge, 'rendering_config/get_settings'),
15
+ );
16
+ // 2. set_rendering_quality
17
+ server.registerTool(
18
+ 'set_rendering_quality',
19
+ {
20
+ description: 'Apply a rendering quality preset (sets multiple settings at once)',
21
+ inputSchema: {
22
+ quality: Quality,
23
+ },
24
+ },
25
+ async (args) => callGodot(bridge, 'rendering_config/set_quality', args),
26
+ );
27
+ // 3. set_renderer
28
+ server.registerTool(
29
+ 'set_renderer',
30
+ {
31
+ description: 'Set the rendering method/renderer for the project',
32
+ inputSchema: {
33
+ renderer: z.enum(['forward_plus', 'mobile', 'gl_compatibility']).describe('Rendering backend to use'),
34
+ },
35
+ },
36
+ async (args) => callGodot(bridge, 'rendering_config/set_renderer', args),
37
+ );
38
+ // 4. set_anti_aliasing
39
+ server.registerTool(
40
+ 'set_anti_aliasing',
41
+ {
42
+ description: 'Configure anti-aliasing settings (MSAA, FXAA, TAA)',
43
+ inputSchema: {
44
+ msaa: z.enum(['2x', '4x', '8x']).optional().describe('MSAA level (or omit to disable)'),
45
+ fxaa: z.boolean().optional().describe('Enable/disable FXAA'),
46
+ taa: z.boolean().optional().describe('Enable/disable TAA'),
47
+ },
48
+ },
49
+ async (args) => callGodot(bridge, 'rendering_config/set_anti_aliasing', args),
50
+ );
51
+ // 5. set_shadow_quality
52
+ server.registerTool(
53
+ 'set_shadow_quality',
54
+ {
55
+ description: 'Set shadow rendering quality preset',
56
+ inputSchema: {
57
+ quality: Quality.describe('Shadow quality level'),
58
+ },
59
+ },
60
+ async (args) => callGodot(bridge, 'rendering_config/set_shadow_quality', args),
61
+ );
62
+ // 6. set_gi_quality
63
+ server.registerTool(
64
+ 'set_gi_quality',
65
+ {
66
+ description: 'Set global illumination quality preset',
67
+ inputSchema: {
68
+ quality: Quality.describe('GI quality level'),
69
+ },
70
+ },
71
+ async (args) => callGodot(bridge, 'rendering_config/set_gi_quality', args),
72
+ );
73
+ // 8. set_viewport_size
74
+ server.registerTool(
75
+ 'set_viewport_size',
76
+ {
77
+ description: 'Set the game viewport dimensions and stretch settings',
78
+ inputSchema: {
79
+ width: z.number().int().positive().describe('Viewport width in pixels'),
80
+ height: z.number().int().positive().describe('Viewport height in pixels'),
81
+ stretch_mode: z.enum(['disabled', 'canvas_items', 'viewport']).optional().describe('Stretch mode'),
82
+ stretch_aspect: z.enum(['ignore', 'keep', 'keep_width', 'keep_height', 'expand']).optional().describe('Stretch aspect ratio behavior'),
83
+ },
84
+ },
85
+ async (args) => callGodot(bridge, 'rendering_config/set_viewport_size', args),
86
+ );
87
+ // 9. set_window_settings
88
+ server.registerTool(
89
+ 'set_window_settings',
90
+ {
91
+ description: 'Configure the application window size, mode, and vsync',
92
+ inputSchema: {
93
+ size: Size2D.optional().describe('Window size [width, height]'),
94
+ mode: z.enum(['windowed', 'fullscreen', 'exclusive_fullscreen']).optional().describe('Window display mode'),
95
+ vsync: z.boolean().optional().describe('Enable/disable vertical sync'),
96
+ },
97
+ },
98
+ async (args) => callGodot(bridge, 'rendering_config/set_window_settings', args),
99
+ );
100
+ // 10. get_rendering_info
101
+ server.registerTool(
102
+ 'get_rendering_info',
103
+ {
104
+ description: 'Get GPU info, VRAM usage, draw calls, and rendering statistics',
105
+ inputSchema: {},
106
+ },
107
+ async () => callGodot(bridge, 'rendering_config/get_rendering_info'),
108
+ );
109
+ }
110
+ //# sourceMappingURL=rendering_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rendering_config.js","sourceRoot":"","sources":["../../src/tools/rendering_config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Resource tools - 9 tools for resource management
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerResourceTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/tools/resource.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,CA8HlF"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Resource tools - 9 tools for resource management
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, ResourcePath, Properties, OptionalProperties } from './shared-types.js';
6
+ export function registerResourceTools(server, bridge) {
7
+ // 1. read_resource
8
+ server.registerTool(
9
+ 'read_resource',
10
+ {
11
+ description: 'Read a Godot resource file (.tres, .res) and get its properties',
12
+ inputSchema: {
13
+ path: ResourcePath,
14
+ },
15
+ },
16
+ async (args) => callGodot(bridge, 'resource/read', args),
17
+ );
18
+ // 2. edit_resource
19
+ server.registerTool(
20
+ 'edit_resource',
21
+ {
22
+ description: 'Edit properties of an existing resource',
23
+ inputSchema: {
24
+ path: ResourcePath,
25
+ properties: Properties.describe('Properties to set'),
26
+ },
27
+ },
28
+ async (args) => callGodot(bridge, 'resource/edit', args),
29
+ );
30
+ // 3. create_resource
31
+ server.registerTool(
32
+ 'create_resource',
33
+ {
34
+ description: 'Create a new Godot resource',
35
+ inputSchema: {
36
+ type: z.string().describe("Resource type (e.g. 'StyleBoxFlat', 'Gradient', 'Curve')"),
37
+ path: ResourcePath,
38
+ properties: OptionalProperties,
39
+ },
40
+ },
41
+ async (args) => callGodot(bridge, 'resource/create', args),
42
+ );
43
+ // 10. delete_resource
44
+ server.registerTool(
45
+ 'delete_resource',
46
+ {
47
+ description: 'Delete a Godot resource file (.tres, .res) from the project',
48
+ inputSchema: {
49
+ path: ResourcePath.describe('Resource file path to delete'),
50
+ },
51
+ },
52
+ async (args) => callGodot(bridge, 'resource/delete', args),
53
+ );
54
+ // 4. get_resource_preview
55
+ server.registerTool(
56
+ 'get_resource_preview',
57
+ {
58
+ description: 'Get a preview thumbnail of a resource',
59
+ inputSchema: {
60
+ path: ResourcePath,
61
+ },
62
+ },
63
+ async (args) => callGodot(bridge, 'resource/get_preview', args),
64
+ );
65
+ // 5. add_autoload
66
+ server.registerTool(
67
+ 'add_autoload',
68
+ {
69
+ description: 'Add an autoload singleton to the project',
70
+ inputSchema: {
71
+ name: z.string().describe('Autoload name (becomes a global singleton)'),
72
+ path: ResourcePath.describe('Script or scene path'),
73
+ },
74
+ },
75
+ async (args) => callGodot(bridge, 'resource/add_autoload', args),
76
+ );
77
+ // 6. remove_autoload
78
+ server.registerTool(
79
+ 'remove_autoload',
80
+ {
81
+ description: 'Remove an autoload singleton from the project',
82
+ inputSchema: {
83
+ name: z.string().describe('Autoload name to remove'),
84
+ },
85
+ },
86
+ async (args) => callGodot(bridge, 'resource/remove_autoload', args),
87
+ );
88
+ // 7. duplicate_resource
89
+ server.registerTool(
90
+ 'duplicate_resource',
91
+ {
92
+ description: 'Duplicate a resource file',
93
+ inputSchema: {
94
+ source_path: ResourcePath.describe('Source resource path'),
95
+ dest_path: z.string().describe('Destination path'),
96
+ },
97
+ },
98
+ async (args) => callGodot(bridge, 'resource/duplicate', args),
99
+ );
100
+ // 8. list_resources
101
+ server.registerTool(
102
+ 'list_resources',
103
+ {
104
+ description: 'List resources of a specific type in the project',
105
+ inputSchema: {
106
+ type: z.string().optional().describe('Resource type to filter by'),
107
+ directory: z.string().optional().describe('Directory to search in'),
108
+ },
109
+ },
110
+ async (args) => callGodot(bridge, 'resource/list', args),
111
+ );
112
+ // 9. get_resource_dependencies
113
+ server.registerTool(
114
+ 'get_resource_dependencies',
115
+ {
116
+ description: 'Get all dependencies of a resource file',
117
+ inputSchema: {
118
+ path: ResourcePath,
119
+ },
120
+ },
121
+ async (args) => callGodot(bridge, 'resource/get_dependencies', args),
122
+ );
123
+ }
124
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/tools/resource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Resource configuration tools - 6 tools for resource type introspection and import
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerResourceConfigTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=resource_config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource_config.d.ts","sourceRoot":"","sources":["../../src/tools/resource_config.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,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAwFxF"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Resource configuration tools - 6 tools for resource type introspection and import
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, ResourcePath, Properties, OptionalProperties } from './shared-types.js';
6
+ export function registerResourceConfigTools(server, bridge) {
7
+ // 1. get_resource_types
8
+ server.registerTool(
9
+ 'get_resource_types',
10
+ {
11
+ description: 'Get all registered resource types in the engine',
12
+ inputSchema: {},
13
+ },
14
+ async () => callGodot(bridge, 'resource_config/get_types'),
15
+ );
16
+ // 2. get_resource_properties
17
+ server.registerTool(
18
+ 'get_resource_properties',
19
+ {
20
+ description: 'Get all serializable properties for a resource type with their types',
21
+ inputSchema: {
22
+ type: z.string().describe("Resource type name (e.g. 'Texture2D', 'AudioStream', 'PackedScene')"),
23
+ },
24
+ },
25
+ async (args) => callGodot(bridge, 'resource_config/get_properties', args),
26
+ );
27
+ // 3. create_resource_from_template
28
+ server.registerTool(
29
+ 'create_resource_from_template',
30
+ {
31
+ description: 'Create a new resource file from a template or with default values',
32
+ inputSchema: {
33
+ type: z.string().describe("Resource type to create (e.g. 'StandardMaterial3D', 'Theme')"),
34
+ template: z.string().optional().describe('Template resource path to copy from'),
35
+ path: ResourcePath.describe("Output path (e.g. 'res://materials/my_material.tres')"),
36
+ },
37
+ },
38
+ async (args) => callGodot(bridge, 'resource_config/create_from_template', args),
39
+ );
40
+ // 4. import_resource
41
+ server.registerTool(
42
+ 'import_resource',
43
+ {
44
+ description: 'Import a file as a resource with optional import settings',
45
+ inputSchema: {
46
+ path: ResourcePath.describe("File path to import (e.g. 'res://assets/model.fbx')"),
47
+ settings: OptionalProperties,
48
+ },
49
+ },
50
+ async (args) => callGodot(bridge, 'resource_config/import', args),
51
+ );
52
+ // 5. get_resource_import_settings
53
+ server.registerTool(
54
+ 'get_resource_import_settings',
55
+ {
56
+ description: 'Get the current import settings for a resource file',
57
+ inputSchema: {
58
+ path: ResourcePath,
59
+ },
60
+ },
61
+ async (args) => callGodot(bridge, 'resource_config/get_resource_import_settings', args),
62
+ );
63
+ // 6. set_resource_import_settings
64
+ server.registerTool(
65
+ 'set_resource_import_settings',
66
+ {
67
+ description: 'Update import settings for a resource file and reimport',
68
+ inputSchema: {
69
+ path: ResourcePath,
70
+ settings: Properties.describe('Import settings to apply'),
71
+ },
72
+ },
73
+ async (args) => callGodot(bridge, 'resource_config/set_resource_import_settings', args),
74
+ );
75
+ }
76
+ //# sourceMappingURL=resource_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource_config.js","sourceRoot":"","sources":["../../src/tools/resource_config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,MAAmB;IAChF,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAC3D,CAAC;IAEF,6BAA6B;IAC7B,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,WAAW,EAAE,sEAAsE;QACnF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,qEAAqE,CAAC;SACnF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,SAAS,CAAC,MAAM,EAAE,gCAAgC,EAAE,IAA+B,CAAC,CACvF,CAAC;IAEF,mCAAmC;IACnC,MAAM,CAAC,YAAY,CACjB,+BAA+B,EAC/B;QACE,WAAW,EAAE,mEAAmE;QAChF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;YACzF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YAC/E,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,uDAAuD,CAAC;SACrF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,SAAS,CAAC,MAAM,EAAE,sCAAsC,EAAE,IAA+B,CAAC,CAC7F,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE;YACX,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YAClF,QAAQ,EAAE,kBAAkB;SAC7B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAA+B,CAAC,CAC7F,CAAC;IAEF,kCAAkC;IAClC,MAAM,CAAC,YAAY,CACjB,8BAA8B,EAC9B;QACE,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACX,IAAI,EAAE,YAAY;SACnB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,SAAS,CACP,MAAM,EACN,8CAA8C,EAC9C,IAA+B,CAChC,CACJ,CAAC;IAEF,kCAAkC;IAClC,MAAM,CAAC,YAAY,CACjB,8BAA8B,EAC9B;QACE,WAAW,EAAE,yDAAyD;QACtE,WAAW,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SAC1D;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,SAAS,CACP,MAAM,EACN,8CAA8C,EAC9C,IAA+B,CAChC,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Runtime tools — 19 tools for game runtime interaction
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerRuntimeTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/tools/runtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAYtD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAiQjF"}
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Runtime tools — 19 tools for game runtime interaction
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, NodePath, ScriptPath, Position3D, PositiveNumber, Timeout, GDScriptCode } from './shared-types.js';
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
+ );
230
+ }
231
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/tools/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Save/Load tools - 5 tools for game save system testing
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerSaveLoadTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=save_load.d.ts.map
@@ -0,0 +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"}