← Back to search

@iamjameslennon/ddb-mcp

GitHub Actions Scanned 26d ago

D&D Beyond MCP Server with Google Auth

C
62.9 / 100

Versions

2.10.2latest
Jul 17, 2026
2.10.1
Jun 22, 2026
2.10.0
Jun 9, 2026
2.9.2
Jun 2, 2026
2.9.1
Jun 2, 2026
+ show 10 moreshow less
2.9.0
May 19, 2026
2.8.0
May 13, 2026
2.7.1
May 12, 2026
2.7.0
May 11, 2026
2.6.4
May 10, 2026
2.6.1
May 9, 2026
2.5.0
May 8, 2026
2.4.3
May 8, 2026
2.4.2
May 8, 2026
2.3.0
May 8, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 35

ddb_login
annotations: none low

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_browser
annotations: none low

Close the background browser window if one is open. Useful after running ddb_navigate, ddb_interact, or ddb_get_page.

ddb_clear_cache
annotations: none low

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

ddb_list_characters
annotations: none low

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

ddb_get_character_raw
annotations: none low

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

character_id string character_name string
ddb_download_character
annotations: none low

Download a character

character_id string
ddb_get_character
annotations: none low

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

character_id string character_name string
ddb_character_lookup
annotations: none low

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.

name string character_id string character_name string
ddb_search_monsters
annotations: none low

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.

cr number name string size string type string
ddb_get_monster
annotations: none low

Get the full stat block for a specific monster from the D&D Beyond compendium. Searches by name (partial match). Requires login.

name string
ddb_get_campaign
annotations: none low

Fetch campaign information including player characters from a D&D Beyond campaign. Requires login — run ddb_login first if you haven

campaign_id string
ddb_list_campaigns
annotations: none low

List all D&D Beyond campaigns you are part of (as DM or player). Requires login — run ddb_login first if you haven

ddb_get_party
annotations: none low

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

campaign_id string
ddb_navigate
annotations: none low

Navigate to any D&D Beyond URL and return the page

ddb_interact
annotations: none low

Interact with the currently loaded D&D Beyond page by clicking, filling a form field, or taking a screenshot. The

selector string
ddb_get_page
annotations: none low

Return the text content of the currently loaded page in the browser. The browser stays open — call ddb_close_browser when finished.

ddb_search_site
annotations: none low

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

query string
ddb_list_library
annotations: none low

List all books and sourcebooks you own in your D&D Beyond library. Requires login — run ddb_login first if you haven

ddb_read_book
annotations: none low

