ue-mcp 0.7.4 → 0.7.7

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 (31) hide show
  1. package/dist/flow/anthropic-provider.d.ts +15 -0
  2. package/dist/flow/anthropic-provider.js +71 -0
  3. package/dist/flow/anthropic-provider.js.map +1 -0
  4. package/dist/flow/bridge-task.d.ts +4 -0
  5. package/dist/flow/bridge-task.js +23 -7
  6. package/dist/flow/bridge-task.js.map +1 -1
  7. package/dist/flow/context.d.ts +3 -1
  8. package/dist/flow/flow-tool.js +46 -6
  9. package/dist/flow/flow-tool.js.map +1 -1
  10. package/dist/flow/loader.d.ts +1 -1
  11. package/dist/flow/loader.js +5 -3
  12. package/dist/flow/loader.js.map +1 -1
  13. package/dist/flow/schema.d.ts +314 -0
  14. package/dist/index.js +2 -7
  15. package/dist/index.js.map +1 -1
  16. package/package.json +3 -2
  17. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/HandlerUtils.h +69 -0
  18. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers.cpp +32 -25
  19. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AssetHandlers.cpp +218 -8
  20. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AudioHandlers.cpp +69 -13
  21. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/BlueprintHandlers.cpp +157 -41
  22. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/FoliageHandlers.cpp +8 -2
  23. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers.cpp +106 -31
  24. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GasHandlers.cpp +41 -41
  25. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/LevelHandlers.cpp +250 -36
  26. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/MaterialHandlers.cpp +40 -4
  27. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/NiagaraHandlers.cpp +36 -13
  28. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PCGHandlers.cpp +32 -6
  29. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/SequencerHandlers.cpp +8 -5
  30. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/SplineHandlers.cpp +29 -5
  31. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/WidgetHandlers.cpp +23 -13
@@ -22,16 +22,22 @@ export declare const FlowConfigSchema: z.ZodObject<{
22
22
  description: z.ZodOptional<z.ZodString>;
23
23
  group: z.ZodOptional<z.ZodString>;
24
24
  options: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
25
+ idempotent: z.ZodOptional<z.ZodBoolean>;
26
+ reversible: z.ZodOptional<z.ZodBoolean>;
25
27
  }, "strip", z.ZodTypeAny, {
26
28
  options: Record<string, unknown>;
27
29
  class_path: string;
28
30
  description?: string | undefined;
29
31
  group?: string | undefined;
32
+ idempotent?: boolean | undefined;
33
+ reversible?: boolean | undefined;
30
34
  }, {
31
35
  class_path: string;
32
36
  options?: Record<string, unknown> | undefined;
33
37
  description?: string | undefined;
34
38
  group?: string | undefined;
39
+ idempotent?: boolean | undefined;
40
+ reversible?: boolean | undefined;
35
41
  }>>>;
36
42
  flows: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
37
43
  description: z.ZodString;
@@ -39,37 +45,269 @@ export declare const FlowConfigSchema: z.ZodObject<{
39
45
  task: z.ZodOptional<z.ZodString>;
40
46
  flow: z.ZodOptional<z.ZodString>;
41
47
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
48
+ retries: z.ZodOptional<z.ZodNumber>;
49
+ retryDelay: z.ZodOptional<z.ZodNumber>;
50
+ retryOn: z.ZodOptional<z.ZodString>;
42
51
  }, "strip", z.ZodTypeAny, {
43
52
  options?: Record<string, unknown> | undefined;
44
53
  task?: string | undefined;
45
54
  flow?: string | undefined;
55
+ retries?: number | undefined;
56
+ retryDelay?: number | undefined;
57
+ retryOn?: string | undefined;
46
58
  }, {
47
59
  options?: Record<string, unknown> | undefined;
48
60
  task?: string | undefined;
49
61
  flow?: string | undefined;
62
+ retries?: number | undefined;
63
+ retryDelay?: number | undefined;
64
+ retryOn?: string | undefined;
50
65
  }>, {
51
66
  options?: Record<string, unknown> | undefined;
52
67
  task?: string | undefined;
53
68
  flow?: string | undefined;
69
+ retries?: number | undefined;
70
+ retryDelay?: number | undefined;
71
+ retryOn?: string | undefined;
54
72
  }, {
55
73
  options?: Record<string, unknown> | undefined;
56
74
  task?: string | undefined;
57
75
  flow?: string | undefined;
76
+ retries?: number | undefined;
77
+ retryDelay?: number | undefined;
78
+ retryOn?: string | undefined;
58
79
  }>>;
