Skip to content

v1.2.0 — Complete-NPC builder: inventory, loot & currency

Choose a tag to compare

@Txpple Txpple released this 24 Jun 23:24

No Foundry module required — standalone headless MCP server for D&D 5e on Foundry VTT.

This release closes the inventory/loot gap so an NPC can be authored completely — stats, traits, actions, spells, effects, and its gear/loot/coins.

Highlights

  • add-item (new tool, #75) — a structured physical-item builder, the inventory counterpart to add-feature. One tool discriminated by itemType: weapon · armor · shield · wondrous · consumable · tool · loot · container, with named params + soft-validation for the fields a GM expects (price, weight, quantity, rarity, attunement + attuned, equipped, identified, the magical +N bonus, properties). Targets an actor's inventory or the world Items sidebar, nests items in a container, and a weapon's attack routes through the same shared activity builder. Build a +1 flame-tongue longsword the creature actually fights with in one call.
  • update-actor currency — set or adjust an NPC's coins (pp/gp/ep/sp/cp); previously there was no way to give a creature money at all.
  • physical-item-builder skill — judgment layer over add-item (item-type choice, rarity↔price sanity, the magic-item rule, attunement defaults, container nesting). Reusable for treasure hoards.
  • stat-block-builder rewritten into the full 11-step NPC pipeline: stats → traits (prefer compendium import) → actions (the wielded weapon as a real item) → spells → effects → inventory/loot/coins → biography → art/ownership/folder finish → read-back.

Quality

  • 75 tools; 615 tests + build · biome · typecheck · knip green.
  • Live-verified 11/11 against a real Molten world; a 15-finding adversarial review (0 false positives) all addressed, including a HIGH fix where wireAc on a shield could clobber an authored natural-armor AC.

Install (source)

Download the zip → npm installnpx playwright install chromiumnpm run build → wire dist/index.js as your MCP server. See the README and .env.example / .mcp.json.example.