Skip to main content
Glama
eschatus

beyond-mcp

by eschatus

beyond-mcp

D&D Beyond MCP-Server: Charakterbögen, Monster-Statblocks, Kampagnenlisten, ein Live-Würfe-Feed aus dem Spiellog und optionale Schreibzugriffe auf Bögen. Extrahiert aus roll20-dm-mcp gemäß dessen Issue #171, sodass DDB hinter einer eigenen MCP-Schnittstelle sitzt – die dm-whisper-Gem und Claude Code wählen es per Konfiguration aus, neben austauschbaren VTT-Primitiv-Servern (heute roll20-dm-mcp, später forge-mcp/ddb-maps-mcp).

Dieser Server weiß nichts über Roll20 oder irgendein VTT und öffnet nie einen Browser. Lesezugriffe sind immer aktiv; Schreibzugriffe sind Opt-in (DDB_WRITES=enabled).

Früher ddb-mcp; umbenannt, um eine Kollision mit dem unabhängigen öffentlichen ddb-mcp/ddb-mcp zu vermeiden. Alte Repo-URLs leiten weiter.

Werkzeuge

Tool

Funktion

ddb_ping

Handshake: {pong, server, version, capabilities}. Bei Verbindungsaufbau aufrufen, um eine Mindestversion (Semver) zu prüfen und zu sehen, welche Fähigkeiten (writes/rollPump/partySnapshot) diese Instanz bereitstellt.

ddb_get_character

Charakterbogen per numerischer ID – kompakte HP/AC/Zustände-Momentaufnahme; full:true fügt den geparsten Statbogen hinzu (Attribute, Rettungswürfe, Fertigkeiten, Initiative).

ddb_get_monster

Kompendium-Monster nach Name oder ID – kompakte HP/AC/CR-Momentaufnahme; full:true liefert den gesamten Statblock.

ddb_list_campaigns

Alle Kampagnen, in denen das Konto Mitglied ist, mit IDs.

ddb_list_campaign_characters

{id, name}-Liste einer Kampagne.

start_ddb_roll_pump

WebSocket zum Spiellog einer Kampagne abonnieren; abgeschlossene Würfe in einem begrenzten Puffer erfassen. Überspringt standardmäßig über Beyond20 übertragene Würfe (Gap-Fill-Modus).

ddb_poll_rolls

Cursor-basiertes Abrufen erfasster Würfe (Roh-Nachricht + einzeilige Zusammenfassung). Konsumenten spiegeln die tatsächlichen Würfelwerte – es wird nie neu gewürfelt.

stop_ddb_roll_pump / ddb_roll_pump_status

Pumpe stoppen / Verbindungsstatus melden (CONNECTED vs. RETRYING, Fehleranzahl, letzter Fehler).

Toolnamen und Standard-Ausgabeformate entsprechen dem, was roll20-dm-mcp bereitgestellt hat, sodass bestehende Aufrufer migrieren, indem sie auf diesen Server zeigen. Der Roll-Pump unterscheidet sich bewusst: Er puffert, statt an Roll20 zu posten – das Gem leert ihn und überträgt Würfe über post_roll_as_character von roll20-dm-mcp.

Schreibwerkzeuge (Opt-in – DDB_WRITES=enabled)

Lesezugriffe sind immer verfügbar; diese Mutationswerkzeuge werden nur registriert, wenn die Bereitstellung DDB_WRITES=enabled setzt. So bleiben Vorbereitungs- und Standardinstallationen schreibgeschützt. Sie sind Primitive – sie bewirken exakt die angeforderte Änderung an der übergebenen Charakter-ID, ohne Richtlinie, wem der Bogen gehört. Da die DDB-PC-HP auch durch Beyond20 und die eigenen Bearbeitungen des Spielers bestimmt wird, konkurrieren Schreibvorgänge mit diesen (last-writer-wins) und sind als bewusste Handlungen des DM gedacht.

Tool

Funktion

ddb_set_hp

Setzt aktuelle und/oder temporäre HP auf einen Absolutwert (begrenzt auf [0, max]).

ddb_apply_condition / ddb_remove_condition

Fügt einen 5e-Zustand hinzu/entfernt ihn per Name (Erschöpfung erfordert eine Stufe).

Related MCP server: DM20 Protocol

Authentifizierung

Lesezugriffe authentifizieren sich mit dem CobaltSession-Cookie von D&D Beyond (das gegen ein kurzlebiges JWT eingetauscht wird; siehe docs/ddb-browserless-protocol.md). Das Cookie wird verbraucht, nie geerntet: DDB_COBALT in der Umgebung angeben oder DDB_DATA_DIR auf das Verzeichnis zeigen lassen, in das das Gem ddb-cobalt.json schreibt. Fehlendes oder abgelaufenes Cookie ⇒ jeder Lesezugriff schlägt deutlich fehl, mit Anweisungen zum erneuten Ernten.

Konfiguration

Env

Bedeutung

DDB_COBALT

Wert des CobaltSession-Cookies (überschreibt die Datendatei).

DDB_DATA_DIR

Verzeichnis mit ddb-cobalt.json + Caches. Auf das Datenverzeichnis des Gems zeigen lassen (das ROLL20_DATA_DIR von roll20-dm-mcp), um das geerntete Cookie zu teilen. Standard: ./data.

DDB_CAMPAIGN_ID

Standardkampagne für ddb_list_campaign_characters / start_ddb_roll_pump.

DDB_WRITES

Auf enabled setzen, um die Schreibwerkzeuge zu registrieren (Standard: nur Lesen).

DDB_HTTP_PORT / DDB_HTTP_HOST / DDB_MCP_TOKEN

Nur HTTP-Zugang (Standard 39210 / 127.0.0.1 / automatisch in .env generiert).

Ausführen

npm install
npm run build
npm start            # stdio MCP server (Claude Code .mcp.json, gem supervised spawn)
npm run serve        # HTTP MCP server on /mcp + rolls SSE on /events (bearer-authed)

Claude Code .mcp.json:

{
  "mcpServers": {
    "ddb": { "command": "node", "args": ["E:/personalProjects/beyond-mcp/dist/index.js"] }
  }
}

Entwicklung

npm test             # vitest run
npx vitest run src/bridge/ddb-gamelog.test.ts   # one file
npm run lint
npm run dev          # tsx watch, stdio

Node 20+, TypeScript (NodeNext ESM), vitest – gleiche Konventionen wie roll20-dm-mcp.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
<1hResponse time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    Connects Claude Desktop to Foundry VTT for AI-powered campaign management, enabling natural language interaction with game data including quest creation, character management, compendium searches, and dice rolling. Provides 20 MCP tools for seamless integration between Claude and your tabletop RPG sessions.
    66
  • A
    license
    B
    quality
    D
    maintenance
    A comprehensive MCP server for managing AI-assisted Dungeons & Dragons campaigns, featuring tools for character sheets, combat tracking, and world-building. It enables players and DMs to interact with 5e game mechanics and query personal PDF rulebooks using RAG capabilities.
    97
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    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.
    5

View all related MCP servers

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

View all MCP Connectors

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/eschatus/beyond-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server