80
+ on_start: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
81
+ task: z.ZodOptional<z.ZodString>;
82
+ flow: z.ZodOptional<z.ZodString>;
83
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
84
+ retries: z.ZodOptional<z.ZodNumber>;
85
+ retryDelay: z.ZodOptional<z.ZodNumber>;
86
+ retryOn: z.ZodOptional<z.ZodString>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ options?: Record<string, unknown> | undefined;
89
+ task?: string | undefined;
90
+ flow?: string | undefined;
91
+ retries?: number | undefined;
92
+ retryDelay?: number | undefined;
93
+ retryOn?: string | undefined;
94
+ }, {
95
+ options?: Record<string, unknown> | undefined;
96
+ task?: string | undefined;
97
+ flow?: string | undefined;
98
+ retries?: number | undefined;
99
+ retryDelay?: number | undefined;
100
+ retryOn?: string | undefined;
101
+ }>, {
102
+ options?: Record<string, unknown> | undefined;
103
+ task?: string | undefined;
104
+ flow?: string | undefined;
105
+ retries?: number | undefined;
106
+ retryDelay?: number | undefined;
107
+ retryOn?: string | undefined;
108
+ }, {
109
+ options?: Record<string, unknown> | undefined;
110
+ task?: string | undefined;
111
+ flow?: string | undefined;
112
+ retries?: number | undefined;
113
+ retryDelay?: number | undefined;
114
+ retryOn?: string | undefined;
115
+ }>, "many">>;
116
+ on_success: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
117
+ task: z.ZodOptional<z.ZodString>;
118
+ flow: z.ZodOptional<z.ZodString>;
119
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
120
+ retries: z.ZodOptional<z.ZodNumber>;
121
+ retryDelay: z.ZodOptional<z.ZodNumber>;
122
+ retryOn: z.ZodOptional<z.ZodString>;
123
+ }, "strip", z.ZodTypeAny, {
124
+ options?: Record<string, unknown> | undefined;
125
+ task?: string | undefined;
126
+ flow?: string | undefined;
127
+ retries?: number | undefined;
128
+ retryDelay?: number | undefined;
129
+ retryOn?: string | undefined;
130
+ }, {
131
+ options?: Record<string, unknown> | undefined;
132
+ task?: string | undefined;
133
+ flow?: string | undefined;
134
+ retries?: number | undefined;
135
+ retryDelay?: number | undefined;
136
+ retryOn?: string | undefined;
137
+ }>, {
138
+ options?: Record<string, unknown> | undefined;
139
+ task?: string | undefined;
140
+ flow?: string | undefined;
141
+ retries?: number | undefined;
142
+ retryDelay?: number | undefined;
143
+ retryOn?: string | undefined;
144
+ }, {
145
+ options?: Record<string, unknown> | undefined;
146
+ task?: string | undefined;
147
+ flow?: string | undefined;
148
+ retries?: number | undefined;
149
+ retryDelay?: number | undefined;
150
+ retryOn?: string | undefined;
151
+ }>, "many">>;
152
+ on_failure: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
153
+ task: z.ZodOptional<z.ZodString>;
154
+ flow: z.ZodOptional<z.ZodString>;
155
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
156
+ retries: z.ZodOptional<z.ZodNumber>;
157
+ retryDelay: z.ZodOptional<z.ZodNumber>;
158
+ retryOn: z.ZodOptional<z.ZodString>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ options?: Record<string, unknown> | undefined;
161
+ task?: string | undefined;
162
+ flow?: string | undefined;
163
+ retries?: number | undefined;
164
+ retryDelay?: number | undefined;
165
+ retryOn?: string | undefined;
166
+ }, {
167
+ options?: Record<string, unknown> | undefined;
168
+ task?: string | undefined;
169
+ flow?: string | undefined;
170
+ retries?: number | undefined;
171
+ retryDelay?: number | undefined;
172
+ retryOn?: string | undefined;
173
+ }>, {
174
+ options?: Record<string, unknown> | undefined;
175
+ task?: string | undefined;
176
+ flow?: string | undefined;
177
+ retries?: number | undefined;
178
+ retryDelay?: number | undefined;
179
+ retryOn?: string | undefined;
180
+ }, {
181
+ options?: Record<string, unknown> | undefined;
182
+ task?: string | undefined;
183
+ flow?: string | undefined;
184
+ retries?: number | undefined;
185
+ retryDelay?: number | undefined;
186
+ retryOn?: string | undefined;
187
+ }>, "many">>;
188
+ finally: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
189
+ task: z.ZodOptional<z.ZodString>;
190
+ flow: z.ZodOptional<z.ZodString>;
191
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
192
+ retries: z.ZodOptional<z.ZodNumber>;
193
+ retryDelay: z.ZodOptional<z.ZodNumber>;
194
+ retryOn: z.ZodOptional<z.ZodString>;
195
+ }, "strip", z.ZodTypeAny, {
196
+ options?: Record<string, unknown> | undefined;
197
+ task?: string | undefined;
198
+ flow?: string | undefined;
199
+ retries?: number | undefined;
200
+ retryDelay?: number | undefined;
201
+ retryOn?: string | undefined;
202
+ }, {
203
+ options?: Record<string, unknown> | undefined;
204
+ task?: string | undefined;
205
+ flow?: string | undefined;
206
+ retries?: number | undefined;
207
+ retryDelay?: number | undefined;
208
+ retryOn?: string | undefined;
209
+ }>, {
210
+ options?: Record<string, unknown> | undefined;
211
+ task?: string | undefined;
212
+ flow?: string | undefined;
213
+ retries?: number | undefined;
214
+ retryDelay?: number | undefined;
215
+ retryOn?: string | undefined;
216
+ }, {
217
+ options?: Record<string, unknown> | undefined;
218
+ task?: string | undefined;
219
+ flow?: string | undefined;
220
+ retries?: number | undefined;
221
+ retryDelay?: number | undefined;
222
+ retryOn?: string | undefined;
223
+ }>, "many">>;
224
+ rollback_on_failure: z.ZodOptional<z.ZodBoolean>;
59
225
  }, "strip", z.ZodTypeAny, {
60
226
  description: string;
61
227
  steps: Record<string, {
62
228
  options?: Record<string, unknown> | undefined;
63
229
  task?: string | undefined;
64
230
  flow?: string | undefined;
231
+ retries?: number | undefined;
232
+ retryDelay?: number | undefined;
233
+ retryOn?: string | undefined;
65
234
  }>;
235
+ on_start?: {
236
+ options?: Record<string, unknown> | undefined;
237
+ task?: string | undefined;
238
+ flow?: string | undefined;
239
+ retries?: number | undefined;
240
+ retryDelay?: number | undefined;
241
+ retryOn?: string | undefined;
242
+ }[] | undefined;
243
+ on_success?: {
244
+ options?: Record<string, unknown> | undefined;
245
+ task?: string | undefined;
246
+ flow?: string | undefined;
247
+ retries?: number | undefined;
248
+ retryDelay?: number | undefined;
249
+ retryOn?: string | undefined;
250
+ }[] | undefined;
251
+ on_failure?: {
252
+ options?: Record<string, unknown> | undefined;
253
+ task?: string | undefined;
254
+ flow?: string | undefined;
255
+ retries?: number | undefined;
256
+ retryDelay?: number | undefined;
257
+ retryOn?: string | undefined;
258
+ }[] | undefined;
259
+ finally?: {
260
+ options?: Record<string, unknown> | undefined;
261
+ task?: string | undefined;
262
+ flow?: string | undefined;
263
+ retries?: number | undefined;
264
+ retryDelay?: number | undefined;
265
+ retryOn?: string | undefined;
266
+ }[] | undefined;
267
+ rollback_on_failure?: boolean | undefined;
66
268
  }, {
67
269
  description: string;
68
270
  steps: Record<string, {
69
271
  options?: Record<string, unknown> | undefined;
70
272
  task?: string | undefined;
71
273
  flow?: string | undefined;
274
+ retries?: number | undefined;
275
+ retryDelay?: number | undefined;
276
+ retryOn?: string | undefined;
72
277
  }>;
278
+ on_start?: {
279
+ options?: Record<string, unknown> | undefined;
280
+ task?: string | undefined;
281
+ flow?: string | undefined;
282
+ retries?: number | undefined;
283
+ retryDelay?: number | undefined;
284
+ retryOn?: string | undefined;
285
+ }[] | undefined;
286
+ on_success?: {
287
+ options?: Record<string, unknown> | undefined;
288
+ task?: string | undefined;
289
+ flow?: string | undefined;
290
+ retries?: number | undefined;
291
+ retryDelay?: number | undefined;
292
+ retryOn?: string | undefined;
293
+ }[] | undefined;
294
+ on_failure?: {
295
+ options?: Record<string, unknown> | undefined;
296
+ task?: string | undefined;
297
+ flow?: string | undefined;
298
+ retries?: number | undefined;
299
+ retryDelay?: number | undefined;
300
+ retryOn?: string | undefined;
301
+ }[] | undefined;
302
+ finally?: {
303
+ options?: Record<string, unknown> | undefined;
304
+ task?: string | undefined;
305
+ flow?: string | undefined;
306
+ retries?: number | undefined;
307
+ retryDelay?: number | undefined;
308
+ retryOn?: string | undefined;
309
+ }[] | undefined;
310
+ rollback_on_failure?: boolean | undefined;
73
311
  }>>>;
