Skip to main content
Glama
ddb-mcp
by ddb-mcp

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

Tool

Description

ddb_login

Authenticate with D&D Beyond (Wizards ID). Run once to save your session to disk.

ddb_list_characters

List all characters in your account with ID, level, race, and class.

ddb_get_character

Fetch full character JSON from the D&D Beyond character API.

ddb_download_character

Save a character's full JSON data to a local file.

ddb_list_campaigns

List all campaigns you're part of (as DM or player).

ddb_get_campaign

Fetch campaign details — DM, description, and active characters.

ddb_list_library

List all sourcebooks you own, purchased, or have shared with you.

ddb_read_book

Read content from an owned sourcebook, optionally by chapter slug.

ddb_search

Search for spells, monsters, magic items, races, classes, or feats.

ddb_navigate

Navigate to any D&D Beyond URL and return its text content.

ddb_interact

Click, fill, or screenshot the currently loaded browser page.

ddb_current_page

Return the text content of whatever page is currently loaded.

Prerequisites

Installation

npm install -g "https://github.com/ddb-mcp/ddb-mcp/archive/refs/heads/main.tar.gz"

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:

Book

Slug

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")

Upgrading

To upgrade to the latest release, run the install command again — npm will overwrite the existing installation:

npm install -g "https://github.com/ddb-mcp/ddb-mcp/archive/refs/heads/main.tar.gz"

To install a specific tagged version:

npm install -g "https://github.com/ddb-mcp/ddb-mcp/archive/refs/tags/v1.0.2.tar.gz"

Then restart Claude Code and run /mcp to reconnect the server.

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

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ddb-mcp/ddb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server