MCP Hub
Back to servers

D&D Beyond MCP Server

An MCP server that provides Claude direct access to D\&D Beyond accounts to manage characters, campaigns, and sourcebook content. It enables users to search for spells and monsters, retrieve character data, and read owned digital books through an authenticated session.

Updated
Feb 22, 2026

D&D Beyond MCP Server

A Model Context Protocol (MCP) server that gives Claude direct access to your D&D Beyond account — characters, campaigns, sourcebooks, spells, monsters, and more.

Features

ToolDescription
ddb_loginAuthenticate with D&D Beyond (Wizards ID). Run once to save your session to disk.
ddb_list_charactersList all characters in your account with ID, level, race, and class.
ddb_get_characterFetch full character JSON from the D&D Beyond character API.
ddb_download_characterSave a character's full JSON data to a local file.
ddb_list_campaignsList all campaigns you're part of (as DM or player).
ddb_get_campaignFetch campaign details — DM, description, and active characters.
ddb_list_libraryList all sourcebooks you own, purchased, or have shared with you.
ddb_read_bookRead content from an owned sourcebook, optionally by chapter slug.
ddb_searchSearch for spells, monsters, magic items, races, classes, or feats.
ddb_navigateNavigate to any D&D Beyond URL and return its text content.
ddb_interactClick, fill, or screenshot the currently loaded browser page.
ddb_current_pageReturn the text content of whatever page is currently loaded.

Prerequisites

Installation

Option A — Install directly from GitHub (recommended)

npm install -g github:ddb-mcp/ddb-mcp

This clones the repo, installs dependencies, and builds automatically. Then install the browser:

npx playwright install chromium

Find the install path and register with Claude Code:

npm root -g
# outputs something like /usr/local/lib/node_modules
claude mcp add dndbeyond node /usr/local/lib/node_modules/ddb-mcp/dist/index.js

Option B — Clone and build manually

git clone https://github.com/ddb-mcp/ddb-mcp.git
cd ddb-mcp
npm install
npx playwright install chromium

Register with Claude Code:

claude mcp add dndbeyond node /absolute/path/to/ddb-mcp/dist/index.js

Or edit ~/.claude/settings.json manually:

{
  "mcpServers": {
    "dndbeyond": {
      "command": "node",
      "args": ["/absolute/path/to/ddb-mcp/dist/index.js"]
    }
  }
}

Usage

First-time login

The first time you use the server, you need to authenticate:

ddb_login

A browser window (Chrome for Testing) will open and navigate to the D&D Beyond login page. Complete the login using your Wizards ID account. Once you're redirected back to D&D Beyond, your session is automatically saved to ~/.config/ddb-mcp/session.json and reused on all future calls.

You only need to log in once. If your session expires, just run ddb_login again.

Example prompts

List your characters:

List all my D&D Beyond characters

Get full character data:

Get the full character sheet for character ID 140476673

List your campaigns:

What campaigns am I part of on D&D Beyond?

Get campaign details:

Show me the details for campaign 6709239, including all the player characters

Search for spells:

Search D&D Beyond for spells named "Fireball"

Search for monsters:

Find the Beholder stat block on D&D Beyond

Read a sourcebook:

Show me the table of contents for the Player's Handbook
Read the Barbarian class section from the Player's Handbook

Download a character:

Download the character data for Roland Stonehelm to my Downloads folder

Finding character and campaign IDs

  • Character ID: The number in the character URL — dndbeyond.com/characters/140476673
  • Campaign ID: The number in the campaign URL — dndbeyond.com/campaigns/6709239

You can also use ddb_list_characters and ddb_list_campaigns to get IDs without leaving Claude.

Book slugs for ddb_read_book

Use ddb_list_library to get the slug for any book you own. Examples:

BookSlug
Player's Handbook (2024)dnd/phb-2024
Dungeon Master's Guide (2024)dnd/dmg-2024
Monster Manual (2024)dnd/mm-2024
Player's Handbook (2014)dnd/phb-2014

To read a specific chapter, pass the chapter path after the book slug:

ddb_read_book("dnd/phb-2024", "character-classes/barbarian")

Session storage

Your session is saved to ~/.config/ddb-mcp/session.json. This file contains browser cookies and local storage from your D&D Beyond login. Keep this file private — it grants access to your account.

To log out or reset your session, delete the file:

rm ~/.config/ddb-mcp/session.json

Development

# Run in development mode (no build step needed)
npm run dev

# Build
npm run build

# Watch mode
npm run build:watch

License

MIT

Reviews

No reviews yet

Sign in to write a review