beyond-mcp
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 |
| Handshake: |
| Charakterbogen per numerischer ID – kompakte HP/AC/Zustände-Momentaufnahme; |
| Kompendium-Monster nach Name oder ID – kompakte HP/AC/CR-Momentaufnahme; |
| Alle Kampagnen, in denen das Konto Mitglied ist, mit IDs. |
|
|
| 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). |
| Cursor-basiertes Abrufen erfasster Würfe (Roh-Nachricht + einzeilige Zusammenfassung). Konsumenten spiegeln die tatsächlichen Würfelwerte – es wird nie neu gewürfelt. |
| 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 |
| Setzt aktuelle und/oder temporäre HP auf einen Absolutwert (begrenzt auf |
| 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 |
| Wert des |
| Verzeichnis mit |
| Standardkampagne für |
| Auf |
| Nur HTTP-Zugang (Standard 39210 / 127.0.0.1 / automatisch in |
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, stdioNode 20+, TypeScript (NodeNext ESM), vitest – gleiche Konventionen wie roll20-dm-mcp.
Maintenance
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
- FlicenseNot gradedqualityAmaintenanceConnects 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
- AlicenseBqualityDmaintenanceA 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.972MIT
- FlicenseNot gradedqualityDmaintenanceAn 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
- 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.35301MIT
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
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/eschatus/beyond-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server