unreal-engine-mcp-server 0.4.0 → 0.4.4

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 (135) hide show
  1. package/.env.production +1 -1
  2. package/.github/copilot-instructions.md +45 -0
  3. package/.github/workflows/publish-mcp.yml +3 -2
  4. package/README.md +21 -5
  5. package/dist/index.js +124 -31
  6. package/dist/prompts/index.d.ts +10 -3
  7. package/dist/prompts/index.js +186 -7
  8. package/dist/resources/actors.d.ts +19 -1
  9. package/dist/resources/actors.js +55 -64
  10. package/dist/resources/assets.js +46 -62
  11. package/dist/resources/levels.d.ts +21 -3
  12. package/dist/resources/levels.js +29 -54
  13. package/dist/tools/actors.d.ts +3 -14
  14. package/dist/tools/actors.js +246 -302
  15. package/dist/tools/animation.d.ts +57 -102
  16. package/dist/tools/animation.js +429 -450
  17. package/dist/tools/assets.d.ts +13 -2
  18. package/dist/tools/assets.js +52 -44
  19. package/dist/tools/audio.d.ts +22 -13
  20. package/dist/tools/audio.js +467 -121
  21. package/dist/tools/blueprint.d.ts +32 -13
  22. package/dist/tools/blueprint.js +699 -448
  23. package/dist/tools/build_environment_advanced.d.ts +0 -1
  24. package/dist/tools/build_environment_advanced.js +190 -45
  25. package/dist/tools/consolidated-tool-definitions.js +78 -252
  26. package/dist/tools/consolidated-tool-handlers.js +506 -133
  27. package/dist/tools/debug.d.ts +72 -10
  28. package/dist/tools/debug.js +167 -31
  29. package/dist/tools/editor.d.ts +9 -2
  30. package/dist/tools/editor.js +30 -44
  31. package/dist/tools/foliage.d.ts +34 -15
  32. package/dist/tools/foliage.js +97 -107
  33. package/dist/tools/introspection.js +19 -21
  34. package/dist/tools/landscape.d.ts +1 -2
  35. package/dist/tools/landscape.js +311 -168
  36. package/dist/tools/level.d.ts +3 -28
  37. package/dist/tools/level.js +642 -192
  38. package/dist/tools/lighting.d.ts +14 -3
  39. package/dist/tools/lighting.js +236 -123
  40. package/dist/tools/materials.d.ts +25 -7
  41. package/dist/tools/materials.js +102 -79
  42. package/dist/tools/niagara.d.ts +10 -12
  43. package/dist/tools/niagara.js +74 -94
  44. package/dist/tools/performance.d.ts +12 -4
  45. package/dist/tools/performance.js +38 -79
  46. package/dist/tools/physics.d.ts +34 -10
  47. package/dist/tools/physics.js +364 -292
  48. package/dist/tools/rc.js +97 -23
  49. package/dist/tools/sequence.d.ts +1 -0
  50. package/dist/tools/sequence.js +125 -22
  51. package/dist/tools/ui.d.ts +31 -4
  52. package/dist/tools/ui.js +83 -66
  53. package/dist/tools/visual.d.ts +11 -0
  54. package/dist/tools/visual.js +245 -30
  55. package/dist/types/tool-types.d.ts +0 -6
  56. package/dist/types/tool-types.js +1 -8
  57. package/dist/unreal-bridge.d.ts +32 -2
  58. package/dist/unreal-bridge.js +621 -127
  59. package/dist/utils/elicitation.d.ts +57 -0
  60. package/dist/utils/elicitation.js +104 -0
  61. package/dist/utils/error-handler.d.ts +0 -33
  62. package/dist/utils/error-handler.js +4 -111
  63. package/dist/utils/http.d.ts +2 -22
  64. package/dist/utils/http.js +12 -75
  65. package/dist/utils/normalize.d.ts +4 -4
  66. package/dist/utils/normalize.js +15 -7
  67. package/dist/utils/python-output.d.ts +18 -0
  68. package/dist/utils/python-output.js +290 -0
  69. package/dist/utils/python.d.ts +2 -0
  70. package/dist/utils/python.js +4 -0
  71. package/dist/utils/response-validator.js +28 -2
  72. package/dist/utils/result-helpers.d.ts +27 -0
  73. package/dist/utils/result-helpers.js +147 -0
  74. package/dist/utils/safe-json.d.ts +0 -2
  75. package/dist/utils/safe-json.js +0 -43
  76. package/dist/utils/validation.d.ts +16 -0
  77. package/dist/utils/validation.js +70 -7
  78. package/mcp-config-example.json +2 -2
  79. package/package.json +10 -9
  80. package/server.json +37 -14
  81. package/src/index.ts +130 -33
  82. package/src/prompts/index.ts +211 -13
  83. package/src/resources/actors.ts +59 -44
  84. package/src/resources/assets.ts +48 -51
  85. package/src/resources/levels.ts +35 -45
  86. package/src/tools/actors.ts +269 -313
  87. package/src/tools/animation.ts +556 -539
  88. package/src/tools/assets.ts +53 -43
  89. package/src/tools/audio.ts +507 -113
  90. package/src/tools/blueprint.ts +778 -462
  91. package/src/tools/build_environment_advanced.ts +266 -64
  92. package/src/tools/consolidated-tool-definitions.ts +90 -264
  93. package/src/tools/consolidated-tool-handlers.ts +630 -121
  94. package/src/tools/debug.ts +176 -33
  95. package/src/tools/editor.ts +35 -37
  96. package/src/tools/foliage.ts +110 -104
  97. package/src/tools/introspection.ts +24 -22
  98. package/src/tools/landscape.ts +334 -181
  99. package/src/tools/level.ts +683 -182
  100. package/src/tools/lighting.ts +244 -123
  101. package/src/tools/materials.ts +114 -83
  102. package/src/tools/niagara.ts +87 -81
  103. package/src/tools/performance.ts +49 -88
  104. package/src/tools/physics.ts +393 -299
  105. package/src/tools/rc.ts +102 -24
  106. package/src/tools/sequence.ts +136 -28
  107. package/src/tools/ui.ts +101 -70
  108. package/src/tools/visual.ts +250 -29
  109. package/src/types/tool-types.ts +0 -9
  110. package/src/unreal-bridge.ts +658 -140
  111. package/src/utils/elicitation.ts +129 -0
  112. package/src/utils/error-handler.ts +4 -159
  113. package/src/utils/http.ts +16 -115
  114. package/src/utils/normalize.ts +20 -10
  115. package/src/utils/python-output.ts +351 -0
  116. package/src/utils/python.ts +3 -0
  117. package/src/utils/response-validator.ts +25 -2
  118. package/src/utils/result-helpers.ts +193 -0
  119. package/src/utils/safe-json.ts +0 -50
  120. package/src/utils/validation.ts +94 -7
  121. package/tests/run-unreal-tool-tests.mjs +720 -0
  122. package/tsconfig.json +2 -2
  123. package/dist/python-utils.d.ts +0 -29
  124. package/dist/python-utils.js +0 -54
  125. package/dist/types/index.d.ts +0 -323
  126. package/dist/types/index.js +0 -28
  127. package/dist/utils/cache-manager.d.ts +0 -64
  128. package/dist/utils/cache-manager.js +0 -176
  129. package/dist/utils/errors.d.ts +0 -133
  130. package/dist/utils/errors.js +0 -256
  131. package/src/python/editor_compat.py +0 -181
  132. package/src/python-utils.ts +0 -57
  133. package/src/types/index.ts +0 -414
  134. package/src/utils/cache-manager.ts +0 -213
  135. package/src/utils/errors.ts +0 -312
