unreal-engine-mcp-server 0.6.0-beta-d → 0.6.0-beta-e
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/CHANGELOG.md +38 -0
- package/README.md +1 -1
- package/dist/gateway/gateway-manifest.generated.json +139 -7
- package/dist/proxy/native-proxy.js +6 -5
- package/dist/tools/catalog/capabilities/generated/canonical-registry.generated.d.ts +2 -2
- package/dist/tools/catalog/capabilities/generated/canonical-registry.generated.js +2 -2
- package/dist/tools/catalog/capabilities/generated/canonical-registry.generated.json +672 -4
- package/dist/tools/catalog/capabilities/generated/capability-cost-index.generated.d.ts +1 -1
- package/dist/tools/catalog/capabilities/generated/capability-cost-index.generated.js +4 -1
- package/dist/tools/catalog/capabilities/generated/parent-tool-definitions.generated.js +203 -7
- package/dist/tools/catalog/capabilities/records/aggregate.d.ts +1 -1
- package/dist/tools/catalog/capabilities/records/aggregate.js +1 -1
- package/dist/tools/catalog/capabilities/records/folds/manage-blueprint.folds.js +1 -1
- package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/authoring-1.data.js +86 -1
- package/package.json +1 -1
- package/server.json +2 -2
|
@@ -56,6 +56,7 @@ export const CAPABILITY_COST_INDEX = {
|
|
|
56
56
|
"animation_physics::edit_anim_graph": "interactive|low",
|
|
57
57
|
"animation_physics::edit_animation": "interactive|low",
|
|
58
58
|
"animation_physics::edit_blend_space": "long-running|medium",
|
|
59
|
+
"animation_physics::edit_control_rig": "interactive|medium",
|
|
59
60
|
"animation_physics::edit_montage": "interactive|low",
|
|
60
61
|
"animation_physics::edit_morph_target": "long-running|high",
|
|
61
62
|
"animation_physics::edit_physics_asset": "interactive|medium",
|
|
@@ -64,6 +65,7 @@ export const CAPABILITY_COST_INDEX = {
|
|
|
64
65
|
"animation_physics::force_rebuild_blend_space": "long-running|medium",
|
|
65
66
|
"animation_physics::get_animation_info": "instant|low",
|
|
66
67
|
"animation_physics::get_bone_transform": "instant|low",
|
|
68
|
+
"animation_physics::get_control_rig": "instant|low",
|
|
67
69
|
"animation_physics::get_physics_asset_info": "instant|low",
|
|
68
70
|
"animation_physics::get_skeleton_info": "instant|low",
|
|
69
71
|
"animation_physics::import_morph_targets": "long-running|high",
|
|
@@ -71,6 +73,7 @@ export const CAPABILITY_COST_INDEX = {
|
|
|
71
73
|
"animation_physics::list_bones": "instant|low",
|
|
72
74
|
"animation_physics::list_morph_targets": "instant|low",
|
|
73
75
|
"animation_physics::list_physics_bodies": "instant|low",
|
|
76
|
+
"animation_physics::list_rig_units": "instant|low",
|
|
74
77
|
"animation_physics::list_sockets": "instant|low",
|
|
75
78
|
"animation_physics::list_virtual_bones": "instant|low",
|
|
76
79
|
"animation_physics::mirror_weights": "long-running|high",
|
|
@@ -1540,5 +1543,5 @@ export const CAPABILITY_COST_INDEX = {
|
|
|
1540
1543
|
"system_control::validate_assets": "interactive|low",
|
|
1541
1544
|
"system_control::write_snapshot": "interactive|medium"
|
|
1542
1545
|
};
|
|
1543
|
-
export const CAPABILITY_COST_INDEX_KEY_COUNT =
|
|
1546
|
+
export const CAPABILITY_COST_INDEX_KEY_COUNT = 1543;
|
|
1544
1547
|
//# sourceMappingURL=capability-cost-index.generated.js.map
|
|
@@ -243,6 +243,17 @@ export const generatedParentToolDefinitions = [
|
|
|
243
243
|
"type": "string",
|
|
244
244
|
"description": "Name of the created physics constraint."
|
|
245
245
|
},
|
|
246
|
+
"controlType": {
|
|
247
|
+
"type": "string",
|
|
248
|
+
"enum": [
|
|
249
|
+
"transform",
|
|
250
|
+
"float",
|
|
251
|
+
"bool",
|
|
252
|
+
"position",
|
|
253
|
+
"rotator"
|
|
254
|
+
],
|
|
255
|
+
"description": "add_control: the value the control drives (default transform)."
|
|
256
|
+
},
|
|
246
257
|
"createConstraints": {
|
|
247
258
|
"type": "boolean",
|
|
248
259
|
"description": "Create joint constraints between bodies."
|
|
@@ -325,6 +336,15 @@ export const generatedParentToolDefinitions = [
|
|
|
325
336
|
"set_axis_settings",
|
|
326
337
|
"set_interpolation_settings",
|
|
327
338
|
"rebuild",
|
|
339
|
+
"add_unit",
|
|
340
|
+
"connect",
|
|
341
|
+
"disconnect",
|
|
342
|
+
"set_pin",
|
|
343
|
+
"remove_node",
|
|
344
|
+
"import_bones",
|
|
345
|
+
"add_null",
|
|
346
|
+
"add_control",
|
|
347
|
+
"remove_element",
|
|
328
348
|
"auto",
|
|
329
349
|
"set",
|
|
330
350
|
"copy",
|
|
@@ -341,7 +361,7 @@ export const generatedParentToolDefinitions = [
|
|
|
341
361
|
"set_deltas",
|
|
342
362
|
"import"
|
|
343
363
|
],
|
|
344
|
-
"description": "
|
|
364
|
+
"description": "The edit to make (each step of steps names its own)."
|
|
345
365
|
},
|
|
346
366
|
"element": {
|
|
347
367
|
"type": "string",
|
|
@@ -388,6 +408,10 @@ export const generatedParentToolDefinitions = [
|
|
|
388
408
|
"type": "number",
|
|
389
409
|
"description": "Frames per second (default 30)."
|
|
390
410
|
},
|
|
411
|
+
"from": {
|
|
412
|
+
"type": "string",
|
|
413
|
+
"description": "connect, disconnect: the output pin, Node.Pin as get_control_rig lists it; execution runs from the event's execute pin to each unit's (ExecutePin in UE 5.8)."
|
|
414
|
+
},
|
|
391
415
|
"fromSection": {
|
|
392
416
|
"type": "string",
|
|
393
417
|
"description": "Source montage section."
|
|
@@ -400,6 +424,10 @@ export const generatedParentToolDefinitions = [
|
|
|
400
424
|
"type": "string",
|
|
401
425
|
"description": "Body primitive: Sphyl, Box, Sphere, TaperedCapsule, MultiConvexHull or SingleConvexHull."
|
|
402
426
|
},
|
|
427
|
+
"global": {
|
|
428
|
+
"type": "boolean",
|
|
429
|
+
"description": "add_bone, add_null: location, rotation and scale are in rig space, not relative to the parent."
|
|
430
|
+
},
|
|
403
431
|
"gridDivisions": {
|
|
404
432
|
"type": "number",
|
|
405
433
|
"description": "Number of grid divisions on the axis."
|
|
@@ -487,6 +515,10 @@ export const generatedParentToolDefinitions = [
|
|
|
487
515
|
"type": "number",
|
|
488
516
|
"description": "Capsule length between the end caps (default 20)."
|
|
489
517
|
},
|
|
518
|
+
"limit": {
|
|
519
|
+
"type": "number",
|
|
520
|
+
"description": "Most units to list (default 50, up to 500); matched counts them all."
|
|
521
|
+
},
|
|
490
522
|
"limits": {
|
|
491
523
|
"type": "object",
|
|
492
524
|
"additionalProperties": false,
|
|
@@ -523,12 +555,26 @@ export const generatedParentToolDefinitions = [
|
|
|
523
555
|
"description": "Linear damping value."
|
|
524
556
|
},
|
|
525
557
|
"location": {
|
|
526
|
-
"
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
558
|
+
"oneOf": [
|
|
559
|
+
{
|
|
560
|
+
"type": "array",
|
|
561
|
+
"items": {
|
|
562
|
+
"type": "number"
|
|
563
|
+
},
|
|
564
|
+
"minItems": 3,
|
|
565
|
+
"maxItems": 3,
|
|
566
|
+
"description": "World or relative location as [x, y, z]."
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"type": "array",
|
|
570
|
+
"items": {
|
|
571
|
+
"type": "number"
|
|
572
|
+
},
|
|
573
|
+
"minItems": 3,
|
|
574
|
+
"maxItems": 3,
|
|
575
|
+
"description": "add_bone, add_null, add_control: location [x, y, z] in cm (a control's offset), relative to the parent unless global."
|
|
576
|
+
}
|
|
577
|
+
],
|
|
532
578
|
"description": "World or relative location as [x, y, z]."
|
|
533
579
|
},
|
|
534
580
|
"lodIndex": {
|
|
@@ -594,6 +640,10 @@ export const generatedParentToolDefinitions = [
|
|
|
594
640
|
"type": "string",
|
|
595
641
|
"description": "Replacement bone name."
|
|
596
642
|
},
|
|
643
|
+
"node": {
|
|
644
|
+
"type": "string",
|
|
645
|
+
"description": "One node's name: only that node, with every struct member pin by its full path."
|
|
646
|
+
},
|
|
597
647
|
"nodeId": {
|
|
598
648
|
"type": "string",
|
|
599
649
|
"description": "The node GUID; an alternative to nodeName."
|
|
@@ -622,6 +672,10 @@ export const generatedParentToolDefinitions = [
|
|
|
622
672
|
"type": "boolean",
|
|
623
673
|
"description": "Overwrite an existing asset with the same name."
|
|
624
674
|
},
|
|
675
|
+
"parent": {
|
|
676
|
+
"type": "string",
|
|
677
|
+
"description": "add_bone, add_null, add_control: the parent element's name (a bone, null or control); omitted, the top of the hierarchy."
|
|
678
|
+
},
|
|
625
679
|
"parentBoneName": {
|
|
626
680
|
"type": "string",
|
|
627
681
|
"description": "Parent bone name."
|
|
@@ -642,6 +696,10 @@ export const generatedParentToolDefinitions = [
|
|
|
642
696
|
"type": "string",
|
|
643
697
|
"description": "Canonical /Game PhysicsAsset path."
|
|
644
698
|
},
|
|
699
|
+
"pin": {
|
|
700
|
+
"type": "string",
|
|
701
|
+
"description": "set_pin: the pin, Node.Pin; a struct member has its own pin (SetTransform.Item.Name, SetTransform.Transform.Translation.X)."
|
|
702
|
+
},
|
|
645
703
|
"pitch": {
|
|
646
704
|
"type": "number",
|
|
647
705
|
"description": "Aim offset pitch in degrees."
|
|
@@ -657,6 +715,15 @@ export const generatedParentToolDefinitions = [
|
|
|
657
715
|
},
|
|
658
716
|
"description": "Distinct names for the poses in frame order; frames without a name keep the engine default name."
|
|
659
717
|
},
|
|
718
|
+
"position": {
|
|
719
|
+
"type": "array",
|
|
720
|
+
"items": {
|
|
721
|
+
"type": "number"
|
|
722
|
+
},
|
|
723
|
+
"minItems": 2,
|
|
724
|
+
"maxItems": 2,
|
|
725
|
+
"description": "add_unit: graph position [x, y] (default right of the last node)."
|
|
726
|
+
},
|
|
660
727
|
"positionX": {
|
|
661
728
|
"type": "number",
|
|
662
729
|
"description": "Graph X position of the new node (default 0)."
|
|
@@ -677,6 +744,10 @@ export const generatedParentToolDefinitions = [
|
|
|
677
744
|
"type": "string",
|
|
678
745
|
"description": "The property: a member of the node's settings struct (Alpha, PlayRate, bLoopAnimation, Sequence) or of the graph node (NodeComment), with dots for a nested one (Node.PlayRate). On an asset player the asset property (Sequence, BlendSpace) is written through the node's own setter and read back, and fails when the node did not take it; any other property is written by reflection and its stored value read back."
|
|
679
746
|
},
|
|
747
|
+
"query": {
|
|
748
|
+
"type": "string",
|
|
749
|
+
"description": "Words to match in the unit's name, display name, category or keywords (spaces ignored), e.g. two bone, aim, set transform."
|
|
750
|
+
},
|
|
680
751
|
"radius": {
|
|
681
752
|
"type": "number",
|
|
682
753
|
"description": "Sphere or capsule radius (default 10)."
|
|
@@ -756,6 +827,15 @@ export const generatedParentToolDefinitions = [
|
|
|
756
827
|
"minItems": 3,
|
|
757
828
|
"maxItems": 3,
|
|
758
829
|
"description": "Rotation as [pitch, yaw, roll] in degrees."
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
"type": "array",
|
|
833
|
+
"items": {
|
|
834
|
+
"type": "number"
|
|
835
|
+
},
|
|
836
|
+
"minItems": 3,
|
|
837
|
+
"maxItems": 3,
|
|
838
|
+
"description": "add_bone, add_null, add_control: rotation [pitch, yaw, roll] in degrees."
|
|
759
839
|
}
|
|
760
840
|
],
|
|
761
841
|
"description": "Box or capsule rotation relative to the bone as [pitch, yaw, roll]."
|
|
@@ -784,6 +864,15 @@ export const generatedParentToolDefinitions = [
|
|
|
784
864
|
"minItems": 3,
|
|
785
865
|
"maxItems": 3,
|
|
786
866
|
"description": "Bone scale as [x, y, z] (default [1, 1, 1])."
|
|
867
|
+
},
|
|
868
|
+
{
|
|
869
|
+
"type": "array",
|
|
870
|
+
"items": {
|
|
871
|
+
"type": "number"
|
|
872
|
+
},
|
|
873
|
+
"minItems": 3,
|
|
874
|
+
"maxItems": 3,
|
|
875
|
+
"description": "add_bone, add_null, add_control: scale [x, y, z] (default 1)."
|
|
787
876
|
}
|
|
788
877
|
],
|
|
789
878
|
"description": "Bone scale as [x, y, z] (default [1, 1, 1])."
|
|
@@ -895,6 +984,15 @@ export const generatedParentToolDefinitions = [
|
|
|
895
984
|
"type": "string",
|
|
896
985
|
"description": "StaticMesh to skin, e.g. a coat downloaded as a rigid mesh."
|
|
897
986
|
},
|
|
987
|
+
"steps": {
|
|
988
|
+
"type": "array",
|
|
989
|
+
"items": {
|
|
990
|
+
"type": "object",
|
|
991
|
+
"additionalProperties": true,
|
|
992
|
+
"x-unreal-reflection-boundary": true
|
|
993
|
+
},
|
|
994
|
+
"description": "Several edits in order, each an object with edit and its own fields as above; the first that fails stops the rest, and those before it stay (failedStep names it)."
|
|
995
|
+
},
|
|
898
996
|
"suffix": {
|
|
899
997
|
"type": "string",
|
|
900
998
|
"description": "Suffix appended to each retargeted asset name."
|
|
@@ -935,6 +1033,10 @@ export const generatedParentToolDefinitions = [
|
|
|
935
1033
|
"type": "number",
|
|
936
1034
|
"description": "Time in seconds."
|
|
937
1035
|
},
|
|
1036
|
+
"to": {
|
|
1037
|
+
"type": "string",
|
|
1038
|
+
"description": "connect, disconnect: the input pin, Node.Pin."
|
|
1039
|
+
},
|
|
938
1040
|
"toSection": {
|
|
939
1041
|
"type": "string",
|
|
940
1042
|
"description": "Target montage section."
|
|
@@ -990,6 +1092,10 @@ export const generatedParentToolDefinitions = [
|
|
|
990
1092
|
"type": "string",
|
|
991
1093
|
"description": "Comment/name for the blend node (alias of name)."
|
|
992
1094
|
},
|
|
1095
|
+
"unit": {
|
|
1096
|
+
"type": "string",
|
|
1097
|
+
"description": "add_unit: the unit, as an object path (/Script/ControlRig.RigUnit_SetTransform), its struct name with or without RigUnit_ (SetTransform), or its display name."
|
|
1098
|
+
},
|
|
993
1099
|
"value": {
|
|
994
1100
|
"oneOf": [
|
|
995
1101
|
{
|
|
@@ -997,6 +1103,14 @@ export const generatedParentToolDefinitions = [
|
|
|
997
1103
|
},
|
|
998
1104
|
{
|
|
999
1105
|
"description": "The value: a number, boolean or string, an {x,y,z} or {r,g,b,a} object for a struct, or for an asset property the asset path (/Game/Anims/A_Idle)."
|
|
1106
|
+
},
|
|
1107
|
+
{
|
|
1108
|
+
"type": [
|
|
1109
|
+
"string",
|
|
1110
|
+
"number",
|
|
1111
|
+
"boolean"
|
|
1112
|
+
],
|
|
1113
|
+
"description": "set_pin: the value as text (Bone, foot_l), a number, or true/false."
|
|
1000
1114
|
}
|
|
1001
1115
|
],
|
|
1002
1116
|
"description": "Property value (any type)."
|
|
@@ -1083,6 +1197,9 @@ export const generatedParentToolDefinitions = [
|
|
|
1083
1197
|
"edit_anim_graph",
|
|
1084
1198
|
"edit_animation",
|
|
1085
1199
|
"create_control_rig",
|
|
1200
|
+
"edit_control_rig",
|
|
1201
|
+
"get_control_rig",
|
|
1202
|
+
"list_rig_units",
|
|
1086
1203
|
"setup_ik",
|
|
1087
1204
|
"edit_montage",
|
|
1088
1205
|
"play_montage",
|
|
@@ -1171,6 +1288,10 @@ export const generatedParentToolDefinitions = [
|
|
|
1171
1288
|
},
|
|
1172
1289
|
"description": "Requested animation paths that could not be loaded."
|
|
1173
1290
|
},
|
|
1291
|
+
"applied": {
|
|
1292
|
+
"type": "number",
|
|
1293
|
+
"description": "Edits applied."
|
|
1294
|
+
},
|
|
1174
1295
|
"assetPath": {
|
|
1175
1296
|
"type": "string",
|
|
1176
1297
|
"description": "Canonical /Game asset path."
|
|
@@ -1274,6 +1395,17 @@ export const generatedParentToolDefinitions = [
|
|
|
1274
1395
|
"type": "boolean",
|
|
1275
1396
|
"description": "Whether any mapping changed."
|
|
1276
1397
|
},
|
|
1398
|
+
"compileErrors": {
|
|
1399
|
+
"type": "array",
|
|
1400
|
+
"items": {
|
|
1401
|
+
"type": "string"
|
|
1402
|
+
},
|
|
1403
|
+
"description": "The compile errors, when there were any."
|
|
1404
|
+
},
|
|
1405
|
+
"compiled": {
|
|
1406
|
+
"type": "boolean",
|
|
1407
|
+
"description": "Whether the rig compiled after the edits."
|
|
1408
|
+
},
|
|
1277
1409
|
"compiledAnimBlueprints": {
|
|
1278
1410
|
"type": "array",
|
|
1279
1411
|
"items": {
|
|
@@ -1317,10 +1449,27 @@ export const generatedParentToolDefinitions = [
|
|
|
1317
1449
|
"x-unreal-reflection-boundary": true,
|
|
1318
1450
|
"description": "Additional handler result fields not named by the contract."
|
|
1319
1451
|
},
|
|
1452
|
+
"elementCount": {
|
|
1453
|
+
"type": "number",
|
|
1454
|
+
"description": "All hierarchy elements."
|
|
1455
|
+
},
|
|
1456
|
+
"elements": {
|
|
1457
|
+
"type": "array",
|
|
1458
|
+
"items": {
|
|
1459
|
+
"type": "object",
|
|
1460
|
+
"additionalProperties": true,
|
|
1461
|
+
"x-unreal-reflection-boundary": true
|
|
1462
|
+
},
|
|
1463
|
+
"description": "Hierarchy elements in order (up to 500): type (Bone, Null, Control, Curve ...), name and parent."
|
|
1464
|
+
},
|
|
1320
1465
|
"existingAsset": {
|
|
1321
1466
|
"type": "boolean",
|
|
1322
1467
|
"description": "Boolean parameter."
|
|
1323
1468
|
},
|
|
1469
|
+
"failedStep": {
|
|
1470
|
+
"type": "number",
|
|
1471
|
+
"description": "steps: the step that failed (0-based); the ones before it were applied, compiled and saved."
|
|
1472
|
+
},
|
|
1324
1473
|
"frameRate": {
|
|
1325
1474
|
"type": "number",
|
|
1326
1475
|
"description": "Numeric parameter."
|
|
@@ -1355,6 +1504,15 @@ export const generatedParentToolDefinitions = [
|
|
|
1355
1504
|
"type": "number",
|
|
1356
1505
|
"description": "Numeric parameter."
|
|
1357
1506
|
},
|
|
1507
|
+
"links": {
|
|
1508
|
+
"type": "array",
|
|
1509
|
+
"items": {
|
|
1510
|
+
"type": "object",
|
|
1511
|
+
"additionalProperties": true,
|
|
1512
|
+
"x-unreal-reflection-boundary": true
|
|
1513
|
+
},
|
|
1514
|
+
"description": "Each link: from (output pin) and to (input pin)."
|
|
1515
|
+
},
|
|
1358
1516
|
"location": {
|
|
1359
1517
|
"type": "object",
|
|
1360
1518
|
"additionalProperties": false,
|
|
@@ -1375,6 +1533,15 @@ export const generatedParentToolDefinitions = [
|
|
|
1375
1533
|
"type": "string",
|
|
1376
1534
|
"description": "State machine name."
|
|
1377
1535
|
},
|
|
1536
|
+
"made": {
|
|
1537
|
+
"type": "array",
|
|
1538
|
+
"items": {
|
|
1539
|
+
"type": "object",
|
|
1540
|
+
"additionalProperties": true,
|
|
1541
|
+
"x-unreal-reflection-boundary": true
|
|
1542
|
+
},
|
|
1543
|
+
"description": "What the edits made: {node, unit, pins} for an added unit, {pin, value} for a set pin (the value as stored), {element} for an added element, {importedFrom, bones} for a skeleton's bones imported (bones the rig already had are matched in place)."
|
|
1544
|
+
},
|
|
1378
1545
|
"mapping": {
|
|
1379
1546
|
"type": "array",
|
|
1380
1547
|
"items": {
|
|
@@ -1393,6 +1560,10 @@ export const generatedParentToolDefinitions = [
|
|
|
1393
1560
|
},
|
|
1394
1561
|
"description": "Every target chain with the source chain now driving it (None when unmapped)."
|
|
1395
1562
|
},
|
|
1563
|
+
"matched": {
|
|
1564
|
+
"type": "number",
|
|
1565
|
+
"description": "Units that match."
|
|
1566
|
+
},
|
|
1396
1567
|
"maxInfluencesAfter": {
|
|
1397
1568
|
"type": "number",
|
|
1398
1569
|
"description": "Most influences on one vertex after."
|
|
@@ -1456,6 +1627,22 @@ export const generatedParentToolDefinitions = [
|
|
|
1456
1627
|
"type": "string",
|
|
1457
1628
|
"description": "Object name of the node that was set."
|
|
1458
1629
|
},
|
|
1630
|
+
"nodeNames": {
|
|
1631
|
+
"type": "array",
|
|
1632
|
+
"items": {
|
|
1633
|
+
"type": "string"
|
|
1634
|
+
},
|
|
1635
|
+
"description": "With a node that is not there: the nodes there are."
|
|
1636
|
+
},
|
|
1637
|
+
"nodes": {
|
|
1638
|
+
"type": "array",
|
|
1639
|
+
"items": {
|
|
1640
|
+
"type": "object",
|
|
1641
|
+
"additionalProperties": true,
|
|
1642
|
+
"x-unreal-reflection-boundary": true
|
|
1643
|
+
},
|
|
1644
|
+
"description": "Each node: name, title, unit (struct path), position [x, y] and pins [{pin, direction, type, default, linked}]."
|
|
1645
|
+
},
|
|
1459
1646
|
"numBodies": {
|
|
1460
1647
|
"type": "number",
|
|
1461
1648
|
"description": "Number of physics bodies in the asset."
|
|
@@ -1595,6 +1782,15 @@ export const generatedParentToolDefinitions = [
|
|
|
1595
1782
|
"type": "boolean",
|
|
1596
1783
|
"description": "Whether the action succeeded."
|
|
1597
1784
|
},
|
|
1785
|
+
"units": {
|
|
1786
|
+
"type": "array",
|
|
1787
|
+
"items": {
|
|
1788
|
+
"type": "object",
|
|
1789
|
+
"additionalProperties": true,
|
|
1790
|
+
"x-unreal-reflection-boundary": true
|
|
1791
|
+
},
|
|
1792
|
+
"description": "Matching units sorted by struct name: unit (the object path add_unit takes), name and category."
|
|
1793
|
+
},
|
|
1598
1794
|
"unmappedBones": {
|
|
1599
1795
|
"type": "array",
|
|
1600
1796
|
"items": {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { CapabilityRecord } from '../model.js';
|
|
2
|
-
export declare const ALL_CAPABILITY_RECORD_COUNT:
|
|
2
|
+
export declare const ALL_CAPABILITY_RECORD_COUNT: 405;
|
|
3
3
|
export declare const ALL_CAPABILITY_RECORDS: readonly CapabilityRecord[];
|
|
4
4
|
//# sourceMappingURL=aggregate.d.ts.map
|
|
@@ -22,7 +22,7 @@ import { SYSTEM_CONTROL_SOURCES } from './system-control/index.js';
|
|
|
22
22
|
import { MANAGE_GEOMETRY_SOURCES } from './world/manage-geometry.index.js';
|
|
23
23
|
import { MANAGE_LEVEL_STRUCTURE_SOURCES } from './world/manage-level-structure.index.js';
|
|
24
24
|
import { MANAGE_PCG_SOURCES } from './world/manage-pcg.index.js';
|
|
25
|
-
export const ALL_CAPABILITY_RECORD_COUNT =
|
|
25
|
+
export const ALL_CAPABILITY_RECORD_COUNT = 405;
|
|
26
26
|
const ALL_SOURCES = [
|
|
27
27
|
...BUILD_ENVIRONMENT_SOURCES,
|
|
28
28
|
...MANAGE_LEVEL_STRUCTURE_SOURCES,
|
|
@@ -55,7 +55,7 @@ export const MANAGE_BLUEPRINT_FOLDS = [
|
|
|
55
55
|
{
|
|
56
56
|
primary: 'inspect_graph', selector: 'info',
|
|
57
57
|
summary: 'Inspect a Blueprint graph: its nodes (every one, or those whose title, pin default, text or object path matches a filter), node details, pin details, or the available node types.',
|
|
58
|
-
topics: ['graph details', 'node details', 'pin details', 'node types', 'find nodes', 'search graph nodes'],
|
|
58
|
+
topics: ['graph details', 'node details', 'pin details', 'node types', 'find nodes', 'search graph nodes', 'filter graph nodes'],
|
|
59
59
|
members: { graph: 'get_graph_details', node: 'get_node_details', pins: 'get_pin_details', node_types: 'list_node_types' },
|
|
60
60
|
},
|
|
61
61
|
{
|
package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/authoring-1.data.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { buildRecord } from '../helpers.js';
|
|
2
|
+
import { ANY_EDITOR_STATE } from '../../core/builder.js';
|
|
2
3
|
import { P } from '../properties.js';
|
|
3
4
|
import { A } from './animation-properties.js';
|
|
4
|
-
import { bool, num, str } from '../../shared/schema-props.js';
|
|
5
|
+
import { bool, num, str, vec3 } from '../../shared/schema-props.js';
|
|
5
6
|
const T = 'animation_physics';
|
|
6
7
|
const F = 'animation';
|
|
7
8
|
const W = ['An animation asset or graph must be authored.'];
|
|
@@ -135,5 +136,89 @@ export const ANIM_AUTHORED_1 = [
|
|
|
135
136
|
inputProps: { name: P.name, path: P.path, skeletonPath: P.skeletonPath, skeletalMeshPath: str('Skeletal mesh to build the rig from; wins over skeletonPath.'), modularRig: bool('Create a Modular Rig (UE 5.5+; older engines report modularRig false).'), save: A.save }, required: ['name'],
|
|
136
137
|
effect: 'write', latency: 'interactive', resources: 'medium', plugins: ['ControlRig', 'RigVM', 'EditorScriptingUtilities'],
|
|
137
138
|
exampleInput: { action: 'create_control_rig', name: 'CR_Char', skeletonPath: '/Game/SK_Char' } }),
|
|
139
|
+
buildRecord({ parentTool: T, id: `${T}.edit_control_rig`, action: 'edit_control_rig', family: F,
|
|
140
|
+
topics: ['control rig graph', 'rig unit', 'add rig node', 'connect rig pins', 'wire control rig pins', 'control rig hierarchy', 'add control', 'rig bones'],
|
|
141
|
+
summary: 'Edit a Control Rig: add a unit node (list_rig_units finds them), connect or disconnect pins, set a pin value, remove a node, import the skeleton\'s bones, add a bone, null or control, or remove an element; one edit or many steps, then one compile and save. The reply lists what each edit made (a new node with its pins).',
|
|
142
|
+
whenToUse: ['A Control Rig needs its logic built: units such as Get Transform, Two Bone IK or Set Transform wired from the Forwards Solve event (a new rig may have none: add_unit BeginExecution adds it).', 'A rig needs bones from its skeleton, or controls and nulls to drive them.'],
|
|
143
|
+
whenNotToUse: ['The rig asset does not exist yet (use create_control_rig).', 'Only reading the rig (use get_control_rig).', 'An IK Rig or retargeter (use create_ik_rig, setup_ik).'],
|
|
144
|
+
inputProps: {
|
|
145
|
+
assetPath: str('Control Rig asset path, e.g. /Game/Rigs/CR_Arm.'),
|
|
146
|
+
edit: { type: 'string', enum: ['add_unit', 'connect', 'disconnect', 'set_pin', 'remove_node', 'import_bones', 'add_bone', 'add_null', 'add_control', 'remove_element'], description: 'The edit to make (each step of steps names its own).' },
|
|
147
|
+
unit: str('add_unit: the unit, as an object path (/Script/ControlRig.RigUnit_SetTransform), its struct name with or without RigUnit_ (SetTransform), or its display name.'),
|
|
148
|
+
name: str('add_unit: the new node\'s name (default the unit\'s, made unique); add_bone, add_null, add_control, remove_element: the element\'s name.'),
|
|
149
|
+
position: { type: 'array', items: { type: 'number' }, minItems: 2, maxItems: 2, description: 'add_unit: graph position [x, y] (default right of the last node).' },
|
|
150
|
+
from: str('connect, disconnect: the output pin, Node.Pin as get_control_rig lists it; execution runs from the event\'s execute pin to each unit\'s (ExecutePin in UE 5.8).'),
|
|
151
|
+
to: str('connect, disconnect: the input pin, Node.Pin.'),
|
|
152
|
+
pin: str('set_pin: the pin, Node.Pin; a struct member has its own pin (SetTransform.Item.Name, SetTransform.Transform.Translation.X).'),
|
|
153
|
+
value: { type: ['string', 'number', 'boolean'], description: 'set_pin: the value as text (Bone, foot_l), a number, or true/false.' },
|
|
154
|
+
node: str('remove_node: the node\'s name.'),
|
|
155
|
+
skeletonPath: str('import_bones: the skeleton whose bones are imported (default the skeleton of the rig\'s preview mesh).'),
|
|
156
|
+
parent: str('add_bone, add_null, add_control: the parent element\'s name (a bone, null or control); omitted, the top of the hierarchy.'),
|
|
157
|
+
location: vec3('add_bone, add_null, add_control: location [x, y, z] in cm (a control\'s offset), relative to the parent unless global.'),
|
|
158
|
+
rotation: vec3('add_bone, add_null, add_control: rotation [pitch, yaw, roll] in degrees.'),
|
|
159
|
+
scale: vec3('add_bone, add_null, add_control: scale [x, y, z] (default 1).'),
|
|
160
|
+
global: bool('add_bone, add_null: location, rotation and scale are in rig space, not relative to the parent.'),
|
|
161
|
+
controlType: { type: 'string', enum: ['transform', 'float', 'bool', 'position', 'rotator'], description: 'add_control: the value the control drives (default transform).' },
|
|
162
|
+
steps: { type: 'array', items: { type: 'object', additionalProperties: true, 'x-unreal-reflection-boundary': true }, description: 'Several edits in order, each an object with edit and its own fields as above; the first that fails stops the rest, and those before it stay (failedStep names it).' },
|
|
163
|
+
save: A.save,
|
|
164
|
+
},
|
|
165
|
+
required: ['assetPath'],
|
|
166
|
+
effect: 'write', latency: 'interactive', resources: 'medium', plugins: CR_ESU,
|
|
167
|
+
exampleInput: { action: 'edit_control_rig', assetPath: '/Game/Rigs/CR_Arm', steps: [{ edit: 'add_unit', unit: 'BeginExecution', name: 'ForwardsSolve' }, { edit: 'add_unit', unit: 'SetTransform', name: 'SetHand' }, { edit: 'set_pin', pin: 'SetHand.Item.Name', value: 'hand_r' }, { edit: 'connect', from: 'ForwardsSolve.ExecutePin', to: 'SetHand.ExecutePin' }] },
|
|
168
|
+
exampleOutput: { success: true, message: 'Applied 4 edit(s) to CR_Arm.', assetPath: '/Game/Rigs/CR_Arm.CR_Arm', applied: 4, compiled: true, saved: true,
|
|
169
|
+
made: [{ node: 'SetHand', unit: '/Script/ControlRig.RigUnit_SetTransform', pins: [{ pin: 'SetHand.Item', direction: 'Input', type: 'FRigElementKey' }] }, { pin: 'SetHand.Item.Name', value: 'hand_r' }] },
|
|
170
|
+
outputProps: {
|
|
171
|
+
assetPath: str('The rig edited.'),
|
|
172
|
+
applied: num('Edits applied.'),
|
|
173
|
+
made: { type: 'array', items: { type: 'object', additionalProperties: true, 'x-unreal-reflection-boundary': true }, description: 'What the edits made: {node, unit, pins} for an added unit, {pin, value} for a set pin (the value as stored), {element} for an added element, {importedFrom, bones} for a skeleton\'s bones imported (bones the rig already had are matched in place).' },
|
|
174
|
+
compiled: bool('Whether the rig compiled after the edits.'),
|
|
175
|
+
compileErrors: { type: 'array', items: { type: 'string' }, description: 'The compile errors, when there were any.' },
|
|
176
|
+
saved: bool('Whether the rig was saved.'),
|
|
177
|
+
failedStep: num('steps: the step that failed (0-based); the ones before it were applied, compiled and saved.'),
|
|
178
|
+
},
|
|
179
|
+
outputRequired: ['assetPath', 'applied'] }),
|
|
180
|
+
buildRecord({ parentTool: T, id: `${T}.get_control_rig`, action: 'get_control_rig', family: F,
|
|
181
|
+
topics: ['read control rig', 'control rig nodes', 'rig pins', 'rig hierarchy'],
|
|
182
|
+
summary: 'Read a Control Rig: each node of its graph with its unit and pins (path, direction, type, default, linked), the links between pins, its hierarchy (bones, nulls, controls with their parents) and whether it compiled; node names one node with every struct member pin.',
|
|
183
|
+
whenToUse: ['Before editing a rig: the exact pin paths connect and set_pin take, and what is already wired.', 'To check a rig after edits: links, hierarchy, compile state.'],
|
|
184
|
+
whenNotToUse: ['Finding a unit to add (use list_rig_units).'],
|
|
185
|
+
inputProps: {
|
|
186
|
+
assetPath: str('Control Rig asset path, e.g. /Game/Rigs/CR_Arm.'),
|
|
187
|
+
node: str('One node\'s name: only that node, with every struct member pin by its full path.'),
|
|
188
|
+
},
|
|
189
|
+
required: ['assetPath'],
|
|
190
|
+
effect: 'read', editorStates: ANY_EDITOR_STATE, latency: 'instant', resources: 'low', plugins: CR_ESU,
|
|
191
|
+
exampleInput: { action: 'get_control_rig', assetPath: '/Game/Rigs/CR_Arm' },
|
|
192
|
+
exampleOutput: { success: true, message: 'CR_Arm: 2 node(s), 1 link(s), 3 hierarchy element(s).', assetPath: '/Game/Rigs/CR_Arm.CR_Arm',
|
|
193
|
+
nodes: [{ name: 'ForwardsSolve', title: 'Forwards Solve', unit: '/Script/ControlRig.RigUnit_BeginExecution', position: [0, 0], pins: [{ pin: 'ForwardsSolve.ExecutePin', direction: 'Output', type: 'FRigVMExecuteContext', linked: true }] }],
|
|
194
|
+
links: [{ from: 'ForwardsSolve.ExecutePin', to: 'SetHand.ExecutePin' }], elements: [{ type: 'Bone', name: 'root' }, { type: 'Bone', name: 'hand_r', parent: 'root' }], elementCount: 3, compiled: true },
|
|
195
|
+
outputProps: {
|
|
196
|
+
assetPath: str('The rig read.'),
|
|
197
|
+
nodes: { type: 'array', items: { type: 'object', additionalProperties: true, 'x-unreal-reflection-boundary': true }, description: 'Each node: name, title, unit (struct path), position [x, y] and pins [{pin, direction, type, default, linked}].' },
|
|
198
|
+
links: { type: 'array', items: { type: 'object', additionalProperties: true, 'x-unreal-reflection-boundary': true }, description: 'Each link: from (output pin) and to (input pin).' },
|
|
199
|
+
elements: { type: 'array', items: { type: 'object', additionalProperties: true, 'x-unreal-reflection-boundary': true }, description: 'Hierarchy elements in order (up to 500): type (Bone, Null, Control, Curve ...), name and parent.' },
|
|
200
|
+
elementCount: num('All hierarchy elements.'),
|
|
201
|
+
compiled: bool('Whether the rig is compiled and up to date.'),
|
|
202
|
+
nodeNames: { type: 'array', items: { type: 'string' }, description: 'With a node that is not there: the nodes there are.' },
|
|
203
|
+
},
|
|
204
|
+
outputRequired: ['assetPath', 'nodes'] }),
|
|
205
|
+
buildRecord({ parentTool: T, id: `${T}.list_rig_units`, action: 'list_rig_units', family: F,
|
|
206
|
+
topics: ['rig units', 'find rig unit', 'control rig node types'],
|
|
207
|
+
summary: 'Find the units a Control Rig graph can hold (Get Transform, Two Bone IK, Aim, math and more): each unit\'s object path, name and category, for edit_control_rig add_unit.',
|
|
208
|
+
whenToUse: ['A unit is needed for add_unit and its name is not known.'],
|
|
209
|
+
whenNotToUse: ['Reading what a rig already holds (use get_control_rig).'],
|
|
210
|
+
inputProps: {
|
|
211
|
+
query: str('Words to match in the unit\'s name, display name, category or keywords (spaces ignored), e.g. two bone, aim, set transform.'),
|
|
212
|
+
limit: num('Most units to list (default 50, up to 500); matched counts them all.'),
|
|
213
|
+
},
|
|
214
|
+
required: [],
|
|
215
|
+
effect: 'read', editorStates: ANY_EDITOR_STATE, latency: 'instant', resources: 'low', plugins: CR_ESU,
|
|
216
|
+
exampleInput: { action: 'list_rig_units', query: 'two bone' },
|
|
217
|
+
exampleOutput: { success: true, message: '2 rig unit(s) match.', matched: 2, units: [{ unit: '/Script/ControlRig.RigUnit_TwoBoneIKSimplePerItem', name: 'Basic IK', category: 'Hierarchy' }] },
|
|
218
|
+
outputProps: {
|
|
219
|
+
units: { type: 'array', items: { type: 'object', additionalProperties: true, 'x-unreal-reflection-boundary': true }, description: 'Matching units sorted by struct name: unit (the object path add_unit takes), name and category.' },
|
|
220
|
+
matched: num('Units that match.'),
|
|
221
|
+
},
|
|
222
|
+
outputRequired: ['units', 'matched'] }),
|
|
138
223
|
];
|
|
139
224
|
//# sourceMappingURL=authoring-1.data.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unreal-engine-mcp-server",
|
|
3
|
-
"version": "0.6.0-beta-
|
|
3
|
+
"version": "0.6.0-beta-e",
|
|
4
4
|
"mcpName": "io.github.ChiR24/unreal-engine-mcp",
|
|
5
5
|
"description": "A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine via native automation bridge. Built with TypeScript and designed for game development automation.",
|
|
6
6
|
"type": "module",
|
package/server.json
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.ChiR24/unreal-engine-mcp",
|
|
4
4
|
"description": "Automate the Unreal Editor (UE 5.0-5.8): levels, Blueprints, UI, materials, VFX and more.",
|
|
5
|
-
"version": "0.6.0-beta-
|
|
5
|
+
"version": "0.6.0-beta-e",
|
|
6
6
|
"packages": [
|
|
7
7
|
{
|
|
8
8
|
"registryType": "npm",
|
|
9
9
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
10
10
|
"identifier": "unreal-engine-mcp-server",
|
|
11
|
-
"version": "0.6.0-beta-
|
|
11
|
+
"version": "0.6.0-beta-e",
|
|
12
12
|
"transport": {
|
|
13
13
|
"type": "stdio"
|
|
14
14
|
},
|