@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,71 @@
1
+ /**
2
+ * Accessibility tools - 6 tools for accessibility auditing and compliance
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, ScenePath, NodePath } from './shared-types.js';
6
+ export function registerAccessibilityTools(server, bridge) {
7
+ // 1. check_accessibility
8
+ server.registerTool(
9
+ 'check_accessibility',
10
+ {
11
+ description: 'Run a comprehensive accessibility audit on a scene and return a detailed report',
12
+ inputSchema: {
13
+ scene_path: ScenePath.optional().describe('Scene path to audit (defaults to current scene)'),
14
+ },
15
+ },
16
+ async (args) => callGodot(bridge, 'accessibility/check', args),
17
+ );
18
+ // 2. validate_contrast
19
+ server.registerTool(
20
+ 'validate_contrast',
21
+ {
22
+ description: 'Validate color contrast ratio of a UI node against WCAG standards',
23
+ inputSchema: {
24
+ node_path: NodePath.describe('Path to the Control node to check'),
25
+ },
26
+ },
27
+ async (args) => callGodot(bridge, 'accessibility/validate_contrast', args),
28
+ );
29
+ // 3. check_font_sizes
30
+ server.registerTool(
31
+ 'check_font_sizes',
32
+ {
33
+ description: 'Find all UI nodes with font sizes below a minimum threshold',
34
+ inputSchema: {
35
+ min_size: z.number().optional().describe('Minimum acceptable font size in pixels (default: 14)'),
36
+ },
37
+ },
38
+ async (args) => callGodot(bridge, 'accessibility/check_fonts', args),
39
+ );
40
+ // 4. validate_focus_order
41
+ server.registerTool(
42
+ 'validate_focus_order',
43
+ {
44
+ description: 'Validate and return the keyboard focus navigation order for the current scene',
45
+ inputSchema: {},
46
+ },
47
+ async () => callGodot(bridge, 'accessibility/validate_focus'),
48
+ );
49
+ // 5. add_accessibility_labels
50
+ server.registerTool(
51
+ 'add_accessibility_labels',
52
+ {
53
+ description: 'Add accessibility labels to interactive nodes in a scene',
54
+ inputSchema: {
55
+ scene_path: ScenePath,
56
+ auto_generate: z.boolean().optional().describe('Auto-generate labels from node names and text (default: true)'),
57
+ },
58
+ },
59
+ async (args) => callGodot(bridge, 'accessibility/add_labels', args),
60
+ );
61
+ // 6. get_accessibility_score
62
+ server.registerTool(
63
+ 'get_accessibility_score',
64
+ {
65
+ description: 'Calculate an overall accessibility score for the project with improvement recommendations',
66
+ inputSchema: {},
67
+ },
68
+ async () => callGodot(bridge, 'accessibility/get_score'),
69
+ );
70
+ }
71
+ //# sourceMappingURL=accessibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessibility.js","sourceRoot":"","sources":["../../src/tools/accessibility.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,MAAmB;IAC/E,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACf,qBAAqB,EACrB;QACE,WAAW,EAAE,iFAAiF;QAC9F,WAAW,EAAE;YACf,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC7F;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAA+B,CAAC,CAC1F,CAAC;IAEJ,uBAAuB;IACvB,MAAM,CAAC,YAAY,CACf,mBAAmB,EACnB;QACE,WAAW,EAAE,mEAAmE;QAChF,WAAW,EAAE;YACf,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SAClE;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,iCAAiC,EAAE,IAA+B,CAAC,CACtG,CAAC;IAEJ,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACf,kBAAkB,EAClB;QACE,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;SACjG;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAA+B,CAAC,CAChG,CAAC;IAEJ,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACf,sBAAsB,EACtB;QACE,WAAW,EAAE,+EAA+E;QAC5F,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAC9D,CAAC;IAEJ,8BAA8B;IAC9B,MAAM,CAAC,YAAY,CACf,0BAA0B,EAC1B;QACE,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE;YACf,UAAU,EAAE,SAAS;YACrB,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;SAChH;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,0BAA0B,EAAE,IAA+B,CAAC,CAC/F,CAAC;IAEJ,6BAA6B;IAC7B,MAAM,CAAC,YAAY,CACf,yBAAyB,EACzB;QACE,WAAW,EAAE,2FAA2F;QACxG,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,yBAAyB,CAAC,CACzD,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Addon management tools - 5 tools for plugin/addon lifecycle management
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerAddonManagementTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=addon_management.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addon_management.d.ts","sourceRoot":"","sources":["../../src/tools/addon_management.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,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAoEzF"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Addon management tools - 5 tools for plugin/addon lifecycle management
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, Name, Properties } from './shared-types.js';
6
+ export function registerAddonManagementTools(server, bridge) {
7
+ // 1. list_addons
8
+ server.registerTool(
9
+ 'list_addons',
10
+ {
11
+ description: 'List all installed addons/plugins with their versions and status',
12
+ inputSchema: {},
13
+ },
14
+ async () => callGodot(bridge, 'list_addons'),
15
+ );
16
+ // 2. install_addon
17
+ server.registerTool(
18
+ 'install_addon',
19
+ {
20
+ description: 'Install an addon from the Asset Library, git repository, or local path',
21
+ inputSchema: {
22
+ name: Name.describe('Addon name or identifier'),
23
+ source: z.enum(['asset_lib', 'git', 'local']).optional().default('asset_lib').describe('Installation source (default: asset_lib)'),
24
+ url: z.string().optional().describe('Git URL or local path (required for git/local sources)'),
25
+ },
26
+ },
27
+ async (args) => callGodot(bridge, 'install_addon', args),
28
+ );
29
+ // 3. uninstall_addon
30
+ server.registerTool(
31
+ 'uninstall_addon',
32
+ {
33
+ description: 'Uninstall an addon and remove its files',
34
+ inputSchema: {
35
+ name: Name.describe('Addon name to uninstall'),
36
+ },
37
+ },
38
+ async (args) => callGodot(bridge, 'uninstall_addon', args),
39
+ );
40
+ // 4. update_addon
41
+ server.registerTool(
42
+ 'update_addon',
43
+ {
44
+ description: 'Update an installed addon to its latest version',
45
+ inputSchema: {
46
+ name: Name.describe('Addon name to update'),
47
+ },
48
+ },
49
+ async (args) => callGodot(bridge, 'update_addon', args),
50
+ );
51
+ // 5. configure_addon
52
+ server.registerTool(
53
+ 'configure_addon',
54
+ {
55
+ description: 'Update configuration settings for an installed addon',
56
+ inputSchema: {
57
+ name: Name.describe('Addon name to configure'),
58
+ settings: Properties.describe('Configuration key-value pairs to set'),
59
+ },
60
+ },
61
+ async (args) => callGodot(bridge, 'configure_addon', args),
62
+ );
63
+ }
64
+ //# sourceMappingURL=addon_management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addon_management.js","sourceRoot":"","sources":["../../src/tools/addon_management.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,UAAU,4BAA4B,CAAC,MAAiB,EAAE,MAAmB;IACjF,iBAAiB;IACjB,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAC7C,CAAC;IAEF,mBAAmB;IACnB,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EAAE,wEAAwE;QACrF,WAAW,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC/C,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;iBACnC,QAAQ,EAAE;iBACV,OAAO,CAAC,WAAW,CAAC;iBACpB,QAAQ,CAAC,0CAA0C,CAAC;YACvD,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;SACtE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,IAA+B,CAAC,CACpF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SAC/C;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAA+B,CAAC,CACtF,CAAC;IAEF,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;SAC5C;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,IAA+B,CAAC,CACnF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC9C,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SACtE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAA+B,CAAC,CACtF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Analysis tools - 4 tools for project and 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 registerAnalysisTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../src/tools/analysis.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAyClF"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Analysis tools - 4 tools for project and scene analysis
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ export function registerAnalysisTools(server, bridge) {
6
+ // 1. analyze_scene_complexity
7
+ server.registerTool(
8
+ 'analyze_scene_complexity',
9
+ {
10
+ description: "Analyze a scene's complexity (node count, depth, resource usage)",
11
+ inputSchema: {},
12
+ },
13
+ async (args) => callGodot(bridge, 'analysis/scene_complexity', args),
14
+ );
15
+ // 2. analyze_signal_flow
16
+ server.registerTool(
17
+ 'analyze_signal_flow',
18
+ {
19
+ description: 'Analyze signal flow and connections in a scene',
20
+ inputSchema: {},
21
+ },
22
+ async (args) => callGodot(bridge, 'analysis/signal_flow', args),
23
+ );
24
+ // 3. find_unused_resources
25
+ server.registerTool(
26
+ 'find_unused_resources',
27
+ {
28
+ description: 'Find resources in the project that are not referenced by any scene or script',
29
+ inputSchema: {},
30
+ },
31
+ async (args) => callGodot(bridge, 'analysis/unused_resources', args),
32
+ );
33
+ // 4. get_project_statistics
34
+ server.registerTool(
35
+ 'get_project_statistics',
36
+ {
37
+ description: 'Get project statistics (file counts, sizes, node types, script languages, etc.)',
38
+ inputSchema: {},
39
+ },
40
+ async () => callGodot(bridge, 'analysis/statistics'),
41
+ );
42
+ }
43
+ //# sourceMappingURL=analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/tools/analysis.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAmB;IAC1E,8BAA8B;IAC9B,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAA+B,CAAC,CAChG,CAAC;IAEF,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAA+B,CAAC,CAC3F,CAAC;IAEF,2BAA2B;IAC3B,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EAAE,8EAA8E;QAC3F,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAA+B,CAAC,CAChG,CAAC;IAEF,4BAA4B;IAC5B,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EACT,iFAAiF;QACnF,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,CACrD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Analytics tools - 6 tools for player analytics and event tracking
3
+ */
4
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import type { GodotBridge } from "../godot-bridge.js";
6
+ export declare function registerAnalyticsTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/tools/analytics.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,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA0EnF"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Analytics tools - 6 tools for player analytics and event tracking
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, Name, Properties, OptionalProperties, Timeout } from './shared-types.js';
6
+ export function registerAnalyticsTools(server, bridge) {
7
+ // 1. track_event
8
+ server.registerTool(
9
+ 'track_event',
10
+ {
11
+ description: 'Track a custom analytics event with optional properties',
12
+ inputSchema: {
13
+ event_name: Name.describe("Name of the event (e.g. 'level_complete', 'item_pickup')"),
14
+ properties: OptionalProperties,
15
+ },
16
+ },
17
+ async (args) => callGodot(bridge, 'analytics/track_event', args),
18
+ );
19
+ // 2. track_screen
20
+ server.registerTool(
21
+ 'track_screen',
22
+ {
23
+ description: 'Track a screen view with optional duration',
24
+ inputSchema: {
25
+ screen_name: Name.describe("Name of the screen (e.g. 'MainMenu', 'Settings', 'Level_5')"),
26
+ duration: Timeout.describe('Time spent on screen in seconds'),
27
+ },
28
+ },
29
+ async (args) => callGodot(bridge, 'analytics/track_screen', args),
30
+ );
31
+ // 3. track_error
32
+ server.registerTool(
33
+ 'track_error',
34
+ {
35
+ description: 'Track an error event with type, message, and optional stack trace',
36
+ inputSchema: {
37
+ error_type: z.string().describe("Error category (e.g. 'crash', 'network', 'validation')"),
38
+ message: z.string().describe('Error message description'),
39
+ stack: z.string().optional().describe('Stack trace or additional context'),
40
+ },
41
+ },
42
+ async (args) => callGodot(bridge, 'analytics/track_error', args),
43
+ );
44
+ // 4. get_analytics_summary
45
+ server.registerTool(
46
+ 'get_analytics_summary',
47
+ {
48
+ description: 'Get a summary of analytics data for a given time range',
49
+ inputSchema: {
50
+ time_range: z.enum(['hour', 'day', 'week', 'month']).optional().describe('Time range for summary (default: day)'),
51
+ },
52
+ },
53
+ async (args) => callGodot(bridge, 'analytics/get_summary', args),
54
+ );
55
+ // 5. set_user_properties
56
+ server.registerTool(
57
+ 'set_user_properties',
58
+ {
59
+ description: 'Set persistent user/player properties for analytics segmentation',
60
+ inputSchema: {
61
+ properties: Properties.describe("User properties as key-value pairs (e.g. {'level': 5, 'premium': true})"),
62
+ },
63
+ },
64
+ async (args) => callGodot(bridge, 'analytics/set_user_properties', args),
65
+ );
66
+ // 6. get_player_metrics
67
+ server.registerTool(
68
+ 'get_player_metrics',
69
+ {
70
+ description: 'Get player engagement metrics: session count, total playtime, and retention data',
71
+ inputSchema: {},
72
+ },
73
+ async () => callGodot(bridge, 'analytics/get_player_metrics'),
74
+ );
75
+ }
76
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAErF,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAmB;IAC3E,iBAAiB;IACjB,MAAM,CAAC,YAAY,CACf,aAAa,EACb;QACE,WAAW,EAAE,yDAAyD;QACtE,WAAW,EAAE;YACf,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YACrF,UAAU,EAAE,kBAAkB;SAC/B;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAA+B,CAAC,CAC5F,CAAC;IAEJ,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACf,cAAc,EACd;QACE,WAAW,EAAE,4CAA4C;QACzD,WAAW,EAAE;YACf,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,6DAA6D,CAAC;YACzF,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC;SAC9D;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAA+B,CAAC,CAC7F,CAAC;IAEJ,iBAAiB;IACjB,MAAM,CAAC,YAAY,CACf,aAAa,EACb;QACE,WAAW,EAAE,mEAAmE;QAChF,WAAW,EAAE;YACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;YACzF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SAC3E;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAA+B,CAAC,CAC5F,CAAC;IAEJ,2BAA2B;IAC3B,MAAM,CAAC,YAAY,CACf,uBAAuB,EACvB;QACE,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE;YACf,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;SAClH;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAA+B,CAAC,CAC5F,CAAC;IAEJ,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACf,qBAAqB,EACrB;QACE,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE;YACf,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,yEAAyE,CAAC;SAC3G;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,+BAA+B,EAAE,IAA+B,CAAC,CACpG,CAAC;IAEJ,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACf,oBAAoB,EACpB;QACE,WAAW,EAAE,kFAAkF;QAC/F,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAC9D,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Animation tools — 10 tools for animation management
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerAnimationTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=animation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../src/tools/animation.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,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA0JnF"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Animation tools — 10 tools for animation management
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, NodePath, PositiveNumber, PropertyValue } from './shared-types.js';
6
+ export function registerAnimationTools(server, bridge) {
7
+ // 1. list_animations — {player_path: string} -> animation names
8
+ server.registerTool(
9
+ 'list_animations',
10
+ {
11
+ description: 'List all animations on an AnimationPlayer',
12
+ inputSchema: {
13
+ player_path: NodePath.describe('AnimationPlayer node path'),
14
+ },
15
+ },
16
+ async (args) => callGodot(bridge, 'animation/list', args),
17
+ );
18
+ // 2. create_animation — {player_path: string, name: string, length?: number} -> success
19
+ server.registerTool(
20
+ 'create_animation',
21
+ {
22
+ description: 'Create a new animation on an AnimationPlayer',
23
+ inputSchema: {
24
+ player_path: NodePath.describe('AnimationPlayer node path'),
25
+ name: z.string().describe('Animation name'),
26
+ length: PositiveNumber.optional().default(1.0).describe('Animation length in seconds (default: 1.0)'),
27
+ library: z.string().optional().describe('Animation library name (empty for default)'),
28
+ loop_mode: z.enum(['none', 'loop', 'pingpong']).optional().default('none').describe('Animation loop mode'),
29
+ },
30
+ },
31
+ async (args) => callGodot(bridge, 'animation/create', args),
32
+ );
33
+ // 3. add_animation_track — {player_path: string, animation: string, track_type: "value"|"position"|"rotation"|"scale"|"method"|"bezier", property?: string} -> track index
34
+ server.registerTool(
35
+ 'add_animation_track',
36
+ {
37
+ description: 'Add a track to an animation',
38
+ inputSchema: {
39
+ player_path: NodePath.describe('AnimationPlayer node path'),
40
+ animation: z.string().describe('Animation name'),
41
+ track_type: z.enum(['value', 'position', 'rotation', 'scale', 'method', 'bezier']).describe('Type of track to add'),
42
+ property: z.string().optional().describe("Property path for value/bezier tracks (e.g. 'position:x')"),
43
+ library: z.string().optional().describe('Animation library name (empty for default)'),
44
+ },
45
+ },
46
+ async (args) => callGodot(bridge, 'animation/add_track', args),
47
+ );
48
+ // 4. set_animation_keyframe — {player_path: string, animation: string, track_index: number, time: number, value: any, easing?: number} -> success
49
+ server.registerTool(
50
+ 'set_animation_keyframe',
51
+ {
52
+ description: 'Set a keyframe in an animation track',
53
+ inputSchema: {
54
+ player_path: NodePath.describe('AnimationPlayer node path'),
55
+ animation: z.string().describe('Animation name'),
56
+ track_index: z.number().int().min(0).describe('Track index'),
57
+ time: z.number().min(0).describe('Keyframe time in seconds'),
58
+ value: PropertyValue.describe('Keyframe value'),
59
+ library: z.string().optional().describe('Animation library name (empty for default)'),
60
+ },
61
+ },
62
+ async (args) => callGodot(bridge, 'animation/set_keyframe', args),
63
+ );
64
+ // 5. get_animation_info — {player_path: string, animation: string} -> detailed info
65
+ server.registerTool(
66
+ 'get_animation_info',
67
+ {
68
+ description: 'Get detailed information about an animation including tracks and keyframes',
69
+ inputSchema: {
70
+ player_path: NodePath.describe('AnimationPlayer node path'),
71
+ animation: z.string().describe('Animation name'),
72
+ library: z.string().optional().describe('Animation library name (empty for default)'),
73
+ },
74
+ },
75
+ async (args) => callGodot(bridge, 'animation/get_info', args),
76
+ );
77
+ // 6. remove_animation — {player_path: string, animation: string} -> success
78
+ server.registerTool(
79
+ 'remove_animation',
80
+ {
81
+ description: 'Remove an animation from an AnimationPlayer',
82
+ inputSchema: {
83
+ player_path: NodePath.describe('AnimationPlayer node path'),
84
+ animation: z.string().describe('Animation name to remove'),
85
+ library: z.string().optional().describe('Animation library name (empty for default)'),
86
+ },
87
+ },
88
+ async (args) => callGodot(bridge, 'animation/remove', args),
89
+ );
90
+ // 7. create_animation_tree — {path: string, properties?: Record<string,any>} -> success
91
+ server.registerTool(
92
+ 'create_animation_tree',
93
+ {
94
+ description: 'Create an AnimationTree node on a given path',
95
+ inputSchema: {
96
+ path: NodePath.describe('Node path where the AnimationTree will be added'),
97
+ player_path: z.string().optional().describe('AnimationPlayer path'),
98
+ root_type: z.string().optional().describe('Animation root node type (default: AnimationNodeBlendTree)'),
99
+ properties: z.record(z.string(), z.unknown()).optional().describe('Optional properties to set on the AnimationTree'),
100
+ },
101
+ },
102
+ async (args) => callGodot(bridge, 'animation/create_tree', args),
103
+ );
104
+ // 8. get_animation_tree_structure — {path: string} -> tree structure
105
+ server.registerTool(
106
+ 'get_animation_tree_structure',
107
+ {
108
+ description: 'Get the structure of an AnimationTree including state machines and blend trees',
109
+ inputSchema: {
110
+ path: NodePath.describe('AnimationTree node path'),
111
+ },
112
+ },
113
+ async (args) => callGodot(bridge, 'animation/get_tree_structure', args),
114
+ );
115
+ // 9. set_tree_parameter — {path: string, parameter: string, value: any} -> success
116
+ server.registerTool(
117
+ 'set_tree_parameter',
118
+ {
119
+ description: 'Set a parameter on an AnimationTree (e.g. blend amount, state)',
120
+ inputSchema: {
121
+ path: NodePath.describe('AnimationTree node path'),
122
+ parameter: z.string().describe("Parameter path (e.g. 'parameters/blend_position')"),
123
+ value: PropertyValue.describe('Parameter value'),
124
+ },
125
+ },
126
+ async (args) => callGodot(bridge, 'animation/set_tree_parameter', args),
127
+ );
128
+ // 10. add_state_machine_state — {path: string, state_name: string, animation?: string} -> success
129
+ server.registerTool(
130
+ 'add_state_machine_state',
131
+ {
132
+ description: 'Add a state to an AnimationNodeStateMachine',
133
+ inputSchema: {
134
+ path: NodePath.describe('AnimationTree node path'),
135
+ state_name: z.string().describe('Name for the new state'),
136
+ animation: z.string().optional().describe('Animation name to assign to this state'),
137
+ },
138
+ },
139
+ async (args) => callGodot(bridge, 'animation/add_state', args),
140
+ );
141
+ }
142
+ //# sourceMappingURL=animation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation.js","sourceRoot":"","sources":["../../src/tools/animation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Asset pipeline tools - 8 tools for asset import, optimization, and management
3
+ */
4
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import type { GodotBridge } from "../godot-bridge.js";
6
+ export declare function registerAssetPipelineTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=asset_pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset_pipeline.d.ts","sourceRoot":"","sources":["../../src/tools/asset_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,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAsGvF"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Asset pipeline tools - 8 tools for asset import, optimization, and management
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, ResourcePath, Properties, OptionalProperties } from './shared-types.js';
6
+ export function registerAssetPipelineTools(server, bridge) {
7
+ // 1. get_import_settings
8
+ server.registerTool(
9
+ 'get_import_settings',
10
+ {
11
+ description: 'Get the current import settings for a specific asset',
12
+ inputSchema: {
13
+ asset_path: ResourcePath.describe("Path to the asset (e.g. 'res://assets/sprite.png')"),
14
+ },
15
+ },
16
+ async (args) => callGodot(bridge, 'asset_pipeline/get_import_settings', args),
17
+ );
18
+ // 2. set_import_settings
19
+ server.registerTool(
20
+ 'set_import_settings',
21
+ {
22
+ description: 'Set import settings for a specific asset and trigger reimport',
23
+ inputSchema: {
24
+ asset_path: ResourcePath.describe('Path to the asset'),
25
+ settings: Properties.describe('Import settings to apply'),
26
+ },
27
+ },
28
+ async (args) => callGodot(bridge, 'asset_pipeline/set_import_settings', args),
29
+ );
30
+ // 3. optimize_asset_textures
31
+ server.registerTool(
32
+ 'optimize_asset_textures',
33
+ {
34
+ description: 'Optimize textures in the project (resize, compress, convert format)',
35
+ inputSchema: {
36
+ path: z.string().optional().describe('Directory to scan (default: entire project)'),
37
+ max_size: z.number().int().positive().optional().describe('Max texture dimension in pixels'),
38
+ format: z.enum(['webp', 'basis', 'astc']).optional().describe('Target compression format'),
39
+ },
40
+ },
41
+ async (args) => callGodot(bridge, 'asset_pipeline/optimize_asset_textures', args),
42
+ );
43
+ // 4. compress_audio
44
+ server.registerTool(
45
+ 'compress_audio',
46
+ {
47
+ description: 'Compress audio files in the project',
48
+ inputSchema: {
49
+ path: z.string().optional().describe('Directory to scan (default: entire project)'),
50
+ quality: z.enum(['low', 'medium', 'high']).optional().describe('Compression quality (default: medium)'),
51
+ },
52
+ },
53
+ async (args) => callGodot(bridge, 'asset_pipeline/compress_audio', args),
54
+ );
55
+ // 5. batch_reimport
56
+ server.registerTool(
57
+ 'batch_reimport',
58
+ {
59
+ description: 'Reimport assets in batch with optional new settings',
60
+ inputSchema: {
61
+ path: z.string().optional().describe('Directory to reimport (default: entire project)'),
62
+ settings: OptionalProperties.describe('New import settings to apply during reimport'),
63
+ },
64
+ },
65
+ async (args) => callGodot(bridge, 'asset_pipeline/batch_reimport', args),
66
+ );
67
+ // 6. create_atlas
68
+ server.registerTool(
69
+ 'create_atlas',
70
+ {
71
+ description: 'Create a texture atlas from multiple texture files',
72
+ inputSchema: {
73
+ textures: z.array(z.string()).describe('List of texture paths to include in the atlas'),
74
+ max_size: z.number().int().positive().optional().describe('Maximum atlas size in pixels (default: 2048)'),
75
+ },
76
+ },
77
+ async (args) => callGodot(bridge, 'asset_pipeline/create_atlas', args),
78
+ );
79
+ // 7. validate_assets
80
+ server.registerTool(
81
+ 'validate_assets',
82
+ {
83
+ description: 'Validate assets for common issues (missing files, broken references, oversized)',
84
+ inputSchema: {
85
+ path: z.string().optional().describe('Directory to validate (default: entire project)'),
86
+ },
87
+ },
88
+ async (args) => callGodot(bridge, 'asset_pipeline/validate_assets', args),
89
+ );
90
+ // 8. get_asset_dependencies
91
+ server.registerTool(
92
+ 'get_asset_dependencies',
93
+ {
94
+ description: 'Get the dependency tree for a specific asset',
95
+ inputSchema: {
96
+ asset_path: ResourcePath.describe('Path to the asset'),
97
+ },
98
+ },
99
+ async (args) => callGodot(bridge, 'asset_pipeline/get_asset_dependencies', args),
100
+ );
101
+ }
102
+ //# sourceMappingURL=asset_pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset_pipeline.js","sourceRoot":"","sources":["../../src/tools/asset_pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Asset scaffolding tools - 6 tools for procedural asset generation
3
+ */
4
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import type { GodotBridge } from "../godot-bridge.js";
6
+ export declare function registerAssetScaffoldingTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=asset_scaffolding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset_scaffolding.d.ts","sourceRoot":"","sources":["../../src/tools/asset_scaffolding.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,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA+F1F"}