@@ -1,33 +1,51 @@
1
1
  import { UnrealBridge } from '../unreal-bridge.js';
2
+ type CreateAnimationBlueprintSuccess = {
3
+ success: true;
4
+ message: string;
5
+ path: string;
6
+ exists?: boolean;
7
+ skeleton?: string;
8
+ warnings?: string[];
9
+ details?: string[];
10
+ };
11
+ type CreateAnimationBlueprintFailure = {
12
+ success: false;
13
+ message: string;
14
+ error: string;
15
+ path?: string;
16
+ exists?: boolean;
17
+ skeleton?: string;
18
+ warnings?: string[];
19
+ details?: string[];
20
+ };
21
+ type PlayAnimationSuccess = {
22
+ success: true;
23
+ message: string;
24
+ warnings?: string[];
25
+ details?: string[];
26
+ actorName?: string;
27
+ animationType?: string;
28
+ assetPath?: string;
29
+ };
30
+ type PlayAnimationFailure = {
31
+ success: false;
32
+ message: string;
33
+ error: string;
34
+ warnings?: string[];
35
+ details?: string[];
36
+ availableActors?: string[];
37
+ actorName?: string;
38
+ animationType?: string;
39
+ assetPath?: string;
40
+ };
2
41
  export declare class AnimationTools {
3
42
  private bridge;
4
43
  constructor(bridge: UnrealBridge);
5
- /**
6
- * Create Animation Blueprint
7
- */
8
44
  createAnimationBlueprint(params: {
9
45
  name: string;
10
46
  skeletonPath: string;
11
47
  savePath?: string;
12
- }): Promise<{
13
- success: boolean;
14
- message: string;
15
- error: string | undefined;
16
- path?: undefined;
17
- } | {
18
- success: boolean;
19
- message: string;
20
- path: string;
21
- error?: undefined;
22
- } | {
23
- success: boolean;
24
- error: string;
25
- message?: undefined;
26
- path?: undefined;
27
- }>;
28
- /**
29
- * Add State Machine to Animation Blueprint
30
- */
48
+ }): Promise<CreateAnimationBlueprintSuccess | CreateAnimationBlueprintFailure>;
31
49
  addStateMachine(params: {
32
50
  blueprintPath: string;
33
51
  machineName: string;
@@ -43,49 +61,17 @@ export declare class AnimationTools {
43
61
  condition?: string;
44
62
  }>;
45
63
  }): Promise<{
46
- success: boolean;
64
+ success: true;
47
65
  message: string;
48
- error?: undefined;
49
66
  } | {
50
- success: boolean;
67
+ success: false;
51
68
  error: string;
52
- message?: undefined;
53
69
  }>;
