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

ToolArgsWhat it dumps
crimson.inventory.list_itemsActorName (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_constraintsActorName (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_layoutActorName (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_containerActorName (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_routingPlayerControllerName (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. 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.

URIContent
crimson://schema/inventory/item-definitionUCrimsonInventoryItemDefinition class doc
crimson://schema/inventory/item-fragmentsAll UCrimsonInventoryItemFragment subclasses with properties
crimson://schema/inventory/state-fragmentsAll UCrimsonInventoryStateFragment subclasses (Durability, Lifetime, etc.)
crimson://schema/inventory/footprint-fragmentUCrimsonInventoryItemFragment_Footprint class doc
crimson://schema/inventory/layoutsAll UCrimsonInventoryLayout subclasses (FlatSlot, Grid, Weight)
crimson://schema/inventory/constraintsAll UCrimsonInventoryConstraint subclasses (Slot, IntTag, FloatTag, TypeFilter, GridCellRule, StackLimit, CustomRule)
crimson://schema/inventory/routing-componentUCrimsonInventoryRoutingComponent class doc (RPCs, virtuals, save API)
crimson://schema/inventory/container-actorACrimsonContainerActorBase class doc (Scope, ContainerTag, OnScopedInstanceCreated)

Pattern guides

URIWalkthrough
crimson://patterns/inventory/consumableHealth-potion-style stackable consumable + GAS consume ability
crimson://patterns/inventory/weaponUnique weapon with Footprint dimensions + Equipment integration
crimson://patterns/inventory/container-actorWorld chest: all four scopes, OnScopedInstanceCreated, per-scope save
crimson://patterns/inventory/scoped-chestDeep dive: PerPlayer / PerParty / PerDungeonInstance with ResolvePartyKey override + lifecycle (viewer add/remove, instance destroy)
crimson://patterns/inventory/bag-extensionRuntime 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.