@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,7 @@
1
+ /**
2
+ * Debugging tools - 8 tools for game debugging
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerDebuggingTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=debugging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugging.d.ts","sourceRoot":"","sources":["../../src/tools/debugging.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,CAmGnF"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Debugging tools - 8 tools for game debugging
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, ScriptPath, GDScriptCode } from './shared-types.js';
6
+ export function registerDebuggingTools(server, bridge) {
7
+ // 1. set_breakpoint
8
+ server.registerTool(
9
+ 'set_breakpoint',
10
+ {
11
+ description: 'Set a breakpoint in a GDScript file at a specific line, optionally with a condition',
12
+ inputSchema: {
13
+ script_path: ScriptPath,
14
+ line: z.number().int().min(1).describe('Line number to set breakpoint on'),
15
+ condition: z.string().optional().describe('Optional condition expression - breakpoint only triggers when true'),
16
+ },
17
+ },
18
+ async (args) => callGodot(bridge, 'set_breakpoint', args),
19
+ );
20
+ // 2. remove_breakpoint
21
+ server.registerTool(
22
+ 'remove_breakpoint',
23
+ {
24
+ description: 'Remove a breakpoint from a GDScript file at a specific line',
25
+ inputSchema: {
26
+ script_path: ScriptPath,
27
+ line: z.number().int().min(1).describe('Line number of the breakpoint to remove'),
28
+ },
29
+ },
30
+ async (args) => callGodot(bridge, 'remove_breakpoint', args),
31
+ );
32
+ // 3. list_breakpoints
33
+ server.registerTool(
34
+ 'list_breakpoints',
35
+ {
36
+ description: 'List all active breakpoints across all scripts',
37
+ inputSchema: {},
38
+ },
39
+ async () => callGodot(bridge, 'list_breakpoints'),
40
+ );
41
+ // 4. get_call_stack
42
+ server.registerTool(
43
+ 'get_call_stack',
44
+ {
45
+ description: 'Get the current call stack with local variables when the game is paused at a breakpoint',
46
+ inputSchema: {},
47
+ },
48
+ async () => callGodot(bridge, 'get_call_stack'),
49
+ );
50
+ // 5. evaluate_expression
51
+ server.registerTool(
52
+ 'evaluate_expression',
53
+ {
54
+ description: 'Evaluate a GDScript expression in the editor or running game context',
55
+ inputSchema: {
56
+ expression: GDScriptCode.describe('GDScript expression to evaluate'),
57
+ context: z.enum(['editor', 'game']).optional().default('editor').describe('Context to evaluate in (default: editor)'),
58
+ },
59
+ },
60
+ async (args) => callGodot(bridge, 'evaluate_expression', args),
61
+ );
62
+ // 6. step_over
63
+ server.registerTool(
64
+ 'step_over',
65
+ {
66
+ description: 'Step over the current line when paused at a breakpoint',
67
+ inputSchema: {},
68
+ },
69
+ async () => callGodot(bridge, 'step_over'),
70
+ );
71
+ // 7. step_into
72
+ server.registerTool(
73
+ 'step_into',
74
+ {
75
+ description: 'Step into the current function call when paused at a breakpoint',
76
+ inputSchema: {},
77
+ },
78
+ async () => callGodot(bridge, 'step_into'),
79
+ );
80
+ // 8. continue_execution
81
+ server.registerTool(
82
+ 'continue_execution',
83
+ {
84
+ description: 'Continue execution when paused at a breakpoint',
85
+ inputSchema: {},
86
+ },
87
+ async () => callGodot(bridge, 'continue_execution'),
88
+ );
89
+ }
90
+ //# sourceMappingURL=debugging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugging.js","sourceRoot":"","sources":["../../src/tools/debugging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Documentation tools - 6 tools for project documentation generation
3
+ */
4
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import type { GodotBridge } from "../godot-bridge.js";
6
+ export declare function registerDocumentationTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=documentation_tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation_tools.d.ts","sourceRoot":"","sources":["../../src/tools/documentation_tools.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,CAkFvF"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Documentation tools - 6 tools for project documentation generation
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, FilePath, ScenePath } from './shared-types.js';
6
+ export function registerDocumentationTools(server, bridge) {
7
+ // 1. generate_project_documentation
8
+ server.registerTool(
9
+ 'generate_project_documentation',
10
+ {
11
+ description: 'Generate comprehensive project documentation from project structure and scripts',
12
+ inputSchema: {
13
+ project_path: FilePath.describe('Path to the Godot project root'),
14
+ format: z.enum(['markdown', 'html', 'pdf']).optional().describe('Output format'),
15
+ },
16
+ },
17
+ async (args) => callGodot(bridge, 'documentation/generate_project_docs', args),
18
+ );
19
+ // 2. generate_api_documentation
20
+ server.registerTool(
21
+ 'generate_api_documentation',
22
+ {
23
+ description: 'Generate API reference documentation from all GDScript files in the project',
24
+ inputSchema: {
25
+ project_path: FilePath.describe('Path to the Godot project root'),
26
+ include_private: z.boolean().optional().describe('Include private methods and variables'),
27
+ },
28
+ },
29
+ async (args) => callGodot(bridge, 'documentation/generate_api_docs', args),
30
+ );
31
+ // 3. generate_scene_diagram
32
+ server.registerTool(
33
+ 'generate_scene_diagram',
34
+ {
35
+ description: "Generate a text-based diagram of a scene's node hierarchy and signal connections",
36
+ inputSchema: {
37
+ project_path: FilePath.describe('Path to the Godot project root'),
38
+ scene_path: ScenePath,
39
+ },
40
+ },
41
+ async (args) => callGodot(bridge, 'documentation/generate_scene_diagram', args),
42
+ );
43
+ // 4. generate_class_diagram
44
+ server.registerTool(
45
+ 'generate_class_diagram',
46
+ {
47
+ description: 'Generate a class diagram showing inheritance and composition relationships',
48
+ inputSchema: {
49
+ project_path: FilePath.describe('Path to the Godot project root'),
50
+ classes: z.array(z.string()).optional().describe('Specific classes to include (defaults to all)'),
51
+ },
52
+ },
53
+ async (args) => callGodot(bridge, 'documentation/generate_class_diagram', args),
54
+ );
55
+ // 5. create_changelog
56
+ server.registerTool(
57
+ 'create_changelog',
58
+ {
59
+ description: 'Create or update a CHANGELOG.md file with version history entries',
60
+ inputSchema: {
61
+ project_path: FilePath.describe('Path to the Godot project root'),
62
+ entries: z
63
+ .array(
64
+ z.object({
65
+ version: z.string().describe("Version number (e.g. '1.0.0')"),
66
+ date: z.string().describe('Release date (YYYY-MM-DD)'),
67
+ changes: z.array(z.string()).describe('List of changes'),
68
+ }),
69
+ )
70
+ .optional()
71
+ .describe('Changelog entries to add'),
72
+ },
73
+ },
74
+ async (args) => callGodot(bridge, 'documentation/create_changelog', args),
75
+ );
76
+ // 6. generate_user_manual
77
+ server.registerTool(
78
+ 'generate_user_manual',
79
+ {
80
+ description: 'Generate a user manual with controls, gameplay, and technical sections',
81
+ inputSchema: {
82
+ project_path: FilePath.describe('Path to the Godot project root'),
83
+ sections: z.array(z.string()).optional().describe('Specific sections to include'),
84
+ },
85
+ },
86
+ async (args) => callGodot(bridge, 'documentation/generate_user_manual', args),
87
+ );
88
+ }
89
+ //# sourceMappingURL=documentation_tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation_tools.js","sourceRoot":"","sources":["../../src/tools/documentation_tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Editor tools — 9 tools for editor interaction
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerEditorTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/tools/editor.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,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAmGhF"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Editor tools — 9 tools for editor interaction
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, NodePath, GDScriptCode } from './shared-types.js';
6
+ export function registerEditorTools(server, bridge) {
7
+ // 1. get_editor_errors — {} -> errors with stack traces
8
+ server.registerTool(
9
+ 'get_editor_errors',
10
+ {
11
+ description: 'Validate all GDScripts in the current scene tree and return compilation errors',
12
+ inputSchema: {},
13
+ },
14
+ async () => callGodot(bridge, 'editor/get_errors'),
15
+ );
16
+ // 2. get_editor_screenshot — {path?: string} -> base64 image
17
+ server.registerTool(
18
+ 'get_editor_screenshot',
19
+ {
20
+ description: 'Take a screenshot of the Godot editor window',
21
+ inputSchema: {
22
+ path: z.string().optional().describe('Custom save path for the screenshot'),
23
+ },
24
+ },
25
+ async (args) => callGodot(bridge, 'editor/get_screenshot', args),
26
+ );
27
+ // 3. get_game_screenshot — {path?: string} -> base64 image
28
+ server.registerTool(
29
+ 'get_game_screenshot',
30
+ {
31
+ description: 'Take a screenshot of the running game viewport',
32
+ inputSchema: {
33
+ path: z.string().optional().describe('Custom save path for the screenshot'),
34
+ },
35
+ },
36
+ async (args) => callGodot(bridge, 'editor/get_game_screenshot', args),
37
+ );
38
+ // 4. execute_editor_script — {code: string} -> result
39
+ server.registerTool(
40
+ 'execute_editor_script',
41
+ {
42
+ description: 'Execute a GDScript snippet in the editor context (EditorScript)',
43
+ inputSchema: {
44
+ code: GDScriptCode,
45
+ },
46
+ },
47
+ async (args) => callGodot(bridge, 'editor/execute_script', args),
48
+ );
49
+ // 5. clear_output — {} -> success
50
+ server.registerTool(
51
+ 'clear_output',
52
+ {
53
+ description: 'Clear the editor output log',
54
+ inputSchema: {},
55
+ },
56
+ async () => callGodot(bridge, 'editor/clear_output'),
57
+ );
58
+ // 6. get_signals — {node_path: string} -> signals with connections
59
+ server.registerTool(
60
+ 'get_signals',
61
+ {
62
+ description: 'Get all signals and their connections for a node',
63
+ inputSchema: {
64
+ node_path: NodePath.describe('Node path to inspect'),
65
+ },
66
+ },
67
+ async (args) => callGodot(bridge, 'editor/get_signals', args),
68
+ );
69
+ // 7. reload_plugin — {} -> success
70
+ server.registerTool(
71
+ 'reload_plugin',
72
+ {
73
+ description: 'Reload editor plugins (triggers plugin re-initialization)',
74
+ inputSchema: {},
75
+ },
76
+ async () => callGodot(bridge, 'editor/reload_plugin'),
77
+ );
78
+ // 8. reload_project — {} -> success
79
+ server.registerTool(
80
+ 'reload_project',
81
+ {
82
+ description: 'Rescan the project filesystem for new or changed files',
83
+ inputSchema: {},
84
+ },
85
+ async () => callGodot(bridge, 'editor/reload_project'),
86
+ );
87
+ // 9. get_output_log — {} -> log content
88
+ server.registerTool(
89
+ 'get_output_log',
90
+ {
91
+ description: 'Get the contents of the editor output log',
92
+ inputSchema: {},
93
+ },
94
+ async () => callGodot(bridge, 'editor/get_output_log'),
95
+ );
96
+ }
97
+ //# sourceMappingURL=editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/tools/editor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAmB;IACxE,wDAAwD;IACxD,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EAAE,gFAAgF;QAC7F,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,CAAC,CACnD,CAAC;IAEF,6DAA6D;IAC7D,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EAAE,8CAA8C;QAC3D,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SAC5E;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAA+B,CAAC,CAC5F,CAAC;IAEF,2DAA2D;IAC3D,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SAC5E;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,SAAS,CAAC,MAAM,EAAE,4BAA4B,EAAE,IAA+B,CAAC,CACnF,CAAC;IAEF,sDAAsD;IACtD,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE;YACX,IAAI,EAAE,YAAY;SACnB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAA+B,CAAC,CAC5F,CAAC;IAEF,kCAAkC;IAClC,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,6BAA6B;QAC1C,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,CACrD,CAAC;IAEF,mEAAmE;IACnE,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE;YACX,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC;SACrD;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAA+B,CAAC,CACzF,CAAC;IAEF,mCAAmC;IACnC,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAAC,CACtD,CAAC;IAEF,oCAAoC;IACpC,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uBAAuB,CAAC,CACvD,CAAC;IAEF,wCAAwC;IACxC,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE,2CAA2C;QACxD,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
+ * Editor configuration tools - 8 tools for editor settings
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerEditorConfigTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=editor_config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor_config.d.ts","sourceRoot":"","sources":["../../src/tools/editor_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,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA+FtF"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Editor configuration tools - 8 tools for editor settings
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, Name } from './shared-types.js';
6
+ export function registerEditorConfigTools(server, bridge) {
7
+ // 1. get_editor_settings
8
+ server.registerTool(
9
+ 'get_editor_settings',
10
+ {
11
+ description: 'Get all editor settings (theme, layout, font, scale, etc.)',
12
+ inputSchema: {},
13
+ },
14
+ async () => callGodot(bridge, 'editor_config/get_settings'),
15
+ );
16
+ // 2. set_editor_theme
17
+ server.registerTool(
18
+ 'set_editor_theme',
19
+ {
20
+ description: 'Set the editor color theme',
21
+ inputSchema: {
22
+ theme: z.enum(['dark', 'light', 'amoled']).describe('Editor theme preset'),
23
+ },
24
+ },
25
+ async (args) => callGodot(bridge, 'editor_config/set_theme', args),
26
+ );
27
+ // 3. set_editor_layout
28
+ server.registerTool(
29
+ 'set_editor_layout',
30
+ {
31
+ description: 'Switch the editor to a specific workspace layout',
32
+ inputSchema: {
33
+ layout: z.enum(['default', '2d', '3d', 'script']).describe('Editor layout preset to activate'),
34
+ },
35
+ },
36
+ async (args) => callGodot(bridge, 'editor_config/set_layout', args),
37
+ );
38
+ // 4. set_font_size
39
+ server.registerTool(
40
+ 'set_font_size',
41
+ {
42
+ description: 'Set the editor font size in pixels',
43
+ inputSchema: {
44
+ size: z.number().int().min(8).max(48).describe('Font size in pixels'),
45
+ },
46
+ },
47
+ async (args) => callGodot(bridge, 'editor_config/set_font_size', args),
48
+ );
49
+ // 5. set_editor_scale
50
+ server.registerTool(
51
+ 'set_editor_scale',
52
+ {
53
+ description: 'Set the editor UI scale factor',
54
+ inputSchema: {
55
+ scale: z.number().min(0.5).max(3.0).describe('UI scale factor (1.0 = 100%)'),
56
+ },
57
+ },
58
+ async (args) => callGodot(bridge, 'editor_config/set_scale', args),
59
+ );
60
+ // 6. save_editor_layout
61
+ server.registerTool(
62
+ 'save_editor_layout',
63
+ {
64
+ description: 'Save the current editor layout under a name',
65
+ inputSchema: {
66
+ name: Name.describe('Layout name to save as'),
67
+ },
68
+ },
69
+ async (args) => callGodot(bridge, 'editor_config/save_layout', args),
70
+ );
71
+ // 7. load_editor_layout
72
+ server.registerTool(
73
+ 'load_editor_layout',
74
+ {
75
+ description: 'Load a previously saved editor layout',
76
+ inputSchema: {
77
+ name: Name.describe('Layout name to load'),
78
+ },
79
+ },
80
+ async (args) => callGodot(bridge, 'editor_config/load_layout', args),
81
+ );
82
+ // 8. reset_editor_layout
83
+ server.registerTool(
84
+ 'reset_editor_layout',
85
+ {
86
+ description: 'Reset the editor layout to factory defaults',
87
+ inputSchema: {},
88
+ },
89
+ async () => callGodot(bridge, 'editor_config/reset_layout'),
90
+ );
91
+ }
92
+ //# sourceMappingURL=editor_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor_config.js","sourceRoot":"","sources":["../../src/tools/editor_config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,MAAmB;IAC9E,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAC5D,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;SAC3E;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAA+B,CAAC,CAC9F,CAAC;IAEF,uBAAuB;IACvB,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;iBACvC,QAAQ,CAAC,kCAAkC,CAAC;SAChD;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,0BAA0B,EAAE,IAA+B,CAAC,CAC/F,CAAC;IAEF,mBAAmB;IACnB,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EAAE,oCAAoC;QACjD,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;SACtE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,SAAS,CAAC,MAAM,EAAE,6BAA6B,EAAE,IAA+B,CAAC,CACpF,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,gCAAgC;QAC7C,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC7E;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAA+B,CAAC,CAC9F,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SAC9C;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAA+B,CAAC,CAChG,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE,uCAAuC;QACpD,WAAW,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;SAC3C;KACF,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,6CAA6C;QAC1D,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAC5D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Export tools - 7 tools for project export
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerExportTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/tools/export.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,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAkFhF"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Export tools - 7 tools for project export
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, Name } from './shared-types.js';
6
+ export function registerExportTools(server, bridge) {
7
+ // 1. list_export_presets
8
+ server.registerTool(
9
+ 'list_export_presets',
10
+ {
11
+ description: 'List all configured export presets',
12
+ inputSchema: {},
13
+ },
14
+ async () => callGodot(bridge, 'export/list_presets'),
15
+ );
16
+ // 2. export_project
17
+ server.registerTool(
18
+ 'export_project',
19
+ {
20
+ description: 'Export the project using a specific preset',
21
+ inputSchema: {
22
+ preset: Name.describe('Export preset name'),
23
+ output_path: z.string().optional().describe('Output path for the export'),
24
+ debug: z.boolean().optional().default(false).describe('Export as debug build (default: false = release)'),
25
+ pack_only: z.boolean().optional().default(false).describe('Export as pack file only (default: false)'),
26
+ },
27
+ },
28
+ async (args) => callGodot(bridge, 'export/project', args),
29
+ );
30
+ // 3. get_export_info
31
+ server.registerTool(
32
+ 'get_export_info',
33
+ {
34
+ description: 'Get export project information (platform, features, resources)',
35
+ inputSchema: {},
36
+ },
37
+ async () => callGodot(bridge, 'export/get_info'),
38
+ );
39
+ // 4. validate_export
40
+ server.registerTool(
41
+ 'validate_export',
42
+ {
43
+ description: 'Validate the project for export (check for missing resources, errors)',
44
+ inputSchema: {},
45
+ },
46
+ async (args) => callGodot(bridge, 'export/validate', args),
47
+ );
48
+ // 5. get_export_templates
49
+ server.registerTool(
50
+ 'get_export_templates',
51
+ {
52
+ description: 'Get available export templates for the current Godot version',
53
+ inputSchema: {},
54
+ },
55
+ async () => callGodot(bridge, 'export/get_templates'),
56
+ );
57
+ // 6. create_export_preset
58
+ server.registerTool(
59
+ 'create_export_preset',
60
+ {
61
+ description: 'Create a new export preset',
62
+ inputSchema: {
63
+ name: Name.describe('Preset name'),
64
+ platform: z.string().describe("Target platform (e.g. 'Windows Desktop', 'Linux', 'Android')"),
65
+ },
66
+ },
67
+ async (args) => callGodot(bridge, 'export/create_preset', args),
68
+ );
69
+ // 7. delete_export_preset
70
+ server.registerTool(
71
+ 'delete_export_preset',
72
+ {
73
+ description: 'Delete an export preset from the project',
74
+ inputSchema: {
75
+ name: z.string().describe('Name of the export preset to delete'),
76
+ },
77
+ },
78
+ async (args) => callGodot(bridge, 'export/delete_preset', args),
79
+ );
80
+ }
81
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/tools/export.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAmB;IACxE,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,oCAAoC;QACjD,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,CACrD,CAAC;IAEF,oBAAoB;IACpB,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE,4CAA4C;QACzD,WAAW,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACzE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACzG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;SACvG;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAA+B,CAAC,CACrF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,CACjD,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAA+B,CAAC,CACtF,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,8DAA8D;QAC3E,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAAC,CACtD,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAClC,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CAAC,8DAA8D,CAAC;SAC5E;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAA+B,CAAC,CAC3F,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SACjE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAA+B,CAAC,CAC3F,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Game template tools - 8 tools for complete game genre scaffolding
3
+ */
4
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import type { GodotBridge } from "../godot-bridge.js";
6
+ export declare function registerGameTemplateTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=game_template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game_template.d.ts","sourceRoot":"","sources":["../../src/tools/game_template.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,CAgHtF"}