D&D Beyond MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DDB_NO_SANDBOX | No | Set to 1 to disable Chromium sandboxing. Required in some container/CI environments. | |
| DDB_CHARACTER_CACHE_TTL | No | Character sheet cache lifetime in seconds. Lower values give fresher HP/spell slot data during live play at the cost of more API calls. | 60 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ddb_loginA | Launch a browser and log into D&D Beyond. A Chrome window will open for you to complete login — it closes automatically once your session is saved. After that, character tools work without any browser. |
| ddb_close_browserA | Close the background browser window if one is open. Useful after running ddb_navigate, ddb_interact, or ddb_get_page. |
| ddb_clear_cacheA | Wipe in-process caches so the next call re-fetches from D&D Beyond. Use this when search results look like the SRD/Open5e fallback (e.g. 2024 cantrips missing from spell results) after you've logged in — the partial compendium build is cached for up to 5 minutes and this forces an immediate retry. cache='spells' (default) clears just the spell/reference compendium; 'all' wipes every cache. |
| ddb_list_charactersA | List all characters in your D&D Beyond account, including their ID, level, race, and class. Requires login — run ddb_login first if you haven't already. |
| ddb_get_character_rawA | Returns raw 300–500 KB character JSON. Requires confirm_large_response: true. Use ddb_get_character instead for all normal use. Requires login — run ddb_login first if you haven't already. |
| ddb_download_characterA | Download a character's full JSON data to a local file. Requires login — run ddb_login first if you haven't already. |
| ddb_get_characterA | Parse and display a character sheet. Use sections to reduce output: summary (vitals+stats), combat (adds actions/weapons), spells (spellcasting only), inventory, features, concentration, notes (backstory, traits, bonds), or full (default). Requires login — run ddb_login first if you haven't already. |
| ddb_character_lookupA | Look up the full description of a spell, feat, class feature, subclass feature, racial trait, background feature, or equipped item by name. Supports partial and fuzzy name matching (e.g. 'cutting' finds Cutting Words, 'sheild' finds Shield). Accepts either a numeric character_id or a character_name. Requires login — run ddb_login first if you haven't already. |
| ddb_search_monstersA | Search the D&D Beyond monster compendium by name, CR, type, or size. Returns a summary list. Use ddb_get_monster for the full stat block. Requires login. |
| ddb_get_monsterA | Get the full stat block for a specific monster from the D&D Beyond compendium. Searches by name (partial match). Requires login. |
| ddb_get_campaignA | Fetch campaign information including player characters from a D&D Beyond campaign. Requires login — run ddb_login first if you haven't already. |
| ddb_list_campaignsA | List all D&D Beyond campaigns you are part of (as DM or player). Requires login — run ddb_login first if you haven't already. |
| ddb_get_partyA | Fetch a compact summary of every character in a campaign. Returns HP, AC, initiative, passive scores, ability scores, and skills for the whole party in one call. Requires login — run ddb_login first if you haven't already. |
| ddb_navigateA | Navigate to any D&D Beyond URL and return the page's text content. Only dndbeyond.com URLs are allowed. The browser stays open after this call for follow-up ddb_interact or ddb_get_page calls. Call ddb_close_browser when finished. |
| ddb_interactA | Interact with the currently loaded D&D Beyond page by clicking, filling a form field, or taking a screenshot. The 'click' and 'fill' actions require confirm_click / confirm_fill: true — safety gates to prevent prompt injection on rendered DDB pages from triggering unintended state changes (deleting a character, leaving a campaign, posting to a forum). Screenshots are unguarded — they are read-only. |
| ddb_get_pageA | Return the text content of the currently loaded page in the browser. The browser stays open — call ddb_close_browser when finished. |
| ddb_search_siteB | Search D&D Beyond for spells, monsters, magic items, races, classes, or feats. |
| ddb_list_libraryA | List all books and sourcebooks you own in your D&D Beyond library. Requires login — run ddb_login first if you haven't already. |
| ddb_read_bookA | Read a D&D Beyond book. Accepts either a slug (e.g. dnd/phb-2024) or a plain title (e.g. "Player's Handbook" or "monster manual") — the server resolves titles against your library automatically. Specify chapter_slug for a chapter, query to jump to a heading, and max_chars to control response size. Requires login — run ddb_login first if you haven't already. |
| ddb_get_conditionA | Look up the rules text for a D&D condition (Blinded, Charmed, Frightened, Grappled, etc.). No login required. |
| ddb_search_spellsA | Search the full D&D Beyond spell compendium by name, level, school, concentration, or ritual. First call builds the compendium (slow); subsequent calls are instant. Requires login. |
| ddb_get_spellA | Get the full description of any spell in the D&D Beyond compendium by name. Not limited to a character's known spells. Requires login. |
| ddb_search_equipmentA | Search the D&D Beyond item/equipment compendium by name, rarity, or type. Covers mundane weapons (Longsword, Shortbow), armour (Plate, Chain Mail), adventuring gear, and magic items. Filter by rarity='common' to see only mundane equipment. Requires login. |
| ddb_get_equipmentA | Get the full stats and description of any item or equipment in the D&D Beyond compendium by name. Works for mundane weapons (e.g. 'Longbow'), armour (e.g. 'Plate'), adventuring gear, and magic items. Requires login. |
| ddb_search_racesA | Search all D&D Beyond races and subraces (including homebrew). Not character-specific. Requires login — run ddb_login first if you haven't already. |
| ddb_search_classesA | Search all D&D Beyond classes with hit die, spellcasting, and subclasses. Requires login — run ddb_login first if you haven't already. |
| ddb_search_backgroundsA | Search all D&D Beyond backgrounds (including homebrew). Requires login — run ddb_login first if you haven't already. |
| ddb_search_featsA | Search feats by name or prerequisite text. Requires login — run ddb_login first if you haven't already. |
| ddb_search_class_featuresA | Search class features by name, class, or level gained. Requires login — run ddb_login first if you haven't already. |
| ddb_search_racial_traitsA | Search racial traits by name or race. Requires login — run ddb_login first if you haven't already. |
| ddb_search_rulesA | Search the SRD rules sections by keyword. Searches across section names and full content — e.g. 'grapple' finds the Attacking section (which covers grapple rules) and the Conditions section (which has the Grappled condition). Returns a list of matching sections with their slugs. Use ddb_get_rules to read the full text of a section. No login required. |
| ddb_get_rulesA | Get the full SRD rules text for a topic by section name or slug. Covers all core 5e rules: Spellcasting, Abilities, Attacking, Combat Sequence, Actions in Combat, Damage and Healing, Conditions, Movement, Multiclassing, Rest, Saving Throws, Environment, Traps, Diseases, Madness, Poisons, Weapons, Armor, and more. Use query to jump to a specific topic within a long section. For non-SRD rules or more detail, use ddb_read_book. No login required. |
| ddb_rate_encounterA | Rate the difficulty of a D&D encounter. Defaults to 2024 XDMG rules (Low/Moderate/High, no multiplier). Set rules_edition to '2014' for the classic DMG XP threshold method (Easy/Medium/Hard/Deadly with encounter multiplier). Monsters are looked up in the compendium automatically — supply 'cr' directly for homebrew. |
| ddb_encounter_crA | Given a party and a target difficulty, returns the CR to aim for — broken down by encounter shape (solo boss, duo, squad, horde). Defaults to 2024 XDMG rules; set rules_edition to '2014' for classic DMG. No monster lookup required. Use with ddb_rate_encounter to verify a specific monster list. |
| ddb_roll_treasureA | Generate a treasure reward using the 2024 XDMG treasure tables (default). Provide either a CR directly or a list of monster names — CR is resolved automatically via fuzzy name matching. treasure_type 'hoard' makes one roll using the highest CR and includes magic items (requires character_level); 'individual' rolls once per monster and sums the results. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/iamjameslennon/ddb-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server