@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,113 @@
1
+ /**
2
+ * Asset scaffolding tools - 6 tools for procedural asset generation
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, Name, FilePath } from './shared-types.js';
6
+ export function registerAssetScaffoldingTools(server, bridge) {
7
+ // 1. create_sprite_sheet
8
+ server.registerTool(
9
+ 'create_sprite_sheet',
10
+ {
11
+ description: 'Create a placeholder sprite sheet texture with grid layout for animation frames',
12
+ inputSchema: {
13
+ project_path: FilePath.describe('Path to the Godot project root'),
14
+ width: z.number().describe('Width of each frame in pixels'),
15
+ height: z.number().describe('Height of each frame in pixels'),
16
+ frames: z.number().describe('Number of animation frames'),
17
+ name: Name.optional().describe('Sprite sheet file name'),
18
+ },
19
+ },
20
+ async (args) => callGodot(bridge, 'asset_scaffolding/create_sprite_sheet', args),
21
+ );
22
+ // 2. create_tileset
23
+ server.registerTool(
24
+ 'create_tileset',
25
+ {
26
+ description: 'Create a TileSet resource with defined tile types and properties',
27
+ inputSchema: {
28
+ project_path: FilePath.describe('Path to the Godot project root'),
29
+ tile_size: z.number().describe('Size of each tile in pixels (e.g. 16, 32, 64)'),
30
+ tiles: z
31
+ .array(
32
+ z.object({
33
+ name: z.string().describe('Tile name'),
34
+ type: z.string().describe("Tile type (e.g. 'ground', 'wall', 'water', 'hazard')"),
35
+ }),
36
+ )
37
+ .describe('Tile definitions'),
38
+ },
39
+ },
40
+ async (args) => callGodot(bridge, 'asset_scaffolding/create_tileset', args),
41
+ );
42
+ // 3. create_animation_library
43
+ server.registerTool(
44
+ 'create_animation_library',
45
+ {
46
+ description: 'Create an AnimationLibrary resource with predefined animation clips',
47
+ inputSchema: {
48
+ project_path: FilePath.describe('Path to the Godot project root'),
49
+ animations: z
50
+ .array(
51
+ z.object({
52
+ name: z.string().describe('Animation name'),
53
+ frames: z.number().describe('Number of keyframes'),
54
+ fps: z.number().optional().describe('Frames per second (defaults to 12)'),
55
+ }),
56
+ )
57
+ .describe('Animation definitions'),
58
+ },
59
+ },
60
+ async (args) => callGodot(bridge, 'asset_scaffolding/create_animation_library', args),
61
+ );
62
+ // 4. create_audio_library
63
+ server.registerTool(
64
+ 'create_audio_library',
65
+ {
66
+ description: 'Create an audio bus layout with placeholder entries for game sounds',
67
+ inputSchema: {
68
+ project_path: FilePath.describe('Path to the Godot project root'),
69
+ sounds: z
70
+ .array(
71
+ z.object({
72
+ name: z.string().describe('Sound name'),
73
+ type: z.enum(['sfx', 'music', 'ambient']).describe('Sound category'),
74
+ }),
75
+ )
76
+ .describe('Sound definitions'),
77
+ },
78
+ },
79
+ async (args) => callGodot(bridge, 'asset_scaffolding/create_audio_library', args),
80
+ );
81
+ // 5. create_theme_preset
82
+ server.registerTool(
83
+ 'create_theme_preset',
84
+ {
85
+ description: 'Create a Godot Theme resource with a predefined visual style',
86
+ inputSchema: {
87
+ project_path: FilePath.describe('Path to the Godot project root'),
88
+ style: z.enum(['pixel', 'modern', 'minimalist', 'fantasy', 'sci-fi']).describe('Theme visual style'),
89
+ },
90
+ },
91
+ async (args) => callGodot(bridge, 'asset_scaffolding/create_theme_preset', args),
92
+ );
93
+ // 6. create_shader_library
94
+ server.registerTool(
95
+ 'create_shader_library',
96
+ {
97
+ description: 'Create a collection of shader files for common visual effects',
98
+ inputSchema: {
99
+ project_path: FilePath.describe('Path to the Godot project root'),
100
+ shaders: z
101
+ .array(
102
+ z.object({
103
+ name: z.string().describe('Shader name'),
104
+ type: z.enum(['visual', 'particles', 'post_process']).describe('Shader category'),
105
+ }),
106
+ )
107
+ .describe('Shader definitions'),
108
+ },
109
+ },
110
+ async (args) => callGodot(bridge, 'asset_scaffolding/create_shader_library', args),
111
+ );
112
+ }
113
+ //# sourceMappingURL=asset_scaffolding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset_scaffolding.js","sourceRoot":"","sources":["../../src/tools/asset_scaffolding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,UAAU,6BAA6B,CAAC,MAAiB,EAAE,MAAmB;IAClF,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACf,qBAAqB,EACrB;QACE,WAAW,EAAE,iFAAiF;QAC9F,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACzD,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SACzD;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uCAAuC,EAAE,IAA+B,CAAC,CAC5G,CAAC;IAEJ,oBAAoB;IACpB,MAAM,CAAC,YAAY,CACf,gBAAgB,EAChB;QACE,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;YAC/E,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;aAClF,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SACjC;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,kCAAkC,EAAE,IAA+B,CAAC,CACvG,CAAC;IAEJ,8BAA8B;IAC9B,MAAM,CAAC,YAAY,CACf,0BAA0B,EAC1B;QACE,WAAW,EAAE,qEAAqE;QAClF,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBAClD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;aAC1E,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SACtC;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,4CAA4C,EAAE,IAA+B,CAAC,CACjH,CAAC;IAEJ,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACf,sBAAsB,EACtB;QACE,WAAW,EAAE,qEAAqE;QAClF,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACvC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aACrE,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;SAClC;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,wCAAwC,EAAE,IAA+B,CAAC,CAC7G,CAAC;IAEJ,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACf,qBAAqB,EACrB;QACE,WAAW,EAAE,8DAA8D;QAC3E,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;SACrG;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uCAAuC,EAAE,IAA+B,CAAC,CAC5G,CAAC;IAEJ,2BAA2B;IAC3B,MAAM,CAAC,YAAY,CACf,uBAAuB,EACvB;QACE,WAAW,EAAE,+DAA+D;QAC5E,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACxC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;aAClF,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;SACnC;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,yCAAyC,EAAE,IAA+B,CAAC,CAC9G,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Audio tools - 7 tools for audio management
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerAudioTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=audio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/tools/audio.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,CAwH/E"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Audio tools - 7 tools for audio management
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, NodePath, ParentPath, Name, Properties, OptionalProperties } from './shared-types.js';
6
+ export function registerAudioTools(server, bridge) {
7
+ // 1. add_audio_player
8
+ server.registerTool(
9
+ 'add_audio_player',
10
+ {
11
+ description: 'Add an AudioStreamPlayer, AudioStreamPlayer2D, or AudioStreamPlayer3D node',
12
+ inputSchema: {
13
+ parent: ParentPath,
14
+ player_type: z.enum(['AudioStreamPlayer', 'AudioStreamPlayer2D', 'AudioStreamPlayer3D']).optional().default('AudioStreamPlayer').describe('Audio player type'),
15
+ name: z.string().optional().describe('Custom node name'),
16
+ stream_path: z.string().optional().describe("Audio stream resource path (e.g. 'res://sounds/music.ogg')"),
17
+ properties: OptionalProperties.describe('Additional player properties (volume_db, autoplay, bus, etc.)'),
18
+ },
19
+ },
20
+ async (args) => callGodot(bridge, 'audio/add_player', args),
21
+ );
22
+ // 2. remove_audio_player
23
+ server.registerTool(
24
+ 'remove_audio_player',
25
+ {
26
+ description: 'Remove an audio player node from the scene',
27
+ inputSchema: {
28
+ node_path: NodePath.describe('Path to the audio player node to remove'),
29
+ },
30
+ },
31
+ async (args) => callGodot(bridge, 'audio/remove_player', args),
32
+ );
33
+ // 3. add_audio_bus
34
+ server.registerTool(
35
+ 'add_audio_bus',
36
+ {
37
+ description: 'Add a new audio bus to the audio bus layout',
38
+ inputSchema: {
39
+ name: Name.describe('Bus name'),
40
+ index: z.number().int().optional().describe('Position in bus list'),
41
+ },
42
+ },
43
+ async (args) => callGodot(bridge, 'audio/add_bus', args),
44
+ );
45
+ // 4. add_audio_bus_effect
46
+ server.registerTool(
47
+ 'add_audio_bus_effect',
48
+ {
49
+ description: 'Add an audio effect to an audio bus',
50
+ inputSchema: {
51
+ bus_name: Name.describe('Audio bus name'),
52
+ effect_type: z
53
+ .enum([
54
+ 'reverb',
55
+ 'delay',
56
+ 'chorus',
57
+ 'compressor',
58
+ 'distortion',
59
+ 'eq',
60
+ 'limiter',
61
+ 'panner',
62
+ 'pitchshift',
63
+ 'filter',
64
+ 'lowpass',
65
+ 'highpass',
66
+ 'bandpass',
67
+ 'notch',
68
+ 'spectrum',
69
+ 'amplify',
70
+ 'stereo',
71
+ 'eq6',
72
+ 'eq10',
73
+ 'eq21',
74
+ ])
75
+ .describe('Effect type'),
76
+ index: z.number().int().optional().describe('Effect insertion position on the bus'),
77
+ properties: OptionalProperties.describe('Effect properties'),
78
+ },
79
+ },
80
+ async (args) => callGodot(bridge, 'audio/add_bus_effect', args),
81
+ );
82
+ // 5. set_audio_bus
83
+ server.registerTool(
84
+ 'set_audio_bus',
85
+ {
86
+ description: 'Configure audio bus properties (volume, mute, solo, bypass)',
87
+ inputSchema: {
88
+ bus_name: Name.describe('Audio bus name'),
89
+ properties: Properties.describe('Bus properties (volume_db, mute, solo, bypass, etc.)'),
90
+ send: z.string().optional().describe('Bus name to send output to'),
91
+ },
92
+ },
93
+ async (args) => callGodot(bridge, 'audio/set_bus', args),
94
+ );
95
+ // 6. get_audio_bus_layout
96
+ server.registerTool(
97
+ 'get_audio_bus_layout',
98
+ {
99
+ description: 'Get the current audio bus layout with all buses and their effects',
100
+ inputSchema: {},
101
+ },
102
+ async () => callGodot(bridge, 'audio/get_bus_layout'),
103
+ );
104
+ // 7. get_audio_info
105
+ server.registerTool(
106
+ 'get_audio_info',
107
+ {
108
+ description: 'Get information about an audio node (player type, stream, playback state)',
109
+ inputSchema: {
110
+ path: NodePath.describe('Audio node path'),
111
+ },
112
+ },
113
+ async (args) => callGodot(bridge, 'audio/get_info', args),
114
+ );
115
+ }
116
+ //# sourceMappingURL=audio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio.js","sourceRoot":"","sources":["../../src/tools/audio.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAElG,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,MAAmB;IACvE,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,4EAA4E;QACzF,WAAW,EAAE;YACX,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC9J,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACxD,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CACrC,+DAA+D,CAChE;SACF;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,4CAA4C;QACzD,WAAW,EAAE;YACX,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SACxE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAA+B,CAAC,CAC1F,CAAC;IAEF,mBAAmB;IACnB,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;SACpE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,IAA+B,CAAC,CACpF,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,qCAAqC;QAClD,WAAW,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACzC,WAAW,EAAE,CAAC;iBACX,IAAI,CAAC;gBACJ,QAAQ;gBACR,OAAO;gBACP,QAAQ;gBACR,YAAY;gBACZ,YAAY;gBACZ,IAAI;gBACJ,SAAS;gBACT,QAAQ;gBACR,YAAY;gBACZ,QAAQ;gBACR,SAAS;gBACT,UAAU;gBACV,UAAU;gBACV,OAAO;gBACP,UAAU;gBACV,SAAS;gBACT,QAAQ;gBACR,KAAK;gBACL,MAAM;gBACN,MAAM;aACP,CAAC;iBACD,QAAQ,CAAC,aAAa,CAAC;YAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACnF,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC,mBAAmB,CAAC;SAC7D;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAA+B,CAAC,CAC3F,CAAC;IAEF,mBAAmB;IACnB,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACzC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACvF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;SACnE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,IAA+B,CAAC,CACpF,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,mEAAmE;QAChF,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAAC,CACtD,CAAC;IAEF,oBAAoB;IACpB,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE,2EAA2E;QACxF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC;SAC3C;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAA+B,CAAC,CACrF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Audio configuration tools - 6 tools for audio bus and settings management
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerAudioConfigTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=audio_config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio_config.d.ts","sourceRoot":"","sources":["../../src/tools/audio_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,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAqFrF"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Audio configuration tools - 6 tools for audio bus and settings management
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, Name } from './shared-types.js';
6
+ export function registerAudioConfigTools(server, bridge) {
7
+ // 1. get_audio_settings
8
+ server.registerTool(
9
+ 'get_audio_settings',
10
+ {
11
+ description: 'Get all audio settings including bus layout, default bus, and driver info',
12
+ inputSchema: {},
13
+ },
14
+ async () => callGodot(bridge, 'audio_config/get_settings'),
15
+ );
16
+ // 2. set_audio_bus_layout
17
+ server.registerTool(
18
+ 'set_audio_bus_layout',
19
+ {
20
+ description: 'Replace the entire audio bus layout with the given bus definitions',
21
+ inputSchema: {
22
+ buses: z
23
+ .array(
24
+ z.object({
25
+ name: z.string().describe('Bus name'),
26
+ volume: z.number().optional().describe('Volume in dB'),
27
+ solo: z.boolean().optional().describe('Solo this bus'),
28
+ mute: z.boolean().optional().describe('Mute this bus'),
29
+ }),
30
+ )
31
+ .describe("Ordered list of audio buses (first is always 'Master')"),
32
+ },
33
+ },
34
+ async (args) => callGodot(bridge, 'audio_config/set_bus_layout', args),
35
+ );
36
+ // 3. add_audio_bus_config
37
+ server.registerTool(
38
+ 'add_audio_bus_config',
39
+ {
40
+ description: 'Add a new audio bus at a specific position',
41
+ inputSchema: {
42
+ name: Name.describe('Bus name'),
43
+ index: z.number().int().optional().describe('Position in bus list (omit to append)'),
44
+ },
45
+ },
46
+ async (args) => callGodot(bridge, 'audio_config/add_bus_config', args),
47
+ );
48
+ // 4. remove_audio_bus
49
+ server.registerTool(
50
+ 'remove_audio_bus',
51
+ {
52
+ description: 'Remove an audio bus by index (cannot remove Master at index 0)',
53
+ inputSchema: {
54
+ index: z.number().int().min(1).describe('Bus index to remove (1+, cannot remove Master)'),
55
+ },
56
+ },
57
+ async (args) => callGodot(bridge, 'audio_config/remove_bus', args),
58
+ );
59
+ // 5. set_audio_bus_volume
60
+ server.registerTool(
61
+ 'set_audio_bus_volume',
62
+ {
63
+ description: 'Set the volume of a specific audio bus',
64
+ inputSchema: {
65
+ bus: Name.describe("Bus name (e.g. 'Master', 'Music', 'SFX')"),
66
+ volume_db: z.number().describe('Volume in decibels (0 = normal, negative = quieter)'),
67
+ },
68
+ },
69
+ async (args) => callGodot(bridge, 'audio_config/set_bus_volume', args),
70
+ );
71
+ // 6. get_audio_bus_effects
72
+ server.registerTool(
73
+ 'get_audio_bus_effects',
74
+ {
75
+ description: 'Get all effects on a specific audio bus with their properties',
76
+ inputSchema: {
77
+ bus: Name.describe('Bus name to inspect'),
78
+ },
79
+ },
80
+ async (args) => callGodot(bridge, 'audio_config/get_bus_effects', args),
81
+ );
82
+ }
83
+ //# sourceMappingURL=audio_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio_config.js","sourceRoot":"","sources":["../../src/tools/audio_config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Batch tools - 8 tools for batch operations and cross-scene analysis
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerBatchTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUtD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAgG/E"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Batch tools - 8 tools for batch operations and cross-scene analysis
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, NodeType, ScriptPath, PropertyName, PropertyValue } from './shared-types.js';
6
+ export function registerBatchTools(server, bridge) {
7
+ // 1. find_nodes_by_type
8
+ server.registerTool(
9
+ 'find_nodes_by_type',
10
+ {
11
+ description: 'Find all nodes of a specific type in the scene',
12
+ inputSchema: {
13
+ type_name: NodeType,
14
+ },
15
+ },
16
+ async (args) => callGodot(bridge, 'batch/find_by_type', args),
17
+ );
18
+ // 2. find_signal_connections
19
+ server.registerTool(
20
+ 'find_signal_connections',
21
+ {
22
+ description: 'Find all signal connections in the scene',
23
+ inputSchema: {},
24
+ },
25
+ async (args) => callGodot(bridge, 'batch/find_connections', args),
26
+ );
27
+ // 3. batch_set_property
28
+ server.registerTool(
29
+ 'batch_set_property',
30
+ {
31
+ description: 'Set a property on all nodes of a given type',
32
+ inputSchema: {
33
+ type_name: NodeType,
34
+ property: PropertyName,
35
+ value: PropertyValue,
36
+ },
37
+ },
38
+ async (args) => callGodot(bridge, 'batch/set_property', args),
39
+ );
40
+ // 4. find_node_references
41
+ server.registerTool(
42
+ 'find_node_references',
43
+ {
44
+ description: 'Find all references to a node across scenes and scripts',
45
+ inputSchema: {
46
+ query: z.string().describe('Node path or name to search for'),
47
+ },
48
+ },
49
+ async (args) => callGodot(bridge, 'batch/find_references', args),
50
+ );
51
+ // 5. get_scene_dependencies
52
+ server.registerTool(
53
+ 'get_scene_dependencies',
54
+ {
55
+ description: 'Get all dependencies of a scene file (scripts, resources, sub-scenes)',
56
+ inputSchema: {
57
+ path: z.string().describe('Scene file path'),
58
+ },
59
+ },
60
+ async (args) => callGodot(bridge, 'batch/get_dependencies', args),
61
+ );
62
+ // 6. cross_scene_set_property
63
+ server.registerTool(
64
+ 'cross_scene_set_property',
65
+ {
66
+ description: 'Set a property on nodes of a given type across multiple scenes',
67
+ inputSchema: {
68
+ type_name: NodeType,
69
+ property: PropertyName,
70
+ value: PropertyValue,
71
+ },
72
+ },
73
+ async (args) => callGodot(bridge, 'batch/cross_scene_set', args),
74
+ );
75
+ // 7. find_script_references
76
+ server.registerTool(
77
+ 'find_script_references',
78
+ {
79
+ description: 'Find all scenes and nodes that use a specific script',
80
+ inputSchema: {
81
+ script_path: ScriptPath,
82
+ },
83
+ },
84
+ async (args) => callGodot(bridge, 'batch/find_script_refs', args),
85
+ );
86
+ // 8. detect_circular_dependencies
87
+ server.registerTool(
88
+ 'detect_circular_dependencies',
89
+ {
90
+ description: 'Detect circular dependencies in the project (scripts, scenes, resources)',
91
+ inputSchema: {},
92
+ },
93
+ async () => callGodot(bridge, 'batch/detect_circular'),
94
+ );
95
+ }
96
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,CAAC,EACD,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,MAAmB;IACvE,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,SAAS,EAAE,QAAQ;SACpB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAA+B,CAAC,CACzF,CAAC;IAEF,6BAA6B;IAC7B,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAA+B,CAAC,CAC7F,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,aAAa;SACrB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAA+B,CAAC,CACzF,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,yDAAyD;QACtE,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;SAC9D;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAA+B,CAAC,CAC5F,CAAC;IAEF,4BAA4B;IAC5B,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;SAC7C;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAA+B,CAAC,CAC7F,CAAC;IAEF,8BAA8B;IAC9B,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE;YACX,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,aAAa;SACrB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAA+B,CAAC,CAC5F,CAAC;IAEF,4BAA4B;IAC5B,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE;YACX,WAAW,EAAE,UAAU;SACxB;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,0EAA0E;QACvF,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uBAAuB,CAAC,CACvD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Build configuration tools - 8 tools for build/export settings
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerBuildConfigTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=build_config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build_config.d.ts","sourceRoot":"","sources":["../../src/tools/build_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,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAyHrF"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Build configuration tools - 8 tools for build/export settings
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z } from './shared-types.js';
6
+ export function registerBuildConfigTools(server, bridge) {
7
+ // 1. get_build_settings
8
+ server.registerTool(
9
+ 'get_build_settings',
10
+ {
11
+ description: 'Get all build configuration settings (debug/release, scripting backend, features)',
12
+ inputSchema: {},
13
+ },
14
+ async () => callGodot(bridge, 'build_config/get_settings'),
15
+ );
16
+ // 2. set_build_configuration
17
+ server.registerTool(
18
+ 'set_build_configuration',
19
+ {
20
+ description: 'Set the build configuration preset',
21
+ inputSchema: {
22
+ config: z
23
+ .enum(['debug', 'release', 'development'])
24
+ .optional()
25
+ .default('debug')
26
+ .describe('Build configuration (debug: full symbols, release: optimized, development: release with debug) (default: debug)'),
27
+ },
28
+ },
29
+ async (args) => callGodot(bridge, 'build_config/set_configuration', args),
30
+ );
31
+ // 3. set_scripting_backend
32
+ server.registerTool(
33
+ 'set_scripting_backend',
34
+ {
35
+ description: 'Set the scripting backend for the project',
36
+ inputSchema: {
37
+ backend: z.enum(['gdscript', 'csharp']).optional().default('gdscript').describe('Scripting language backend: gdscript or csharp (default: gdscript)'),
38
+ },
39
+ },
40
+ async (args) => callGodot(bridge, 'build_config/set_scripting_backend', args),
41
+ );
42
+ // 4. set_export_filter
43
+ server.registerTool(
44
+ 'set_export_filter',
45
+ {
46
+ description: 'Set which resources to include in exports',
47
+ inputSchema: {
48
+ filter: z.enum(['all_resources', 'selected_resources']).optional().default('all_resources').describe('Export filter mode (default: all_resources)'),
49
+ },
50
+ },
51
+ async (args) => callGodot(bridge, 'build_config/set_export_filter', args),
52
+ );
53
+ // 5. set_custom_features
54
+ server.registerTool(
55
+ 'set_custom_features',
56
+ {
57
+ description: 'Set custom feature tags for conditional compilation and export',
58
+ inputSchema: {
59
+ features: z.array(z.string()).optional().default([]).describe("List of custom feature tags (e.g. ['demo', 'mobile', 'premium'])"),
60
+ },
61
+ },
62
+ async (args) => callGodot(bridge, 'build_config/set_custom_features', args),
63
+ );
64
+ // 6. set_debug_options
65
+ server.registerTool(
66
+ 'set_debug_options',
67
+ {
68
+ description: 'Configure debug and optimization options',
69
+ inputSchema: {
70
+ debug_build: z.boolean().optional().describe('Enable debug build (includes symbols)'),
71
+ release_debug: z.boolean().optional().describe('Release build with debug info'),
72
+ optimize: z.boolean().optional().describe('Enable optimizations'),
73
+ },
74
+ },
75
+ async (args) => callGodot(bridge, 'build_config/set_debug_options', args),
76
+ );
77
+ // 7. validate_build_settings
78
+ server.registerTool(
79
+ 'validate_build_settings',
80
+ {
81
+ description: 'Validate current build settings and return any errors or warnings',
82
+ inputSchema: {},
83
+ },
84
+ async () => callGodot(bridge, 'build_config/validate'),
85
+ );
86
+ // 8. get_build_command
87
+ server.registerTool(
88
+ 'get_build_command',
89
+ {
90
+ description: 'Get the CLI command to export/build the project for a specific platform',
91
+ inputSchema: {
92
+ platform: z.string().describe("Target platform (e.g. 'windows', 'linux', 'web', 'android')"),
93
+ },
94
+ },
95
+ async (args) => callGodot(bridge, 'build_config/get_build_command', args),
96
+ );
97
+ }
98
+ //# sourceMappingURL=build_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build_config.js","sourceRoot":"","sources":["../../src/tools/build_config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * CI/CD Pipeline tools - 8 tools for automated build and deployment workflows
3
+ */
4
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import type { GodotBridge } from "../godot-bridge.js";
6
+ export declare function registerCicdPipelineTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=cicd_pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cicd_pipeline.d.ts","sourceRoot":"","sources":["../../src/tools/cicd_pipeline.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,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAiHtF"}