dndbeyond-mcp
Click on "Deploy 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., "@dndbeyond-mcpRoll 2d20 for initiative."
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
A local Model Context Protocol server that gives Claude access to D&D Beyond character sheets, an SRD content search, a dice roller, and (optionally) your campaigns.
Heads up: D&D Beyond has no official public API. The character and campaign tools use undocumented internal endpoints that Wizards of the Coast can change or remove without notice. The spell/monster/item search uses the open-licensed Open5e SRD API, which is stable. Keep usage personal and within D&D Beyond's terms of service.
Tools
Tool | What it does | Needs auth? |
| Fetch a public character sheet by ID (stats, HP, inventory, spells) | No |
| Roll standard notation: | No |
| Search SRD spells | No |
| Search SRD monster statblocks | No |
| Search SRD magic items | No |
| List campaigns on your account | Yes (cobalt cookie) |
| Details for one campaign | Yes (cobalt cookie) |
The character tool only works if the sheet's privacy is set to Public (or Campaign Only) on
D&D Beyond. Find the character ID in the sheet URL: dndbeyond.com/characters/<ID>.
Related MCP server: D&D Beyond MCP Server
Setup
Install Python 3.10+ and the dependencies:
cd dndbeyond-mcp python3 -m pip install -r requirements.txtTest that it starts (Ctrl+C to stop — it waits for a client over stdio):
python3 server.py
Testing
A smoke test verifies tool registration, the dice roller (offline), the SRD search (live), and optionally a real character sheet:
python tests/test_smoke.pyTo also test a public character sheet, pass its ID (from a
dndbeyond.com/characters/<ID> URL):
python tests/test_smoke.py --character 24998307Offline checks always run; the live SRD search is reported as SKIP (not a
failure) if you have no network. A clean run ends with smoke test passed.
Connect to Claude Desktop
Edit your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add this server (use the absolute path to server.py, and your real python3 path if needed):
{
"mcpServers": {
"dndbeyond": {
"command": "python3",
"args": ["/Users/seansanve/dndbeyond-mcp/server.py"],
"env": {
"DDB_COBALT_COOKIE": ""
}
}
}
}Replace the path above with wherever this folder lives on your machine. If you use a virtualenv, point
commandat that venv's python (e.g./Users/seansanve/dndbeyond-mcp/.venv/bin/python) so themcpandhttpxdependencies are available.
Restart Claude Desktop. You should see the dndbeyond tools appear. Try:
"Roll
adv d20+7for me.""Look up the fireball spell."
"Fetch D&D Beyond character 12345678."
Enabling the campaign tools (optional)
list_campaigns and get_campaign need your login session:
Log in to dndbeyond.com in your browser.
Open DevTools (F12) → Application → Cookies →
https://www.dndbeyond.com.Copy the value of the
CobaltSessioncookie.Paste it as
DDB_COBALT_COOKIEin the configenvabove (or in a local.envfile — see.env.example).
This cookie is a login secret — keep it private. It expires periodically; when the campaign tools start failing with auth errors, refresh it.
Notes & limitations
Undocumented endpoints break sometimes. If
get_characteror the campaign tools return unexpected errors, the endpoints may have changed — check D&D Beyond's network traffic in DevTools to find the current URL and updateserver.py.get_characterreturns a readable summary by default; passraw=truefor the full JSON.The campaign endpoints (
/api/campaign/stt/...) are best-effort and the least stable part of this server; they may need adjusting for your account.SRD search only covers open-licensed content, not paid D&D Beyond sourcebooks.
This server cannot be deployed
Maintenance
Related MCP Connectors
D&D 5e MCP — wraps the D&D 5th Edition API (free, no auth)
Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Related MCP Servers
- AlicenseAqualityBmaintenanceD\&D 5e SRD MCP server - monster search, spell lookup, encounter building, and character tools powered by ground-truth SRD data20465MIT
- AlicenseAqualityAmaintenanceA Model Context Protocol server that gives Claude direct access to your D\&D Beyond account for characters, campaigns, sourcebooks, spells, monsters, rules, encounters, and treasure.35111MIT

SagaSmith D&D MCPofficial
AlicenseNot gradedqualityFmaintenanceA local MCP server for Dungeons & Dragons campaign management, combining core runtime with skill and module-generation packs. It enables campaign creation, module generation and import, rule and skill searching via tools, resources, and prompts.Apache 2.0- FlicenseNot gradedqualityBmaintenanceSelf-hosted MCP server for D&D 5e rules reference, answering rule questions, providing character summaries, and assisting with character creation, based on imported sources with proper attribution.-