@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,125 @@
1
+ /**
2
+ * CI/CD Pipeline tools - 8 tools for automated build and deployment workflows
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, Name, FilePath } from './shared-types.js';
6
+ export function registerCicdPipelineTools(server, bridge) {
7
+ // 1. create_github_actions_workflow
8
+ server.registerTool(
9
+ 'create_github_actions_workflow',
10
+ {
11
+ description: 'Create a GitHub Actions workflow YAML file for automated CI/CD',
12
+ inputSchema: {
13
+ name: Name.describe('Workflow name (used as filename)'),
14
+ triggers: z.array(z.string()).describe("Event triggers (e.g. 'push', 'pull_request', 'workflow_dispatch')"),
15
+ jobs: z
16
+ .array(
17
+ z.object({
18
+ name: z.string().describe('Job name'),
19
+ steps: z
20
+ .array(
21
+ z.object({
22
+ name: z.string().describe('Step name'),
23
+ run: z.string().optional().describe('Shell command to run'),
24
+ uses: z.string().optional().describe("Action to use (e.g. 'actions/checkout@v4')"),
25
+ }),
26
+ )
27
+ .describe('Job steps'),
28
+ }),
29
+ )
30
+ .describe('Workflow jobs'),
31
+ },
32
+ },
33
+ async (args) => callGodot(bridge, 'cicd/create_github_actions_workflow', args),
34
+ );
35
+ // 2. create_gitlab_ci
36
+ server.registerTool(
37
+ 'create_gitlab_ci',
38
+ {
39
+ description: 'Create a GitLab CI/CD configuration file (.gitlab-ci.yml)',
40
+ inputSchema: {
41
+ stages: z.array(z.string()).describe("Pipeline stages (e.g. 'build', 'test', 'deploy')"),
42
+ jobs: z
43
+ .record(
44
+ z.object({
45
+ stage: z.string().describe('Which stage this job belongs to'),
46
+ script: z.array(z.string()).describe('Commands to run in this job'),
47
+ }),
48
+ )
49
+ .describe('Job definitions keyed by job name'),
50
+ },
51
+ },
52
+ async (args) => callGodot(bridge, 'cicd/create_gitlab_ci', args),
53
+ );
54
+ // 3. setup_automated_testing
55
+ server.registerTool(
56
+ 'setup_automated_testing',
57
+ {
58
+ description: 'Set up automated testing workflow for the Godot project',
59
+ inputSchema: {
60
+ framework: z.enum(['gut', 'custom']).describe('Test framework to use (GUT or custom)'),
61
+ test_path: FilePath.describe("Path to test directory (e.g. 'res://tests/')"),
62
+ on_push: z.boolean().optional().describe('Run tests on every push (default: true)'),
63
+ },
64
+ },
65
+ async (args) => callGodot(bridge, 'cicd/setup_automated_testing', args),
66
+ );
67
+ // 4. setup_automated_export
68
+ server.registerTool(
69
+ 'setup_automated_export',
70
+ {
71
+ description: 'Set up automated export workflow for building game binaries',
72
+ inputSchema: {
73
+ platforms: z.array(z.string()).describe("Target platforms (e.g. 'windows', 'linux', 'web', 'android')"),
74
+ on_tag: z.boolean().optional().describe('Only export on tag push (default: false)'),
75
+ },
76
+ },
77
+ async (args) => callGodot(bridge, 'cicd/setup_automated_export', args),
78
+ );
79
+ // 5. create_release_workflow
80
+ server.registerTool(
81
+ 'create_release_workflow',
82
+ {
83
+ description: 'Create a release workflow with version tagging and multi-platform builds',
84
+ inputSchema: {
85
+ version_pattern: z.string().describe("Version tag pattern (e.g. 'v*', 'release-*')"),
86
+ platforms: z.array(z.string()).describe('Target platforms for release builds'),
87
+ auto_notes: z.boolean().optional().describe('Auto-generate release notes from commits (default: true)'),
88
+ },
89
+ },
90
+ async (args) => callGodot(bridge, 'cicd/create_release_workflow', args),
91
+ );
92
+ // 6. validate_ci_config
93
+ server.registerTool(
94
+ 'validate_ci_config',
95
+ {
96
+ description: 'Validate a CI/CD configuration file for syntax and structure errors',
97
+ inputSchema: {
98
+ config_path: FilePath.describe("Path to CI config file (e.g. '.github/workflows/build.yml', '.gitlab-ci.yml')"),
99
+ },
100
+ },
101
+ async (args) => callGodot(bridge, 'cicd/validate_ci_config', args),
102
+ );
103
+ // 7. get_ci_templates
104
+ server.registerTool(
105
+ 'get_ci_templates',
106
+ {
107
+ description: 'Get available CI/CD templates for Godot projects',
108
+ inputSchema: {},
109
+ },
110
+ async () => callGodot(bridge, 'cicd/get_ci_templates'),
111
+ );
112
+ // 8. create_docker_config
113
+ server.registerTool(
114
+ 'create_docker_config',
115
+ {
116
+ description: 'Create a Dockerfile for containerized Godot builds and exports',
117
+ inputSchema: {
118
+ base_image: z.string().optional().describe('Base Docker image (default: Ubuntu)'),
119
+ godot_version: z.string().optional().describe("Godot version to install (e.g. '4.3')"),
120
+ },
121
+ },
122
+ async (args) => callGodot(bridge, 'cicd/create_docker_config', args),
123
+ );
124
+ }
125
+ //# sourceMappingURL=cicd_pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cicd_pipeline.js","sourceRoot":"","sources":["../../src/tools/cicd_pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Cloud services tools - 8 tools for cloud save, leaderboards, achievements, and remote config
3
+ */
4
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import type { GodotBridge } from "../godot-bridge.js";
6
+ export declare function registerCloudServicesTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=cloud_services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud_services.d.ts","sourceRoot":"","sources":["../../src/tools/cloud_services.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,CAiGvF"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Cloud services tools - 8 tools for cloud save, leaderboards, achievements, and remote config
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, Name, OptionalProperties } from './shared-types.js';
6
+ export function registerCloudServicesTools(server, bridge) {
7
+ // 1. get_cloud_settings
8
+ server.registerTool(
9
+ 'get_cloud_settings',
10
+ {
11
+ description: 'Get the current cloud service configuration',
12
+ inputSchema: {},
13
+ },
14
+ async () => callGodot(bridge, 'get_cloud_settings'),
15
+ );
16
+ // 2. setup_cloud_saves
17
+ server.registerTool(
18
+ 'setup_cloud_saves',
19
+ {
20
+ description: 'Configure cloud save system with a provider and optional endpoint',
21
+ inputSchema: {
22
+ provider: z.enum(['steam', 'custom']).describe('Cloud save provider'),
23
+ endpoint: z.string().optional().describe("Custom endpoint URL (required for 'custom' provider)"),
24
+ },
25
+ },
26
+ async (args) => callGodot(bridge, 'setup_cloud_saves', args),
27
+ );
28
+ // 3. sync_cloud_saves
29
+ server.registerTool(
30
+ 'sync_cloud_saves',
31
+ {
32
+ description: 'Synchronize local save files with the cloud in the specified direction',
33
+ inputSchema: {
34
+ direction: z.enum(['upload', 'download', 'both']).describe('Sync direction: upload local to cloud, download cloud to local, or both'),
35
+ },
36
+ },
37
+ async (args) => callGodot(bridge, 'sync_cloud_saves', args),
38
+ );
39
+ // 4. get_leaderboard
40
+ server.registerTool(
41
+ 'get_leaderboard',
42
+ {
43
+ description: 'Retrieve entries from a leaderboard',
44
+ inputSchema: {
45
+ leaderboard_id: Name.describe('Leaderboard identifier'),
46
+ count: z.number().int().min(1).max(100).optional().describe('Number of entries to retrieve (default: 10)'),
47
+ around_player: z.boolean().optional().describe('If true, return entries around the current player (default: false)'),
48
+ },
49
+ },
50
+ async (args) => callGodot(bridge, 'get_leaderboard', args),
51
+ );
52
+ // 5. submit_score
53
+ server.registerTool(
54
+ 'submit_score',
55
+ {
56
+ description: 'Submit a score to a leaderboard with optional metadata',
57
+ inputSchema: {
58
+ leaderboard_id: Name.describe('Leaderboard identifier'),
59
+ score: z.number().describe('Score value to submit'),
60
+ metadata: OptionalProperties,
61
+ },
62
+ },
63
+ async (args) => callGodot(bridge, 'submit_score', args),
64
+ );
65
+ // 6. get_achievements
66
+ server.registerTool(
67
+ 'get_achievements',
68
+ {
69
+ description: 'Get all achievements with their unlock status',
70
+ inputSchema: {},
71
+ },
72
+ async () => callGodot(bridge, 'get_achievements'),
73
+ );
74
+ // 7. unlock_achievement
75
+ server.registerTool(
76
+ 'unlock_achievement',
77
+ {
78
+ description: 'Unlock a specific achievement by its ID',
79
+ inputSchema: {
80
+ achievement_id: Name.describe('Achievement identifier to unlock'),
81
+ },
82
+ },
83
+ async (args) => callGodot(bridge, 'unlock_achievement', args),
84
+ );
85
+ // 8. get_cloud_config
86
+ server.registerTool(
87
+ 'get_cloud_config',
88
+ {
89
+ description: 'Get a remote configuration value by key',
90
+ inputSchema: {
91
+ key: Name.describe('Configuration key to retrieve'),
92
+ },
93
+ },
94
+ async (args) => callGodot(bridge, 'get_cloud_config', args),
95
+ );
96
+ }
97
+ //# sourceMappingURL=cloud_services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud_services.js","sourceRoot":"","sources":["../../src/tools/cloud_services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Code generation tools - 6 tools for GDScript code generation and analysis
3
+ */
4
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import type { GodotBridge } from "../godot-bridge.js";
6
+ export declare function registerCodeGenerationTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=code_generation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code_generation.d.ts","sourceRoot":"","sources":["../../src/tools/code_generation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA6ExF"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Code generation tools - 6 tools for GDScript code generation and analysis
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, ScriptPath } from './shared-types.js';
6
+ export function registerCodeGenerationTools(server, bridge) {
7
+ // 1. generate_gdscript
8
+ server.registerTool(
9
+ 'generate_gdscript',
10
+ {
11
+ description: 'Generate a GDScript file from a natural language description',
12
+ inputSchema: {
13
+ description: z.string().describe('Description of what the script should do'),
14
+ base_class: z.string().optional().describe("Base class to extend (e.g. 'CharacterBody2D', 'Node')"),
15
+ style: z.enum(['minimal', 'documented']).optional().describe('Code style: minimal or fully documented (default: documented)'),
16
+ },
17
+ },
18
+ async (args) => callGodot(bridge, 'generate_gdscript', args),
19
+ );
20
+ // 2. refactor_code
21
+ server.registerTool(
22
+ 'refactor_code',
23
+ {
24
+ description: 'Refactor a GDScript file using a specified refactoring operation',
25
+ inputSchema: {
26
+ script_path: ScriptPath,
27
+ refactoring: z.enum(['extract_method', 'rename', 'move', 'inline']).describe('Refactoring operation to perform'),
28
+ target: z.string().optional().describe('Target for the refactoring (method name, new name, destination, etc.)'),
29
+ },
30
+ },
31
+ async (args) => callGodot(bridge, 'refactor_code', args),
32
+ );
33
+ // 3. suggest_improvements
34
+ server.registerTool(
35
+ 'suggest_improvements',
36
+ {
37
+ description: 'Analyze a GDScript file and suggest code quality improvements',
38
+ inputSchema: {
39
+ script_path: ScriptPath,
40
+ },
41
+ },
42
+ async (args) => callGodot(bridge, 'suggest_improvements', args),
43
+ );
44
+ // 4. generate_unit_tests
45
+ server.registerTool(
46
+ 'generate_unit_tests',
47
+ {
48
+ description: 'Generate unit test script for a GDScript file',
49
+ inputSchema: {
50
+ script_path: ScriptPath,
51
+ framework: z.enum(['gut', 'custom']).optional().describe('Test framework to use (default: custom)'),
52
+ },
53
+ },
54
+ async (args) => callGodot(bridge, 'generate_unit_tests', args),
55
+ );
56
+ // 5. generate_documentation
57
+ server.registerTool(
58
+ 'generate_documentation',
59
+ {
60
+ description: 'Generate documentation comments for a GDScript file',
61
+ inputSchema: {
62
+ script_path: ScriptPath,
63
+ },
64
+ },
65
+ async (args) => callGodot(bridge, 'generate_documentation', args),
66
+ );
67
+ // 6. check_code_quality
68
+ server.registerTool(
69
+ 'check_code_quality',
70
+ {
71
+ description: 'Check a GDScript file for code quality issues and return a quality report',
72
+ inputSchema: {
73
+ script_path: ScriptPath,
74
+ },
75
+ },
76
+ async (args) => callGodot(bridge, 'check_code_quality', args),
77
+ );
78
+ }
79
+ //# sourceMappingURL=code_generation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code_generation.js","sourceRoot":"","sources":["../../src/tools/code_generation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,MAAmB;IAChF,uBAAuB;IACvB,MAAM,CAAC,YAAY,CACf,mBAAmB,EACnB;QACE,WAAW,EAAE,8DAA8D;QAC3E,WAAW,EAAE;YACf,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YAC5E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACnG,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;SAC9H;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAA+B,CAAC,CACxF,CAAC;IAEJ,mBAAmB;IACnB,MAAM,CAAC,YAAY,CACf,eAAe,EACf;QACE,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE;YACf,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YAChH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;SAChH;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,IAA+B,CAAC,CACpF,CAAC;IAEJ,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACf,sBAAsB,EACtB;QACE,WAAW,EAAE,+DAA+D;QAC5E,WAAW,EAAE;YACf,WAAW,EAAE,UAAU;SACxB;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAA+B,CAAC,CAC3F,CAAC;IAEJ,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACf,qBAAqB,EACrB;QACE,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE;YACf,WAAW,EAAE,UAAU;YACvB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SACpG;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAA+B,CAAC,CAC1F,CAAC;IAEJ,4BAA4B;IAC5B,MAAM,CAAC,YAAY,CACf,wBAAwB,EACxB;QACE,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACf,WAAW,EAAE,UAAU;SACxB;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAA+B,CAAC,CAC7F,CAAC;IAEJ,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACf,oBAAoB,EACpB;QACE,WAAW,EAAE,2EAA2E;QACxF,WAAW,EAAE;YACf,WAAW,EAAE,UAAU;SACxB;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAA+B,CAAC,CACzF,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Code quality tools - 8 tools for linting, analysis, and code health
3
+ */
4
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import type { GodotBridge } from "../godot-bridge.js";
6
+ export declare function registerCodeQualityTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=code_quality.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code_quality.d.ts","sourceRoot":"","sources":["../../src/tools/code_quality.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,CAkGrF"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Code quality tools - 8 tools for linting, analysis, and code health
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, ScriptPath } from './shared-types.js';
6
+ export function registerCodeQualityTools(server, bridge) {
7
+ // 1. run_linter
8
+ server.registerTool(
9
+ 'run_linter',
10
+ {
11
+ description: 'Run GDScript linter on project files and return lint errors',
12
+ inputSchema: {
13
+ path: z.string().optional().describe('Directory or file to lint (default: entire project)'),
14
+ fix: z.boolean().optional().describe('Attempt to auto-fix issues (default: false)'),
15
+ },
16
+ },
17
+ async (args) => callGodot(bridge, 'code_quality/run_linter', args),
18
+ );
19
+ // 2. run_static_analysis
20
+ server.registerTool(
21
+ 'run_static_analysis',
22
+ {
23
+ description: 'Run static analysis on GDScript files to find potential issues',
24
+ inputSchema: {
25
+ path: z.string().optional().describe('Directory or file to analyze (default: entire project)'),
26
+ },
27
+ },
28
+ async (args) => callGodot(bridge, 'code_quality/run_static_analysis', args),
29
+ );
30
+ // 3. check_type_safety
31
+ server.registerTool(
32
+ 'check_type_safety',
33
+ {
34
+ description: 'Check type safety of a GDScript file (untyped variables, missing return types)',
35
+ inputSchema: {
36
+ script_path: ScriptPath,
37
+ },
38
+ },
39
+ async (args) => callGodot(bridge, 'code_quality/check_type_safety', args),
40
+ );
41
+ // 4. find_code_smells
42
+ server.registerTool(
43
+ 'find_code_smells',
44
+ {
45
+ description: 'Find code smells in GDScript files (long functions, deep nesting, god classes)',
46
+ inputSchema: {
47
+ path: z.string().optional().describe('Directory or file to scan (default: entire project)'),
48
+ },
49
+ },
50
+ async (args) => callGodot(bridge, 'code_quality/find_code_smells', args),
51
+ );
52
+ // 5. calculate_code_metrics
53
+ server.registerTool(
54
+ 'calculate_code_metrics',
55
+ {
56
+ description: 'Calculate code metrics (cyclomatic complexity, lines of code, function count)',
57
+ inputSchema: {
58
+ path: z.string().optional().describe('Directory or file to measure (default: entire project)'),
59
+ },
60
+ },
61
+ async (args) => callGodot(bridge, 'code_quality/calculate_code_metrics', args),
62
+ );
63
+ // 6. suggest_refactoring
64
+ server.registerTool(
65
+ 'suggest_refactoring',
66
+ {
67
+ description: 'Analyze a GDScript file and suggest refactoring improvements',
68
+ inputSchema: {
69
+ script_path: ScriptPath,
70
+ },
71
+ },
72
+ async (args) => callGodot(bridge, 'code_quality/suggest_refactoring', args),
73
+ );
74
+ // 7. validate_naming_conventions
75
+ server.registerTool(
76
+ 'validate_naming_conventions',
77
+ {
78
+ description: 'Check GDScript files for naming convention violations',
79
+ inputSchema: {
80
+ path: z.string().optional().describe('Directory or file to check (default: entire project)'),
81
+ style: z.enum(['snake_case', 'camelCase', 'PascalCase']).optional().describe('Expected naming style (default: snake_case per GDScript convention)'),
82
+ },
83
+ },
84
+ async (args) => callGodot(bridge, 'code_quality/validate_naming_conventions', args),
85
+ );
86
+ // 8. generate_code_report
87
+ server.registerTool(
88
+ 'generate_code_report',
89
+ {
90
+ description: 'Generate a comprehensive code quality report in the specified format',
91
+ inputSchema: {
92
+ format: z.enum(['json', 'html', 'markdown']).optional().describe('Report output format (default: markdown)'),
93
+ },
94
+ },
95
+ async (args) => callGodot(bridge, 'code_quality/generate_code_report', args),
96
+ );
97
+ }
98
+ //# sourceMappingURL=code_quality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code_quality.js","sourceRoot":"","sources":["../../src/tools/code_quality.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Collaboration tools - 6 tools for multi-user editor collaboration
3
+ */
4
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import type { GodotBridge } from "../godot-bridge.js";
6
+ export declare function registerCollaborationTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=collaboration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collaboration.d.ts","sourceRoot":"","sources":["../../src/tools/collaboration.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,CAuEvF"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Collaboration tools - 6 tools for multi-user editor collaboration
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z, ScenePath, NodePath, Name, PositiveInt } from './shared-types.js';
6
+ export function registerCollaborationTools(server, bridge) {
7
+ // 1. get_editor_users
8
+ server.registerTool(
9
+ 'get_editor_users',
10
+ {
11
+ description: 'Get a list of users currently connected to the editor collaboration session',
12
+ inputSchema: {},
13
+ },
14
+ async () => callGodot(bridge, 'collaboration/get_editor_users'),
15
+ );
16
+ // 2. share_scene
17
+ server.registerTool(
18
+ 'share_scene',
19
+ {
20
+ description: 'Share a scene file with specific users in the collaboration session',
21
+ inputSchema: {
22
+ scene_path: ScenePath,
23
+ users: z.array(z.string()).describe('List of user identifiers to share with'),
24
+ },
25
+ },
26
+ async (args) => callGodot(bridge, 'collaboration/share_scene', args),
27
+ );
28
+ // 3. lock_node
29
+ server.registerTool(
30
+ 'lock_node',
31
+ {
32
+ description: 'Lock a node to prevent other users from editing it',
33
+ inputSchema: {
34
+ node_path: NodePath,
35
+ duration: PositiveInt.optional().describe('Lock duration in seconds (default: 300)'),
36
+ },
37
+ },
38
+ async (args) => callGodot(bridge, 'collaboration/lock_node', args),
39
+ );
40
+ // 4. unlock_node
41
+ server.registerTool(
42
+ 'unlock_node',
43
+ {
44
+ description: 'Unlock a previously locked node',
45
+ inputSchema: {
46
+ node_path: NodePath,
47
+ },
48
+ },
49
+ async (args) => callGodot(bridge, 'collaboration/unlock_node', args),
50
+ );
51
+ // 5. get_locked_nodes
52
+ server.registerTool(
53
+ 'get_locked_nodes',
54
+ {
55
+ description: 'Get a list of all currently locked nodes and their owners',
56
+ inputSchema: {},
57
+ },
58
+ async () => callGodot(bridge, 'collaboration/get_locked_nodes'),
59
+ );
60
+ // 6. send_message
61
+ server.registerTool(
62
+ 'send_message',
63
+ {
64
+ description: 'Send a message to another user in the collaboration session',
65
+ inputSchema: {
66
+ user: Name.describe('Target user identifier'),
67
+ message: z.string().describe('Message content'),
68
+ },
69
+ },
70
+ async (args) => callGodot(bridge, 'collaboration/send_message', args),
71
+ );
72
+ }
73
+ //# sourceMappingURL=collaboration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collaboration.js","sourceRoot":"","sources":["../../src/tools/collaboration.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,MAAmB;IAC/E,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACf,kBAAkB,EAClB;QACE,WAAW,EAAE,6EAA6E;QAC1F,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAChE,CAAC;IAEJ,iBAAiB;IACjB,MAAM,CAAC,YAAY,CACf,aAAa,EACb;QACE,WAAW,EAAE,qEAAqE;QAClF,WAAW,EAAE;YACf,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SAC9E;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAA+B,CAAC,CAChG,CAAC;IAEJ,eAAe;IACf,MAAM,CAAC,YAAY,CACf,WAAW,EACX;QACE,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE;YACf,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SACrF;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAA+B,CAAC,CAC9F,CAAC;IAEJ,iBAAiB;IACjB,MAAM,CAAC,YAAY,CACf,aAAa,EACb;QACE,WAAW,EAAE,iCAAiC;QAC9C,WAAW,EAAE;YACf,SAAS,EAAE,QAAQ;SACpB;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAA+B,CAAC,CAChG,CAAC;IAEJ,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACf,kBAAkB,EAClB;QACE,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAChE,CAAC;IAEJ,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACf,cAAc,EACd;QACE,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE;YACf,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;SAChD;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,4BAA4B,EAAE,IAA+B,CAAC,CACjG,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Debug configuration tools - 6 tools for debug and logging settings
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { GodotBridge } from '../godot-bridge.js';
6
+ export declare function registerDebugConfigTools(server: McpServer, bridge: GodotBridge): void;
7
+ //# sourceMappingURL=debug_config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug_config.d.ts","sourceRoot":"","sources":["../../src/tools/debug_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,77 @@
1
+ /**
2
+ * Debug configuration tools - 6 tools for debug and logging settings
3
+ */
4
+ import { callGodot } from '../server.js';
5
+ import { z } from './shared-types.js';
6
+ export function registerDebugConfigTools(server, bridge) {
7
+ // 1. get_debug_settings
8
+ server.registerTool(
9
+ 'get_debug_settings',
10
+ {
11
+ description: 'Get all debug settings (remote debug, profilers, error handling, logging)',
12
+ inputSchema: {},
13
+ },
14
+ async () => callGodot(bridge, 'debug_config/get_settings'),
15
+ );
16
+ // 2. set_remote_debug
17
+ server.registerTool(
18
+ 'set_remote_debug',
19
+ {
20
+ description: 'Configure remote debugging connection',
21
+ inputSchema: {
22
+ enabled: z.boolean().describe('Enable/disable remote debugging'),
23
+ host: z.string().optional().default('127.0.0.1').describe("Debug host address (default: '127.0.0.1')"),
24
+ port: z.number().int().optional().default(6007).describe('Debug port (default: 6007)'),
25
+ },
26
+ },
27
+ async (args) => callGodot(bridge, 'debug_config/set_remote_debug', args),
28
+ );
29
+ // 3. set_profiler_settings
30
+ server.registerTool(
31
+ 'set_profiler_settings',
32
+ {
33
+ description: 'Enable or disable built-in profilers',
34
+ inputSchema: {
35
+ cpu: z.boolean().optional().describe('Enable CPU profiler'),
36
+ gpu: z.boolean().optional().describe('Enable GPU profiler'),
37
+ memory: z.boolean().optional().describe('Enable memory profiler'),
38
+ network: z.boolean().optional().describe('Enable network profiler'),
39
+ },
40
+ },
41
+ async (args) => callGodot(bridge, 'debug_config/set_profilers', args),
42
+ );
43
+ // 4. set_error_handling
44
+ server.registerTool(
45
+ 'set_error_handling',
46
+ {
47
+ description: 'Configure how the editor handles errors and warnings during gameplay',
48
+ inputSchema: {
49
+ break_on_error: z.boolean().optional().describe('Break into debugger on error'),
50
+ break_on_warning: z.boolean().optional().describe('Break into debugger on warning'),
51
+ },
52
+ },
53
+ async (args) => callGodot(bridge, 'debug_config/set_error_handling', args),
54
+ );
55
+ // 5. get_editor_log
56
+ server.registerTool(
57
+ 'get_editor_log',
58
+ {
59
+ description: 'Get entries from the editor log, optionally filtered by type',
60
+ inputSchema: {
61
+ filter: z.enum(['error', 'warning', 'info']).optional().describe('Filter by message type'),
62
+ limit: z.number().int().min(1).max(500).optional().default(50).describe('Max entries to return (default 50)'),
63
+ },
64
+ },
65
+ async (args) => callGodot(bridge, 'debug_config/get_log', args),
66
+ );
67
+ // 6. clear_editor_log
68
+ server.registerTool(
69
+ 'clear_editor_log',
70
+ {
71
+ description: 'Clear the editor output log',
72
+ inputSchema: {},
73
+ },
74
+ async () => callGodot(bridge, 'debug_config/clear_log'),
75
+ );
76
+ }
77
+ //# sourceMappingURL=debug_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug_config.js","sourceRoot":"","sources":["../../src/tools/debug_config.ts"],"names":[],"mappings":"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"}