D&D Beyond MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@D&D Beyond MCP ServerShow me the stat block for a Beholder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Authenticate with D&D Beyond (Wizards ID). Run once to save your session to disk. |
| List all characters in your account with ID, level, race, and class. |
| Fetch full character JSON from the D&D Beyond character API. |
| Save a character's full JSON data to a local file. |
| List all campaigns you're part of (as DM or player). |
| Fetch campaign details — DM, description, and active characters. |
| List all sourcebooks you own, purchased, or have shared with you. |
| Read content from an owned sourcebook, optionally by chapter slug. |
| Search for spells, monsters, magic items, races, classes, or feats. |
| Navigate to any D&D Beyond URL and return its text content. |
| Click, fill, or screenshot the currently loaded browser page. |
| Return the text content of whatever page is currently loaded. |
Prerequisites
Node.js 18 or later
Claude Code CLI
Installation
Option A — Install directly from GitHub (recommended)
npm install -g "https://github.com/ddb-mcp/ddb-mcp/archive/refs/heads/main.tar.gz"Then install the browser:
npx playwright install chromiumFind the install path and register with Claude Code:
npm root -g
# outputs something like /usr/local/lib/node_modulesclaude mcp add dndbeyond node /usr/local/lib/node_modules/ddb-mcp/dist/index.jsOption B — Clone and build manually
git clone https://github.com/ddb-mcp/ddb-mcp.git
cd ddb-mcp
npm install
npx playwright install chromiumRegister with Claude Code:
claude mcp add dndbeyond node /absolute/path/to/ddb-mcp/dist/index.jsOr 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_loginA 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 charactersGet full character data:
Get the full character sheet for character ID 140476673List 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 charactersSearch for spells:
Search D&D Beyond for spells named "Fireball"Search for monsters:
Find the Beholder stat block on D&D BeyondRead a sourcebook:
Show me the table of contents for the Player's HandbookRead the Barbarian class section from the Player's HandbookDownload a character:
Download the character data for Roland Stonehelm to my Downloads folderFinding character and campaign IDs
Character ID: The number in the character URL —
dndbeyond.com/characters/140476673Campaign 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) |
|
Dungeon Master's Guide (2024) |
|
Monster Manual (2024) |
|
Player's Handbook (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.jsonDevelopment
# Run in development mode (no build step needed)
npm run dev
# Build
npm run build
# Watch mode
npm run build:watchLicense
MIT
This server cannot be installed
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