74
312
  } & {
75
313
  "ue-mcp": z.ZodOptional<z.ZodObject<{
@@ -95,6 +333,8 @@ export declare const FlowConfigSchema: z.ZodObject<{
95
333
  class_path: string;
96
334
  description?: string | undefined;
97
335
  group?: string | undefined;
336
+ idempotent?: boolean | undefined;
337
+ reversible?: boolean | undefined;
98
338
  }>;
99
339
  flows: Record<string, {
100
340
  description: string;
@@ -102,7 +342,43 @@ export declare const FlowConfigSchema: z.ZodObject<{
102
342
  options?: Record<string, unknown> | undefined;
103
343
  task?: string | undefined;
104
344
  flow?: string | undefined;
345
+ retries?: number | undefined;
346
+ retryDelay?: number | undefined;
347
+ retryOn?: string | undefined;
105
348
  }>;
349
+ on_start?: {
350
+ options?: Record<string, unknown> | undefined;
351
+ task?: string | undefined;
352
+ flow?: string | undefined;
353
+ retries?: number | undefined;
354
+ retryDelay?: number | undefined;
355
+ retryOn?: string | undefined;
356
+ }[] | undefined;
357
+ on_success?: {
358
+ options?: Record<string, unknown> | undefined;
359
+ task?: string | undefined;
360
+ flow?: string | undefined;
361
+ retries?: number | undefined;
362
+ retryDelay?: number | undefined;
363
+ retryOn?: string | undefined;
364
+ }[] | undefined;
365
+ on_failure?: {
366
+ options?: Record<string, unknown> | undefined;
367
+ task?: string | undefined;
368
+ flow?: string | undefined;
369
+ retries?: number | undefined;
370
+ retryDelay?: number | undefined;
371
+ retryOn?: string | undefined;
372
+ }[] | undefined;
373
+ finally?: {
374
+ options?: Record<string, unknown> | undefined;
375
+ task?: string | undefined;
376
+ flow?: string | undefined;
377
+ retries?: number | undefined;
378
+ retryDelay?: number | undefined;
379
+ retryOn?: string | undefined;
380
+ }[] | undefined;
381
+ rollback_on_failure?: boolean | undefined;
106
382
  }>;
107
383
  "ue-mcp"?: {
108
384
  version: 1;
@@ -124,6 +400,8 @@ export declare const FlowConfigSchema: z.ZodObject<{
124
400
  options?: Record<string, unknown> | undefined;
125
401
  description?: string | undefined;
126
402
  group?: string | undefined;
403
+ idempotent?: boolean | undefined;
404
+ reversible?: boolean | undefined;
127
405
  }> | undefined;
128
406
  flows?: Record<string, {
129
407
  description: string;
@@ -131,7 +409,43 @@ export declare const FlowConfigSchema: z.ZodObject<{
131
409
  options?: Record<string, unknown> | undefined;
132
410
  task?: string | undefined;
133
411
  flow?: string | undefined;
412
+ retries?: number | undefined;
413
+ retryDelay?: number | undefined;
414
+ retryOn?: string | undefined;
134
415
  }>;
416
+ on_start?: {
417
+ options?: Record<string, unknown> | undefined;
418
+ task?: string | undefined;
419
+ flow?: string | undefined;
420
+ retries?: number | undefined;
421
+ retryDelay?: number | undefined;
422
+ retryOn?: string | undefined;
423
+ }[] | undefined;
424
+ on_success?: {
425
+ options?: Record<string, unknown> | undefined;
426
+ task?: string | undefined;
427
+ flow?: string | undefined;
428
+ retries?: number | undefined;
429
+ retryDelay?: number | undefined;
430
+ retryOn?: string | undefined;
431
+ }[] | undefined;
432
+ on_failure?: {
433
+ options?: Record<string, unknown> | undefined;
434
+ task?: string | undefined;
435
+ flow?: string | undefined;
436
+ retries?: number | undefined;
437
+ retryDelay?: number | undefined;
438
+ retryOn?: string | undefined;
439
+ }[] | undefined;
440
+ finally?: {
441
+ options?: Record<string, unknown> | undefined;
442
+ task?: string | undefined;
443
+ flow?: string | undefined;
444
+ retries?: number | undefined;
445
+ retryDelay?: number | undefined;
446
+ retryOn?: string | undefined;
447
+ }[] | undefined;
448
+ rollback_on_failure?: boolean | undefined;
135
449
  }> | undefined;
136
450
  }>;
137
451
  export type FlowConfig = z.infer<typeof FlowConfigSchema>;
package/dist/index.js CHANGED
@@ -126,14 +126,9 @@ async function main() {
126
126
  const configDir = project.projectDir ?? undefined;
127
127
  // Log initial load
128
128
  const initialLoad = loadFlowConfig(ALL_TOOLS, configDir);
129
- if (initialLoad) {
130
- console.error(`[ue-mcp] ue-mcp.yml loaded — ${Object.keys(initialLoad.config.flows).length} flow(s), ${Object.keys(initialLoad.config.tasks).length} custom task(s)`);
131
- }
129
+ console.error(`[ue-mcp] ue-mcp.yml loaded — ${Object.keys(initialLoad.config.flows).length} flow(s), ${Object.keys(initialLoad.config.tasks).length} custom task(s)`);
132
130
  // Config is reloaded on every flow call — edit ue-mcp.yml without restarting
133
- const reloadConfig = () => {
134
- const loaded = loadFlowConfig(ALL_TOOLS, configDir);
135
- return loaded?.config ?? { tasks: {}, flows: {} };
136
- };
131
+ const reloadConfig = () => loadFlowConfig(ALL_TOOLS, configDir).config;
137
132
  const flowTool = createFlowTool(registry, reloadConfig);
138
133
  const flowShape = {};
139
134
  for (const [key, schema] of Object.entries(flowTool.schema)) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ue-mcp",
3
- "version": "0.7.4",
3
+ "version": "0.7.7",
4
4
  "description": "Unreal Engine MCP server — 19 tools, 300+ actions for AI-driven editor control",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -64,7 +64,8 @@
64
64
  "prepublishOnly": "npx tsc && tsx scripts/generate-default-config.ts"
65
65
  },
66
66
  "dependencies": {
67
- "@db-lyon/flowkit": "^0.5.0",
67
+ "@anthropic-ai/sdk": "^0.88.0",
68
+ "@db-lyon/flowkit": "^0.5.2",
68
69
  "@modelcontextprotocol/sdk": "^1.12.1",
69
70
  "ws": "^8.18.0",
70
71
  "zod": "^3.24.0"
@@ -34,6 +34,75 @@ inline TSharedPtr<FJsonObject> MCPSuccess()
34
34
  return Obj;
35
35
  }
36
36
 
37
+ /** Attach a rollback record to a result. The TS bridge lifts this onto
38
+ * TaskResult.rollback so FlowRunner can invoke it on failure. */
39
+ inline void MCPSetRollback(
40
+ TSharedPtr<FJsonObject> Result,
41
+ const FString& InverseMethod,
42
+ TSharedPtr<FJsonObject> Payload)
43
+ {
44
+ TSharedPtr<FJsonObject> Rollback = MakeShared<FJsonObject>();
45
+ Rollback->SetStringField(TEXT("method"), InverseMethod);
46
+ Rollback->SetObjectField(TEXT("payload"), Payload);
47
+ Result->SetObjectField(TEXT("rollback"), Rollback);
48
+ }
49
+
50
+ /** Mark a result as "already existed, nothing created" — idempotent replay. */
51
+ inline void MCPSetExisted(TSharedPtr<FJsonObject> Result)
52
+ {
53
+ Result->SetBoolField(TEXT("existed"), true);
54
+ Result->SetBoolField(TEXT("created"), false);
55
+ }
56
+
57
+ /** Mark a result as "created this time". */
58
+ inline void MCPSetCreated(TSharedPtr<FJsonObject> Result)
59
+ {
60
+ Result->SetBoolField(TEXT("existed"), false);
61
+ Result->SetBoolField(TEXT("created"), true);
62
+ }
63
+
64
+ /** Mark a result as "updated the existing entity". */
65
+ inline void MCPSetUpdated(TSharedPtr<FJsonObject> Result)
66
+ {
67
+ Result->SetBoolField(TEXT("updated"), true);
68
+ }
69
+
70
+ /** Check for an existing asset at `PackagePath/Name`. Returns a fully-formed
71
+ * "already existed" result on hit (caller can return it directly), or an
72
+ * unset pointer on miss so the caller proceeds to create. Also honors an
73
+ * optional `onConflict: "error"` to return an MCPError instead.
74
+ * On miss, returns a null shared pointer (check with `.IsValid()`). */
75
+ inline TSharedPtr<FJsonValue> MCPCheckAssetExists(
76
+ const FString& PackagePath,
77
+ const FString& Name,
78
+ const FString& OnConflict,
79
+ const FString& FriendlyType = TEXT("Asset"))
80
+ {
81
+ const FString ProbePath = PackagePath + TEXT("/") + Name + TEXT(".") + Name;
82
+ if (UObject* Existing = LoadObject<UObject>(nullptr, *ProbePath))
83
+ {
84
+ if (OnConflict == TEXT("error"))
85
+ {
86
+ return MCPError(FString::Printf(TEXT("%s '%s' already exists"), *FriendlyType, *ProbePath));
87
+ }
88
+ auto Res = MCPSuccess();
89
+ MCPSetExisted(Res);
90
+ Res->SetStringField(TEXT("path"), Existing->GetPathName());
91
+ Res->SetStringField(TEXT("name"), Name);
92
+ Res->SetStringField(TEXT("packagePath"), PackagePath);
93
+ return MCPResult(Res);
94
+ }
95
+ return TSharedPtr<FJsonValue>();
96
+ }
97
+
98
+ /** Emit the standard delete_asset rollback record on a create result. */
99
+ inline void MCPSetDeleteAssetRollback(TSharedPtr<FJsonObject> Result, const FString& AssetPath)
100
+ {
101
+ TSharedPtr<FJsonObject> Payload = MakeShared<FJsonObject>();
102
+ Payload->SetStringField(TEXT("assetPath"), AssetPath);
103
+ MCPSetRollback(Result, TEXT("delete_asset"), Payload);
104
+ }
105
+
37
106
  // ── Parameter extraction ─────────────────────────────────────────────────────
38
107
 
39
108
  /** Extract a required string parameter. Returns error JSON on failure, nullptr on success. */