54
- /**
55
- * Create Animation Montage
56
- */
57
- createMontage(params: {
58
- name: string;
59
- animationSequence: string;
60
- savePath?: string;
61
- sections?: Array<{
62
- name: string;
63
- startTime: number;
64
- endTime: number;
65
- }>;
66
- notifies?: Array<{
67
- name: string;
68
- time: number;
69
- }>;
70
- }): Promise<{
71
- success: boolean;
72
- message: string;
73
- path: string;
74
- error?: undefined;
75
- } | {
76
- success: boolean;
77
- error: string;
78
- message?: undefined;
79
- path?: undefined;
80
- }>;
81
- /**
82
- * Create Blend Space
83
- */
84
70
  createBlendSpace(params: {
85
71
  name: string;
86
- skeletonPath: string;
87
72
  savePath?: string;
88
- dimensions: 1 | 2;
73
+ dimensions?: 1 | 2;
74
+ skeletonPath?: string;
89
75
  horizontalAxis?: {
90
76
  name: string;
91
77
  minValue: number;
@@ -102,19 +88,13 @@ export declare class AnimationTools {
102
88
  y?: number;
103
89
  }>;
104
90
  }): Promise<{
105
- success: boolean;
91
+ success: true;
106
92
  message: string;
107
93
  path: string;
108
- error?: undefined;
109
94
  } | {
110
- success: boolean;
95
+ success: false;
111
96
  error: string;
112
- message?: undefined;
113
- path?: undefined;
114
97
  }>;
115
- /**
116
- * Setup Control Rig
117
- */
118
98
  setupControlRig(params: {
119
99
  name: string;
120
100
  skeletonPath: string;
@@ -123,27 +103,16 @@ export declare class AnimationTools {
123
103
  name: string;
124
104
  type: 'Transform' | 'Float' | 'Bool' | 'Vector';
125
105
  bone?: string;
126
- defaultValue?: any;
106
+ defaultValue?: unknown;
127
107
  }>;
128
108
  }): Promise<{
129
- success: boolean;
130
- message: string;
131
- error: string;
132
- path?: undefined;
133
- } | {
134
- success: boolean;
109
+ success: true;
135
110
  message: string;
136
111
  path: string;
137
- error?: undefined;
138
112
  } | {
139
- success: boolean;
113
+ success: false;
140
114
  error: string;
141
- message?: undefined;
142
- path?: undefined;
143
115
  }>;
144
- /**
145
- * Create Level Sequence (for cinematics)
146
- */
147
116
  createLevelSequence(params: {
148
117
  name: string;
149
118
  savePath?: string;
@@ -154,23 +123,17 @@ export declare class AnimationTools {
154
123
  trackType: 'Transform' | 'Animation' | 'Camera' | 'Event';
155
124
  keyframes?: Array<{
156
125
  time: number;
157
- value: any;
126
+ value: unknown;
158
127
  }>;
159
128
  }>;
160
129
  }): Promise<{
161
- success: boolean;
130
+ success: true;
162
131
  message: string;
163
132
  path: string;
164
- error?: undefined;
165
133
  } | {
166
- success: boolean;
134
+ success: false;
167
135
  error: string;
168
- message?: undefined;
169
- path?: undefined;
170
136
  }>;
171
- /**
172
- * Play Animation on Actor
173
- */
174
137
  playAnimation(params: {
175
138
  actorName: string;
176
139
  animationType: 'Montage' | 'Sequence' | 'BlendSpace';
@@ -179,18 +142,10 @@ export declare class AnimationTools {
179
142
  loop?: boolean;
180
143
  blendInTime?: number;
181
144
  blendOutTime?: number;
182
- }): Promise<{
183
- success: boolean;
184
- message: any;
185
- error?: undefined;
186
- } | {
187
- success: boolean;
188
- error: any;
189
- message?: undefined;
190
- }>;
191
- /**
192
- * Helper function to execute console commands
193
- */
194
- private _executeCommand;
145
+ }): Promise<PlayAnimationSuccess | PlayAnimationFailure>;
146
+ private buildCreateAnimationBlueprintScript;
147
+ private parseAnimationBlueprintResponse;
148
+ private buildPlayAnimationScript;
195
149
  }
150
+ export {};
196
151
  //# sourceMappingURL=animation.d.ts.map