D&D 5e
liveGamesEntertainmentBrowse spells, monsters, and classes from the D&D 5th Edition SRD API
Tools
get_spellrequired: indexGet spell details including damage, range, duration, components, and effects. Provide spell index (e.g., "fireball", "magic-missile", "cure-wounds"). Returns damage dice, range, casting time, and effe
indexreqstringSpell index name in kebab-case (e.g. "fireball", "magic-missile").Try it
get_monsterrequired: indexGet monster stats including AC, HP, abilities, skills, senses, and actions. Provide monster index (e.g., "aboleth", "dragon-red-adult", "goblin"). Returns ability scores, skill bonuses, and attack/act
indexreqstringMonster index name in kebab-case (e.g. "goblin", "dragon-red-adult").Try it
get_classrequired: indexGet class features, hit dice, proficiencies, and advancement tables. Provide class index (e.g., "barbarian", "wizard", "rogue"). Returns feature progression, proficiency gains, and subclass options.
indexreqstringClass index name in lowercase (e.g. "wizard", "fighter", "cleric").Try it
list_spellsSearch D&D 5e spells by name or level. Returns spell indices, names, and levels for use with get_spell to fetch full details.
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/dnd5e/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/dnd5e/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_spell","arguments":{"index": "fireball"}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("get_spell", {"index":"example"});// Or ask in plain English:
const answer = await px.ask("browse spells, monsters, and classes from the d&d 5th edition srd api");