-
Notifications
You must be signed in to change notification settings - Fork 0
Tool Reference
Complete reference for all UEBPCracker MCP tools. All tools are dispatched through call_tool with the nested arguments format.
MCP call structure:
{
"params": {
"name": "call_tool",
"arguments": {
"toolset_name": "UEBPCrackerEditor.UEBPCrackerToolset",
"tool_name": "ToolNameHere",
"arguments": { ... }
}
}
}Tool names are PascalCase —
HealthCheck, nothealth_check.
Returns plugin version, engine version, write roots, and policy fingerprint.
Parameters: none
Response:
{
"success": true,
"engineVersion": "5.8.2",
"pluginVersion": "0.1.0",
"toolsetVersion": "0.1.0",
"writeRoots": ["/Game/AI/"],
"bWriteEnabled": true,
"bLoopbackBind": true,
"policyFingerprint": "sha1:5308baef..."
}Returns full capability summary: tools, resource limits, security policy, domain availability.
Parameters: none
Response includes:
-
tools[]— all registered tool names -
resourceLimits— hard ceilings (nodes, connections, snapshot size, etc.) -
securityPolicy— L0–L3 gates, write roots, plan hash requirement -
domains[]— Extra module domain status
Full Blueprint dump: variables, components, graphs, nodes, pins, connections, fingerprint.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
blueprint_path |
string | ✅ | Content path e.g. /Game/AI/BP_HealthActor
|
include_nodes |
bool | No | Include node list per graph (default: true) |
include_pins |
bool | No | Include pin details per node (default: true) |
include_connections |
bool | No | Include connection list (default: true) |
include_fingerprint |
bool | No | Include semantic/layout/full fingerprints (default: true) |
Response excerpt:
{
"success": true,
"assetPath": "/Game/AI/BP_HealthActor",
"parentClass": "/Script/Engine.Actor",
"variables": [
{ "name": "Health", "type": "float", "defaultValue": "100.0", "instanceEditable": true }
],
"components": [
{ "name": "DefaultSceneRoot", "class": "SceneComponent", "isRoot": true }
],
"graphs": [
{
"name": "EventGraph",
"kind": "event_graph",
"nodes": [ ... ],
"connections": [ ... ]
}
],
"fingerprint": {
"semantic": "blake3:f820f1d1...",
"layout": "blake3:a3c4e5f6...",
"full": "blake3:9b2c1d8e..."
}
}Detailed inspection of a single graph.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
blueprint_path |
string | ✅ | Blueprint content path |
graph_name |
string | ✅ | Graph name e.g. EventGraph, OnCalculateDamage
|
Resolves a type string to its canonical Unreal representation.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
type_name |
string | ✅ | Type name e.g. float, FVector, AActor, /Script/Engine.Actor
|
Response:
{
"success": true,
"canonical": "float",
"category": "real",
"subCategory": "float",
"containerType": "None",
"isValid": true
}Creates a named snapshot with Blake3 fingerprints and stores it in the 32-slot FIFO.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
blueprint_path |
string | ✅ | Blueprint content path |
include_layout |
bool | No | Include layout fingerprint and node positions (default: false) |
Response:
{
"success": true,
"snapshotId": "snapshot:a3b4c5d6-...",
"semanticFingerprint": "blake3:f820f1d1...",
"layoutFingerprint": "blake3:a3c4e5f6...",
"fullFingerprint": "blake3:9b2c1d8e..."
}Snapshot IDs are stable across editor restarts. Fingerprints are restart-stable (verified at 59/59 assertions).
Element-level diff between two snapshots.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
snapshot_id_a |
string | ✅ | First snapshot ID (e.g. snapshot:...) |
snapshot_id_b |
string | ✅ | Second snapshot ID |
Response: diff entries with logical paths (e.g. variables/Health/defaultValue), before/after values, change type.
Lists pending recovery operations (from interrupted apply/patch).
Parameters: none
Evaluates the 31-criterion DoD (code c01–c08, behavior b01–b08, security s01–s07, test_release t01–t08).
Parameters: none
Creates a new Actor-based Blueprint asset.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
request_id |
string | ✅ | Client-provided idempotency key |
asset_path |
string | ✅ | Full content path e.g. /Game/AI/BP_HealthActor
|
parent_class |
string | ✅ | Class path e.g. /Script/Engine.Actor
|
conflict_policy |
enum | No |
reject (default) · overwrite · rename
|
dry_run |
bool | No | If true, validates and returns plan without mutating |
Response:
{
"success": true,
"requestId": "req-001",
"operation": "create_blueprint",
"assetPath": "/Game/AI/BP_HealthActor",
"stage": "save",
"compileStatus": "success",
"errors": [],
"warnings": [],
"saved": true,
"transactionId": "txn:...",
"fingerprint": { "semantic": "blake3:..." }
}Adds a typed variable to an existing Blueprint.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
request_id |
string | ✅ | |
blueprint_path |
string | ✅ | |
variable_name |
string | ✅ | |
variable_type |
string | ✅ |
float, int32, bool, FString, FVector, /Script/Engine.Actor (object ref), etc. |
default_value |
string | No | JSON-encoded default (codec round-trip validated) |
instance_editable |
bool | No | |
expose_on_spawn |
bool | No | |
replication |
string | No |
None, Replicated, RepNotify
|
category |
string | No | |
dry_run |
bool | No |
Type examples:
"float" → simple float
"TArray<float>" → float array
"TMap<FString,int32>" → map
"/Script/Engine.StaticMeshComponent" → soft object ref
Adds an SCS component to the Blueprint's Simple Construction Script.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
request_id |
string | ✅ | |
blueprint_path |
string | ✅ | |
component_name |
string | ✅ | |
component_class |
string | ✅ | Class path e.g. /Script/Engine.StaticMeshComponent
|
parent_component |
string | No | Parent component name (defaults to root) |
dry_run |
bool | No |
Adds a new named function graph to the Blueprint.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
request_id |
string | ✅ | |
blueprint_path |
string | ✅ | |
graph_name |
string | ✅ | Must not collide with existing graphs (ScriptName meta checked) |
dry_run |
bool | No |
Note:
AddFunctionGraphcreates ONLY the entry node. UseAddNodeto add a result/return node if needed.
Adds a K2 node to a graph. Nine allow-listed node kinds.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
request_id |
string | ✅ | |
blueprint_path |
string | ✅ | |
graph_name |
string | ✅ | |
node_kind |
enum | ✅ | See below |
node_id |
string | ✅ | Spec-local logical ID |
position_x |
int | No | Grid X (snapped to 16-unit floor by engine) |
position_y |
int | No | Grid Y |
dry_run |
bool | No |
Node kinds and their extra parameters:
| Kind | Extra Parameters | Notes |
|---|---|---|
event_override |
event_name (e.g. ReceiveBeginPlay), event_owner_class
|
Use ReceiveBeginPlay not BeginPlay (AActor::BeginPlay is not UFUNCTION) |
function_call |
function_path (/Script/Engine.KismetSystemLibrary:PrintString) |
Spawned via UBlueprintFunctionNodeSpawner
|
variable_get |
variable_name |
|
variable_set |
variable_name |
|
branch |
— | If/else flow control |
sequence |
output_count |
|
cast |
cast_target_class |
|
comment |
comment_text, width, height
|
UEdGraphNode_Comment |
macro_instance |
macro_path |
Position snapping: Engine snaps to 16 * floor(V/16). Position 1000 → 992, 600 → 592. Postcondition accepts both requested and snapped coordinates.
Sets a pin's default value (for unconnected input pins).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
request_id |
string | ✅ | |
blueprint_path |
string | ✅ | |
graph_name |
string | ✅ | |
node_id |
string | ✅ | Logical node ID or Unreal node GUID |
pin_name |
string | ✅ | Internal pin name (NOT the display label) |
default_value |
string | ✅ | Raw value string (codec round-trip validated) |
dry_run |
bool | No |
Uses
UEdGraphSchema_K2::TrySetDefaultValue. Invalid values are caught byIsPinDefaultValidand rejected withINVALID_PIN_DEFAULT.
Creates a pin connection between two nodes.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
request_id |
string | ✅ | |
blueprint_path |
string | ✅ | |
graph_name |
string | ✅ | |
from_node_id |
string | ✅ | Source node logical ID or GUID |
from_pin_name |
string | ✅ | Source pin internal name |
to_node_id |
string | ✅ | Target node logical ID or GUID |
to_pin_name |
string | ✅ | Target pin internal name |
dry_run |
bool | No |
Connection policy responses:
| Schema response | Plugin action |
|---|---|
MAKE |
Connection created |
BREAK_OTHERS_AND_MAKE |
Existing connections broken, new one made |
MAKE_WITH_CONVERSION_NODE |
Requires conversion — rejected (REQUIRES_CONVERSION) |
| Anything else | Rejected (INCOMPATIBLE_PINS) |
Validates a .uebp.json file (schema + semantic) and returns the execution plan without mutating anything.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
file |
string | ✅ | Relative path from spec root (e.g. BP_HealthActor.uebp.json) |
Same as ValidateBlueprintSpec but also returns the full deterministic command list.
Parameters: same as ValidateBlueprintSpec
Validates, plans, and executes a .uebp.json spec in a single transaction.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
file |
string | ✅ | Relative spec path |
dry_run |
bool | No | If true, returns plan without executing |
expected_plan_hash |
string | No | Sealed plan hash for integrity verification |
Three-way ownership diff (base snapshot vs. current Blueprint vs. incoming spec). Returns a sealed plan hash.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
file |
string | ✅ | Spec file path |
blueprint_path |
string | ✅ | Target Blueprint |
Response includes: planHash, commands[], conflict report, noOpCount, patchCount, conflictCount
Applies a previously planned patch using the sealed hash for integrity.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
file |
string | ✅ | |
blueprint_path |
string | ✅ | |
expected_plan_hash |
string | ✅ | Must match; PLAN_HASH_MISMATCH if not |
dry_run |
bool | No |
Restores a Blueprint from a durable backup asset created during a failed apply/patch.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
operation_id |
string | ✅ | Recovery operation ID from GetRecoveryStatus
|
expected_content_fingerprint |
string | No | Verify content fingerprint after restore |
Permanently deletes a backup asset (use after manual resolution).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
operation_id |
string | ✅ |
⚠️ This is irreversible. After discard,RestoreOperationBackupreturnsBACKUP_INVALID.
Returns the availability and operation status of each domain adapter.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
domain |
string | No | Specific domain ID (ai, data, fx, gameplay, input, project, ui) or all
|
Response:
{
"domains": [
{ "id": "input", "available": true, "ops": ["create_action", "inspect_action", "create_mapping_context", ...] },
{ "id": "ai", "available": false, "ops": [] }
]
}- Architecture — how tool calls flow through the system
-
Blueprint Spec Format —
.uebp.jsonschema reference - Security Model — authorization layers and error codes