D&D 5e Toolkit
description: D&D 5e toolkit for players and DMs. Roll dice, look up spells and monsters, generate characters, create encounters, and spawn NPCs. Uses the official D&D 5e SRD API.
by capt-marbles · published 2026-03-22
$ claw add gh:capt-marbles/capt-marbles-dnd---
name: dnd
description: D&D 5e toolkit for players and DMs. Roll dice, look up spells and monsters, generate characters, create encounters, and spawn NPCs. Uses the official D&D 5e SRD API.
version: 1.0.0
author: captmarbles
---
# D&D 5e Toolkit
Your complete Dungeons & Dragons 5th Edition assistant! Look up spells, monsters, roll dice, generate characters, encounters, and NPCs.
Features
🎲 **Dice Roller** - Roll any dice with modifiers
✨ **Spell Lookup** - Search the entire SRD spell list
👹 **Monster Stats** - Get full stat blocks for any creature
⚔️ **Character Generator** - Random characters with stats
🗡️ **Encounter Builder** - Generate balanced encounters by CR
👤 **NPC Generator** - Create random NPCs with personality
Usage
All commands use the `dnd.py` script.
Roll Dice
# Roll 2d6 with +3 modifier
python3 dnd.py roll 2d6+3
# Roll d20
python3 dnd.py roll 1d20
# Roll with negative modifier
python3 dnd.py roll 1d20-2
# Roll multiple dice
python3 dnd.py roll 8d6**Output:**
🎲 Rolling 2d6+3
Rolls: [4 + 5] +3
Total: 12Look Up Spells
# Search for a spell
python3 dnd.py spell --search fireball
# Direct lookup
python3 dnd.py spell fire-bolt
# List all spells
python3 dnd.py spell --list**Output:**
✨ Fireball
Level: 3 Evocation
Casting Time: 1 action
Range: 150 feet
Components: V, S, M
Duration: Instantaneous
A bright streak flashes from your pointing finger to a point
you choose within range and then blossoms with a low roar into
an explosion of flame...Look Up Monsters
# Search for a monster
python3 dnd.py monster --search dragon
# Direct lookup
python3 dnd.py monster ancient-red-dragon
# List all monsters
python3 dnd.py monster --list**Output:**
👹 Adult Red Dragon
Huge Dragon, chaotic evil
CR 17 (18,000 XP)
AC: 19
HP: 256 (19d12+133)
Speed: walk 40 ft., climb 40 ft., fly 80 ft.
STR 27 | DEX 10 | CON 25
INT 16 | WIS 13 | CHA 21
Special Abilities:
• Legendary Resistance (3/Day): If the dragon fails a saving throw...
Actions:
• Multiattack: The dragon can use its Frightful Presence...Generate Random Character
# Generate character with rolled stats
python3 dnd.py character**Output:**
⚔️ Elara
Race: Elf
Class: Wizard
Stats:
STR: 10 (+0)
DEX: 15 (+2)
CON: 12 (+1)
INT: 16 (+3)
WIS: 13 (+1)
CHA: 8 (-1)Generate Random Encounter
# Generate encounter with challenge rating
python3 dnd.py encounter --cr 5
# Random CR
python3 dnd.py encounter**Output:**
🎲 Random Encounter (CR ~5)
2x Troll (CR 5)
AC 15, HP 84
1x Ogre (CR 2)
AC 11, HP 59Generate Random NPC
python3 dnd.py npc**Output:**
👤 Finn Shadowend
Race: Halfling
Occupation: Merchant
Trait: CuriousExample Prompts for Clawdbot
JSON Output
Add `--json` to any command for structured output:
python3 dnd.py roll 2d6 --json
python3 dnd.py spell --search fireball --json
python3 dnd.py character --jsonAPI Source
Uses the official [D&D 5e API](https://www.dnd5eapi.co/) which includes all System Reference Document (SRD) content.
Tips
Future Ideas
Enjoy your adventure! 🐉⚔️✨
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...