@keeveeg/godot-mcp 1.0.1 → 1.0.3
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.
- package/README.md +1 -1
- package/package.json +1 -1
- package/server/dist/config.js +1 -1
- package/server/dist/godot-bridge.d.ts.map +1 -1
- package/server/dist/godot-bridge.js +264 -261
- package/server/dist/godot-bridge.js.map +1 -1
- package/server/dist/index.js +46 -45
- package/server/dist/server.d.ts.map +1 -1
- package/server/dist/server.js +25 -23
- package/server/dist/server.js.map +1 -1
- package/server/dist/tools/addon_management.d.ts.map +1 -1
- package/server/dist/tools/addon_management.js +37 -57
- package/server/dist/tools/addon_management.js.map +1 -1
- package/server/dist/tools/analysis.d.ts.map +1 -1
- package/server/dist/tools/analysis.js +21 -37
- package/server/dist/tools/analysis.js.map +1 -1
- package/server/dist/tools/animation.d.ts.map +1 -1
- package/server/dist/tools/animation.js +95 -135
- package/server/dist/tools/animation.js.map +1 -1
- package/server/dist/tools/audio.d.ts.map +1 -1
- package/server/dist/tools/audio.js +81 -109
- package/server/dist/tools/audio.js.map +1 -1
- package/server/dist/tools/audio_config.d.ts.map +1 -1
- package/server/dist/tools/audio_config.js +50 -76
- package/server/dist/tools/audio_config.js.map +1 -1
- package/server/dist/tools/batch.d.ts.map +1 -1
- package/server/dist/tools/batch.js +57 -89
- package/server/dist/tools/batch.js.map +1 -1
- package/server/dist/tools/build_config.d.ts.map +1 -1
- package/server/dist/tools/build_config.js +59 -91
- package/server/dist/tools/build_config.js.map +1 -1
- package/server/dist/tools/debug_config.d.ts.map +1 -1
- package/server/dist/tools/debug_config.js +46 -70
- package/server/dist/tools/debug_config.js.map +1 -1
- package/server/dist/tools/debugging.d.ts.map +1 -1
- package/server/dist/tools/debugging.js +51 -83
- package/server/dist/tools/debugging.js.map +1 -1
- package/server/dist/tools/editor.d.ts.map +1 -1
- package/server/dist/tools/editor.js +54 -90
- package/server/dist/tools/editor.js.map +1 -1
- package/server/dist/tools/editor_config.d.ts.map +1 -1
- package/server/dist/tools/editor_config.js +53 -85
- package/server/dist/tools/editor_config.js.map +1 -1
- package/server/dist/tools/export.d.ts.map +1 -1
- package/server/dist/tools/export.js +46 -74
- package/server/dist/tools/export.js.map +1 -1
- package/server/dist/tools/gameplay_automation.d.ts.map +1 -1
- package/server/dist/tools/gameplay_automation.js +70 -102
- package/server/dist/tools/gameplay_automation.js.map +1 -1
- package/server/dist/tools/index.js +42 -42
- package/server/dist/tools/input.d.ts.map +1 -1
- package/server/dist/tools/input.js +68 -100
- package/server/dist/tools/input.js.map +1 -1
- package/server/dist/tools/memory_profiling.d.ts.map +1 -1
- package/server/dist/tools/memory_profiling.js +31 -51
- package/server/dist/tools/memory_profiling.js.map +1 -1
- package/server/dist/tools/navigation.d.ts.map +1 -1
- package/server/dist/tools/navigation.js +86 -126
- package/server/dist/tools/navigation.js.map +1 -1
- package/server/dist/tools/node.d.ts.map +1 -1
- package/server/dist/tools/node.js +134 -202
- package/server/dist/tools/node.js.map +1 -1
- package/server/dist/tools/node_config.d.ts.map +1 -1
- package/server/dist/tools/node_config.js +58 -90
- package/server/dist/tools/node_config.js.map +1 -1
- package/server/dist/tools/particles.d.ts.map +1 -1
- package/server/dist/tools/particles.js +75 -111
- package/server/dist/tools/particles.js.map +1 -1
- package/server/dist/tools/physics.d.ts.map +1 -1
- package/server/dist/tools/physics.js +67 -99
- package/server/dist/tools/physics.js.map +1 -1
- package/server/dist/tools/physics_config.d.ts.map +1 -1
- package/server/dist/tools/physics_config.js +56 -88
- package/server/dist/tools/physics_config.js.map +1 -1
- package/server/dist/tools/platform_export.d.ts.map +1 -1
- package/server/dist/tools/platform_export.js +45 -69
- package/server/dist/tools/platform_export.js.map +1 -1
- package/server/dist/tools/platform_specific.d.ts.map +1 -1
- package/server/dist/tools/platform_specific.js +61 -85
- package/server/dist/tools/platform_specific.js.map +1 -1
- package/server/dist/tools/profiling.d.ts.map +1 -1
- package/server/dist/tools/profiling.js +13 -21
- package/server/dist/tools/profiling.js.map +1 -1
- package/server/dist/tools/project.d.ts.map +1 -1
- package/server/dist/tools/project.js +51 -79
- package/server/dist/tools/project.js.map +1 -1
- package/server/dist/tools/project_config.d.ts.map +1 -1
- package/server/dist/tools/project_config.js +88 -136
- package/server/dist/tools/project_config.js.map +1 -1
- package/server/dist/tools/project_creation.d.ts.map +1 -1
- package/server/dist/tools/project_creation.js +96 -140
- package/server/dist/tools/project_creation.js.map +1 -1
- package/server/dist/tools/rendering_config.d.ts.map +1 -1
- package/server/dist/tools/rendering_config.js +67 -103
- package/server/dist/tools/rendering_config.js.map +1 -1
- package/server/dist/tools/resource.js +77 -117
- package/server/dist/tools/resource_config.d.ts.map +1 -1
- package/server/dist/tools/resource_config.js +45 -69
- package/server/dist/tools/resource_config.js.map +1 -1
- package/server/dist/tools/runtime.d.ts.map +1 -1
- package/server/dist/tools/runtime.js +148 -224
- package/server/dist/tools/runtime.js.map +1 -1
- package/server/dist/tools/save_load.d.ts.map +1 -1
- package/server/dist/tools/save_load.js +36 -56
- package/server/dist/tools/save_load.js.map +1 -1
- package/server/dist/tools/scene.d.ts.map +1 -1
- package/server/dist/tools/scene.js +78 -122
- package/server/dist/tools/scene.js.map +1 -1
- package/server/dist/tools/scene3d.d.ts.map +1 -1
- package/server/dist/tools/scene3d.js +51 -75
- package/server/dist/tools/scene3d.js.map +1 -1
- package/server/dist/tools/scene_config.d.ts.map +1 -1
- package/server/dist/tools/scene_config.js +48 -72
- package/server/dist/tools/scene_config.js.map +1 -1
- package/server/dist/tools/script.js +68 -104
- package/server/dist/tools/script.js.map +1 -1
- package/server/dist/tools/shader.d.ts.map +1 -1
- package/server/dist/tools/shader.js +75 -111
- package/server/dist/tools/shader.js.map +1 -1
- package/server/dist/tools/shared-types.d.ts +2 -2
- package/server/dist/tools/shared-types.d.ts.map +1 -1
- package/server/dist/tools/shared-types.js +38 -36
- package/server/dist/tools/shared-types.js.map +1 -1
- package/server/dist/tools/testing.d.ts.map +1 -1
- package/server/dist/tools/testing.js +47 -69
- package/server/dist/tools/testing.js.map +1 -1
- package/server/dist/tools/theme.js +62 -90
- package/server/dist/tools/tilemap.js +58 -82
- package/server/dist/tools/visual_testing.d.ts.map +1 -1
- package/server/dist/tools/visual_testing.js +50 -74
- package/server/dist/tools/visual_testing.js.map +1 -1
- package/server/dist/types.js +15 -15
- package/server/dist/tools/accessibility.d.ts +0 -7
- package/server/dist/tools/accessibility.d.ts.map +0 -1
- package/server/dist/tools/accessibility.js +0 -71
- package/server/dist/tools/accessibility.js.map +0 -1
- package/server/dist/tools/analytics.d.ts +0 -7
- package/server/dist/tools/analytics.d.ts.map +0 -1
- package/server/dist/tools/analytics.js +0 -76
- package/server/dist/tools/analytics.js.map +0 -1
- package/server/dist/tools/asset_pipeline.d.ts +0 -7
- package/server/dist/tools/asset_pipeline.d.ts.map +0 -1
- package/server/dist/tools/asset_pipeline.js +0 -102
- package/server/dist/tools/asset_pipeline.js.map +0 -1
- package/server/dist/tools/asset_scaffolding.d.ts +0 -7
- package/server/dist/tools/asset_scaffolding.d.ts.map +0 -1
- package/server/dist/tools/asset_scaffolding.js +0 -113
- package/server/dist/tools/asset_scaffolding.js.map +0 -1
- package/server/dist/tools/cicd_pipeline.d.ts +0 -7
- package/server/dist/tools/cicd_pipeline.d.ts.map +0 -1
- package/server/dist/tools/cicd_pipeline.js +0 -125
- package/server/dist/tools/cicd_pipeline.js.map +0 -1
- package/server/dist/tools/cloud_services.d.ts +0 -7
- package/server/dist/tools/cloud_services.d.ts.map +0 -1
- package/server/dist/tools/cloud_services.js +0 -97
- package/server/dist/tools/cloud_services.js.map +0 -1
- package/server/dist/tools/code_generation.d.ts +0 -7
- package/server/dist/tools/code_generation.d.ts.map +0 -1
- package/server/dist/tools/code_generation.js +0 -79
- package/server/dist/tools/code_generation.js.map +0 -1
- package/server/dist/tools/code_quality.d.ts +0 -7
- package/server/dist/tools/code_quality.d.ts.map +0 -1
- package/server/dist/tools/code_quality.js +0 -98
- package/server/dist/tools/code_quality.js.map +0 -1
- package/server/dist/tools/collaboration.d.ts +0 -7
- package/server/dist/tools/collaboration.d.ts.map +0 -1
- package/server/dist/tools/collaboration.js +0 -73
- package/server/dist/tools/collaboration.js.map +0 -1
- package/server/dist/tools/documentation_tools.d.ts +0 -7
- package/server/dist/tools/documentation_tools.d.ts.map +0 -1
- package/server/dist/tools/documentation_tools.js +0 -89
- package/server/dist/tools/documentation_tools.js.map +0 -1
- package/server/dist/tools/game_template.d.ts +0 -7
- package/server/dist/tools/game_template.d.ts.map +0 -1
- package/server/dist/tools/game_template.js +0 -112
- package/server/dist/tools/game_template.js.map +0 -1
- package/server/dist/tools/git_integration.d.ts +0 -7
- package/server/dist/tools/git_integration.d.ts.map +0 -1
- package/server/dist/tools/git_integration.js +0 -75
- package/server/dist/tools/git_integration.js.map +0 -1
- package/server/dist/tools/headless_testing.d.ts +0 -7
- package/server/dist/tools/headless_testing.d.ts.map +0 -1
- package/server/dist/tools/headless_testing.js +0 -65
- package/server/dist/tools/headless_testing.js.map +0 -1
- package/server/dist/tools/iap_monetization.d.ts +0 -7
- package/server/dist/tools/iap_monetization.d.ts.map +0 -1
- package/server/dist/tools/iap_monetization.js +0 -70
- package/server/dist/tools/iap_monetization.js.map +0 -1
- package/server/dist/tools/localization.d.ts +0 -7
- package/server/dist/tools/localization.d.ts.map +0 -1
- package/server/dist/tools/localization.js +0 -97
- package/server/dist/tools/localization.js.map +0 -1
- package/server/dist/tools/marketing.d.ts +0 -7
- package/server/dist/tools/marketing.d.ts.map +0 -1
- package/server/dist/tools/marketing.js +0 -87
- package/server/dist/tools/marketing.js.map +0 -1
- package/server/dist/tools/mod_support.d.ts +0 -7
- package/server/dist/tools/mod_support.d.ts.map +0 -1
- package/server/dist/tools/mod_support.js +0 -93
- package/server/dist/tools/mod_support.js.map +0 -1
- package/server/dist/tools/networking.d.ts +0 -7
- package/server/dist/tools/networking.d.ts.map +0 -1
- package/server/dist/tools/networking.js +0 -94
- package/server/dist/tools/networking.js.map +0 -1
- package/server/dist/tools/performance_optimization.d.ts +0 -7
- package/server/dist/tools/performance_optimization.d.ts.map +0 -1
- package/server/dist/tools/performance_optimization.js +0 -75
- package/server/dist/tools/performance_optimization.js.map +0 -1
- package/server/dist/tools/scene_scaffolding.d.ts +0 -7
- package/server/dist/tools/scene_scaffolding.d.ts.map +0 -1
- package/server/dist/tools/scene_scaffolding.js +0 -110
- package/server/dist/tools/scene_scaffolding.js.map +0 -1
- package/server/dist/tools/script_scaffolding.d.ts +0 -7
- package/server/dist/tools/script_scaffolding.d.ts.map +0 -1
- package/server/dist/tools/script_scaffolding.js +0 -115
- package/server/dist/tools/script_scaffolding.js.map +0 -1
- package/server/dist/tools/security.d.ts +0 -7
- package/server/dist/tools/security.d.ts.map +0 -1
- package/server/dist/tools/security.js +0 -73
- package/server/dist/tools/security.js.map +0 -1
- package/server/dist/tools/version_control_advanced.d.ts +0 -7
- package/server/dist/tools/version_control_advanced.d.ts.map +0 -1
- package/server/dist/tools/version_control_advanced.js +0 -100
- package/server/dist/tools/version_control_advanced.js.map +0 -1
|
@@ -1,97 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloud_services.js","sourceRoot":"","sources":["../../src/tools/cloud_services.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,79 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,98 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code_quality.js","sourceRoot":"","sources":["../../src/tools/code_quality.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,73 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,89 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"documentation_tools.js","sourceRoot":"","sources":["../../src/tools/documentation_tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Game template tools - 8 tools for complete game genre scaffolding
|
|
3
|
-
*/
|
|
4
|
-
import { callGodot } from '../server.js';
|
|
5
|
-
import { z, Name, FilePath } from './shared-types.js';
|
|
6
|
-
export function registerGameTemplateTools(server, bridge) {
|
|
7
|
-
// 1. create_platformer_template
|
|
8
|
-
server.registerTool(
|
|
9
|
-
'create_platformer_template',
|
|
10
|
-
{
|
|
11
|
-
description: 'Create a complete 2D platformer project structure with player, enemies, levels, and UI',
|
|
12
|
-
inputSchema: {
|
|
13
|
-
project_path: FilePath.describe('Path to the Godot project root'),
|
|
14
|
-
name: Name.describe('Game name'),
|
|
15
|
-
features: z.array(z.string()).optional().describe("Additional features to include (e.g. 'double_jump', 'wall_slide', 'dash')"),
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
async (args) => callGodot(bridge, 'game_template/create_platformer', args),
|
|
19
|
-
);
|
|
20
|
-
// 2. create_rpg_template
|
|
21
|
-
server.registerTool(
|
|
22
|
-
'create_rpg_template',
|
|
23
|
-
{
|
|
24
|
-
description: 'Create a complete RPG project structure with player, NPCs, inventory, dialog, and quests',
|
|
25
|
-
inputSchema: {
|
|
26
|
-
project_path: FilePath.describe('Path to the Godot project root'),
|
|
27
|
-
name: Name.describe('Game name'),
|
|
28
|
-
features: z.array(z.string()).optional().describe("Additional features (e.g. 'turn_based', 'real_time_combat', 'crafting')"),
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
async (args) => callGodot(bridge, 'game_template/create_rpg', args),
|
|
32
|
-
);
|
|
33
|
-
// 3. create_fps_template
|
|
34
|
-
server.registerTool(
|
|
35
|
-
'create_fps_template',
|
|
36
|
-
{
|
|
37
|
-
description: 'Create a complete FPS project structure with player controller, weapons, enemies, and HUD',
|
|
38
|
-
inputSchema: {
|
|
39
|
-
project_path: FilePath.describe('Path to the Godot project root'),
|
|
40
|
-
name: Name.describe('Game name'),
|
|
41
|
-
features: z.array(z.string()).optional().describe("Additional features (e.g. 'sprint', 'crouch', 'inventory')"),
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
async (args) => callGodot(bridge, 'game_template/create_fps', args),
|
|
45
|
-
);
|
|
46
|
-
// 4. create_puzzle_template
|
|
47
|
-
server.registerTool(
|
|
48
|
-
'create_puzzle_template',
|
|
49
|
-
{
|
|
50
|
-
description: 'Create a complete puzzle game project structure with grid system, piece management, and scoring',
|
|
51
|
-
inputSchema: {
|
|
52
|
-
project_path: FilePath.describe('Path to the Godot project root'),
|
|
53
|
-
name: Name.describe('Game name'),
|
|
54
|
-
features: z.array(z.string()).optional().describe("Additional features (e.g. 'match3', 'physics_puzzle', 'tile_swap')"),
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
async (args) => callGodot(bridge, 'game_template/create_puzzle', args),
|
|
58
|
-
);
|
|
59
|
-
// 5. create_racing_template
|
|
60
|
-
server.registerTool(
|
|
61
|
-
'create_racing_template',
|
|
62
|
-
{
|
|
63
|
-
description: 'Create a complete racing game project structure with vehicle physics, track, and lap system',
|
|
64
|
-
inputSchema: {
|
|
65
|
-
project_path: FilePath.describe('Path to the Godot project root'),
|
|
66
|
-
name: Name.describe('Game name'),
|
|
67
|
-
features: z.array(z.string()).optional().describe("Additional features (e.g. 'drift', 'boost', 'ai_opponents')"),
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
async (args) => callGodot(bridge, 'game_template/create_racing', args),
|
|
71
|
-
);
|
|
72
|
-
// 6. create_strategy_template
|
|
73
|
-
server.registerTool(
|
|
74
|
-
'create_strategy_template',
|
|
75
|
-
{
|
|
76
|
-
description: 'Create a complete strategy game project structure with grid, units, resources, and turns',
|
|
77
|
-
inputSchema: {
|
|
78
|
-
project_path: FilePath.describe('Path to the Godot project root'),
|
|
79
|
-
name: Name.describe('Game name'),
|
|
80
|
-
features: z.array(z.string()).optional().describe("Additional features (e.g. 'fog_of_war', 'tech_tree', 'diplomacy')"),
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
async (args) => callGodot(bridge, 'game_template/create_strategy', args),
|
|
84
|
-
);
|
|
85
|
-
// 7. create_visual_novel_template
|
|
86
|
-
server.registerTool(
|
|
87
|
-
'create_visual_novel_template',
|
|
88
|
-
{
|
|
89
|
-
description: 'Create a complete visual novel project structure with dialog system, character portraits, and branching',
|
|
90
|
-
inputSchema: {
|
|
91
|
-
project_path: FilePath.describe('Path to the Godot project root'),
|
|
92
|
-
name: Name.describe('Game name'),
|
|
93
|
-
features: z.array(z.string()).optional().describe("Additional features (e.g. 'save_system', 'gallery', 'achievements')"),
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
async (args) => callGodot(bridge, 'game_template/create_visual_novel', args),
|
|
97
|
-
);
|
|
98
|
-
// 8. create_custom_template
|
|
99
|
-
server.registerTool(
|
|
100
|
-
'create_custom_template',
|
|
101
|
-
{
|
|
102
|
-
description: 'Create a custom game project structure by selecting specific components to include',
|
|
103
|
-
inputSchema: {
|
|
104
|
-
project_path: FilePath.describe('Path to the Godot project root'),
|
|
105
|
-
name: Name.describe('Game name'),
|
|
106
|
-
components: z.array(z.enum(['player', 'enemies', 'ui', 'levels', 'save', 'audio', 'physics'])).describe('Components to include'),
|
|
107
|
-
},
|
|
108
|
-
},
|
|
109
|
-
async (args) => callGodot(bridge, 'game_template/create_custom', args),
|
|
110
|
-
);
|
|
111
|
-
}
|
|
112
|
-
//# sourceMappingURL=game_template.js.map
|