Read a D&D Beyond book. Accepts either a slug (e.g. dnd/phb-2024) or a plain title (e.g. \

query string max_chars number
ddb_get_condition
annotations: none low

Look up the rules text for a D&D condition (Blinded, Charmed, Frightened, Grappled, etc.). No login required.

name string
ddb_search_spells
annotations: none low

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.

name string level number limit number offset number ritual boolean school string concentration boolean
ddb_get_spell
annotations: none low

Get the full description of any spell in the D&D Beyond compendium by name. Not limited to a character

name string
ddb_search_equipment
annotations: none low

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=

name string type string rarity string
ddb_get_equipment
annotations: none low

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.

name string
ddb_search_races
annotations: none low

Search all D&D Beyond races and subraces (including homebrew). Not character-specific. Requires login — run ddb_login first if you haven

name string limit number offset number
ddb_search_classes
annotations: none low

Search all D&D Beyond classes with hit die, spellcasting, and subclasses. Requires login — run ddb_login first if you haven

name string limit number offset number
ddb_search_backgrounds
annotations: none low

Search all D&D Beyond backgrounds (including homebrew). Requires login — run ddb_login first if you haven

name string limit number offset number
ddb_search_feats
annotations: none low

Search feats by name or prerequisite text. Requires login — run ddb_login first if you haven

name string limit number offset number prerequisite string
ddb_search_class_features
annotations: none low

Search class features by name, class, or level gained. Requires login — run ddb_login first if you haven

name string level number limit number offset number class_name string
ddb_search_racial_traits
annotations: none low

Search racial traits by name or race. Requires login — run ddb_login first if you haven

name string limit number offset number race_name string
ddb_search_rules
annotations: none low

Search the SRD rules sections by keyword. Searches across section names and full content — e.g.

query string
ddb_get_rules
annotations: none low

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.

name string query string max_chars number
ddb_rate_encounter
annotations: none low

Rate the difficulty of a D&D encounter. Defaults to 2024 XDMG rules (Low/Moderate/High, no multiplier). Set rules_edition to

count number level number
ddb_encounter_cr
annotations: none low

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

count number level number monster_count number
ddb_roll_treasure
annotations: none low

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

cr number name string count number character_level number

Permissions 3

network medium
Server uses network capabilities via: fetch()
shell high
Server uses shell capabilities via: child_process, execSync(), spawn(), spawnSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 84

low
Tool 'ddb_login' has no annotations annotation_checker · 100%
low
Tool 'ddb_close_browser' has no annotations annotation_checker · 100%
low
Tool 'ddb_clear_cache' has no annotations annotation_checker · 100%
low
Tool 'ddb_list_characters' has no annotations annotation_checker · 100%
low
Tool 'ddb_get_character_raw' has no annotations annotation_checker · 100%
low
Tool 'ddb_download_character' has no annotations annotation_checker · 100%
low
Tool 'ddb_get_character' has no annotations annotation_checker · 100%
low
Tool 'ddb_character_lookup' has no annotations annotation_checker · 100%
low
Tool 'ddb_search_monsters' has no annotations annotation_checker · 100%
low
Tool 'ddb_get_monster' has no annotations annotation_checker · 100%
low
Tool 'ddb_get_campaign' has no annotations annotation_checker · 100%
low
Tool 'ddb_list_campaigns' has no annotations annotation_checker · 100%
low
Tool 'ddb_get_party' has no annotations annotation_checker · 100%
low
Tool 'ddb_navigate' has no annotations annotation_checker · 100%
low
Tool 'ddb_interact' has no annotations annotation_checker · 100%
low
Tool 'ddb_get_page' has no annotations annotation_checker · 100%
low
Tool 'ddb_search_site' has no annotations annotation_checker · 100%
low
Tool 'ddb_list_library' has no annotations annotation_checker · 100%
low
Tool 'ddb_read_book' has no annotations annotation_checker · 100%
low
Tool 'ddb_get_condition' has no annotations annotation_checker · 100%
low
Tool 'ddb_search_spells' has no annotations annotation_checker · 100%
low
Tool 'ddb_get_spell' has no annotations annotation_checker · 100%
low
Tool 'ddb_search_equipment' has no annotations annotation_checker · 100%
low
Tool 'ddb_get_equipment' has no annotations annotation_checker · 100%
low
Tool 'ddb_search_races' has no annotations annotation_checker · 100%
low
Tool 'ddb_search_classes' has no annotations annotation_checker · 100%
low
Tool 'ddb_search_backgrounds' has no annotations annotation_checker · 100%
low
Tool 'ddb_search_feats' has no annotations annotation_checker · 100%
low
Tool 'ddb_search_class_features' has no annotations annotation_checker · 100%
low
Tool 'ddb_search_racial_traits' has no annotations annotation_checker · 100%
low
Tool 'ddb_search_rules' has no annotations annotation_checker · 100%
low
Tool 'ddb_get_rules' has no annotations annotation_checker · 100%
low
Tool 'ddb_rate_encounter' has no annotations annotation_checker · 100%
low
Tool 'ddb_encounter_cr' has no annotations annotation_checker · 100%
low
Tool 'ddb_roll_treasure' has no annotations annotation_checker · 100%
medium
OAuth implementation without PKCE auth_checker · 75%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.0.0 (GHSA-w48q-cv73-mx4w) dependency_analyzer · 95%
medium
Vulnerable dependency: playwright@1.49.0 (GHSA-7mvr-c777-76hp) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
Tool: ddb_login manifest_parser · 70%
info
Tool: ddb_close_browser manifest_parser · 70%
info
Tool: ddb_clear_cache manifest_parser · 70%
info
Tool: ddb_list_characters manifest_parser · 70%
info
Tool: ddb_get_character_raw manifest_parser · 70%
info
Tool: ddb_download_character manifest_parser · 70%
info
Tool: ddb_get_character manifest_parser · 70%
info
Tool: ddb_character_lookup manifest_parser · 70%
info
Tool: ddb_search_monsters manifest_parser · 70%
info
Tool: ddb_get_monster manifest_parser · 70%
info
Tool: ddb_get_campaign manifest_parser · 70%
info
Tool: ddb_list_campaigns manifest_parser · 70%
info
Tool: ddb_get_party manifest_parser · 70%
info
Tool: ddb_navigate manifest_parser · 70%
info
Tool: ddb_interact manifest_parser · 70%
info
Tool: ddb_get_page manifest_parser · 70%
info
Tool: ddb_search_site manifest_parser · 70%
info
Tool: ddb_list_library manifest_parser · 70%
info
Tool: ddb_read_book manifest_parser · 70%
info
Tool: ddb_get_condition manifest_parser · 70%
info
Tool: ddb_search_spells manifest_parser · 70%
info
Tool: ddb_get_spell manifest_parser · 70%
info
Tool: ddb_search_equipment manifest_parser · 70%
info
Tool: ddb_get_equipment manifest_parser · 70%
info
Tool: ddb_search_races manifest_parser · 70%
info
Tool: ddb_search_classes manifest_parser · 70%
info
Tool: ddb_search_backgrounds manifest_parser · 70%
info
Tool: ddb_search_feats manifest_parser · 70%
info
Tool: ddb_search_class_features manifest_parser · 70%
info
Tool: ddb_search_racial_traits manifest_parser · 70%
info
Tool: ddb_search_rules manifest_parser · 70%
info
Tool: ddb_get_rules manifest_parser · 70%
info
Tool: ddb_rate_encounter manifest_parser · 70%
info
Tool: ddb_encounter_cr manifest_parser · 70%
info
Tool: ddb_roll_treasure manifest_parser · 70%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (5) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'ddb_search_spells': Cross-tool prerequisite: 'first call/use' poisoning · 85%
info
SBOM generated: 294 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%