MCP Tools & Schema
When the CrimsonMCPTools plugin is enabled, CrimsonInventory exposes six debug tools and a set of schema resources to MCP-aware clients (Claude Code, etc.). Tools query a running PIE session; schema resources are static class/pattern docs that work offline.
Inspection tools
| Tool | Args | What it dumps |
|---|---|---|
crimson.inventory.list_items | ActorName (optional, defaults to first player pawn) | Every entry on the actor's manager component: EntryId, slot, grid (X,Y), rotation, layout group, locked, stacks, definition, integer stat tags. |
crimson.inventory.list_constraints | ActorName (optional) | Runtime constraint stack (active UCrimsonInventoryConstraint subobjects) + every int/float tag-stack cap with current/max values. The 'why won't this item add?' tool. |
crimson.inventory.inspect_layout | ActorName (optional) | Layout asset class + path, capacity hint, rotation/stacking support, runtime cache stats (tracked entries, slot lookups, grid size + occupied/free cells), per-LayoutGroupId entry counts. |
crimson.inventory.inspect_container | ActorName (REQUIRED - chest's outliner label) | Chest's ContainerTag, Scope, DefaultLayout, and a description of where the storage actually lives per scope. Flags missing tags for non-Shared scopes. |
crimson.inventory.list_instances | (none) | Every active ACrimsonInstancedInventoryActor (PerParty / PerDungeonInstance) with its key, viewer count, and entry count. Server / standalone PIE only. |
crimson.inventory.list_routing | PlayerControllerName (optional) | All UCrimsonInventoryManagerComponents hosted on a PC's routing component - the personal (PerPlayer) container storage. Shows tag, layout class, and entry count per container. |
Debugging a failed chest open
1.
2. For PerPlayer:
3. For PerParty / PerDungeonInstance:
4.
inspect_container <ChestLabel> - verify Scope and ContainerTag are set correctly.2. For PerPlayer:
list_routing <PCLabel> - confirm the personal container was created.3. For PerParty / PerDungeonInstance:
list_instances - confirm an instance actor exists and that the PC is in the viewer set.4.
list_constraints <Inv> - check if a constraint vetoed the open.Schema resources
Class and pattern docs generated from the live UClass metadata + handwritten markdown. Use these for offline lookups; they don't need an active PIE session.
| URI | Content |
|---|---|
crimson://schema/inventory/item-definition | UCrimsonInventoryItemDefinition class doc |
crimson://schema/inventory/item-fragments | All UCrimsonInventoryItemFragment subclasses with properties |
crimson://schema/inventory/state-fragments | All UCrimsonInventoryStateFragment subclasses (Durability, Lifetime, etc.) |
crimson://schema/inventory/footprint-fragment | UCrimsonInventoryItemFragment_Footprint class doc |
crimson://schema/inventory/layouts | All UCrimsonInventoryLayout subclasses (FlatSlot, Grid, Weight) |
crimson://schema/inventory/constraints | All UCrimsonInventoryConstraint subclasses (Slot, IntTag, FloatTag, TypeFilter, GridCellRule, StackLimit, CustomRule) |
crimson://schema/inventory/routing-component | UCrimsonInventoryRoutingComponent class doc (RPCs, virtuals, save API) |
crimson://schema/inventory/container-actor | ACrimsonContainerActorBase class doc (Scope, ContainerTag, OnScopedInstanceCreated) |
Pattern guides
| URI | Walkthrough |
|---|---|
crimson://patterns/inventory/consumable | Health-potion-style stackable consumable + GAS consume ability |
crimson://patterns/inventory/weapon | Unique weapon with Footprint dimensions + Equipment integration |
crimson://patterns/inventory/container-actor | World chest: all four scopes, OnScopedInstanceCreated, per-scope save |
crimson://patterns/inventory/scoped-chest | Deep dive: PerPlayer / PerParty / PerDungeonInstance with ResolvePartyKey override + lifecycle (viewer add/remove, instance destroy) |
crimson://patterns/inventory/bag-extension | Runtime cap bumps via ModifyIntConstraintValue + rich-rule variant with a _TypeFilter constraint |
How to invoke
From an MCP-aware client connected to your Unreal Editor, call the tool by name with the documented args. Schema resources are fetched as
text/markdown by URI. The CrimsonMCPTools plugin must be enabled in the same project for any of this to be reachable.