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.
README
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
- 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 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.