beyond-mcp
beyond-mcp
Servidor MCP de D&D Beyond: hojas de personaje, bloques de estadísticas de monstruos, listas de campaña, un feed en vivo del registro de tiradas y escrituras de hoja opt-in. Extraído de roll20-dm-mcp según su issue #171, de modo que DDB queda detrás de su propio punto de integración MCP: la gema dm-whisper y Claude Code lo seleccionan por configuración, junto a servidores intercambiables de primitivas de VTT (roll20-dm-mcp hoy, forge-mcp/ddb-maps-mcp más adelante).
Este servidor no sabe nada de Roll20 ni de ningún VTT y nunca abre un navegador. Las lecturas están siempre activas; las escrituras son opt-in (DDB_WRITES=enabled).
Antes
ddb-mcp; renombrado para evitar una colisión con el proyecto público no relacionado ddb-mcp/ddb-mcp. Las URL antiguas del repositorio redirigen.
Herramientas
Tool | Qué hace |
| Protocolo de inicio: |
| Hoja de personaje por id numérico: instantánea compacta de HP/AC/condiciones; |
| Monstruo del compendio por nombre o id: instantánea compacta de HP/AC/CR; |
| Todas las campañas en las que está la cuenta, con sus ids. |
| Lista de personajes |
| Suscríbete al WebSocket del registro de juego de una campaña; captura las tiradas de dados completadas en un búfer acotado. Omite por defecto las tiradas puenteadas por Beyond20 (modo de relleno de huecos). |
| Vaciado de las tiradas capturadas basado en cursor (mensaje bruto + resumen de una línea). Los consumidores reflejan los valores reales de los dados; nunca vuelven a tirar. |
| Detener la bomba / informar del estado de la conexión (CONNECTED vs RETRYING, número de fallos, último error). |
Los nombres de las herramientas y las formas de salida predeterminadas coinciden con lo que servía roll20-dm-mcp, de modo que los clientes existentes migran apuntando a este servidor. La bomba de tiradas difiere por diseño: almacena en búfer en lugar de publicar en Roll20; la gema vacía el búfer y puentea las tiradas mediante post_roll_as_character de roll20-dm-mcp.
Herramientas de escritura (opt-in — DDB_WRITES=enabled)
Las lecturas están siempre disponibles; estas herramientas de mutación se registran solo cuando el despliegue establece DDB_WRITES=enabled, de modo que las instalaciones de preparación y las predeterminadas siguen siendo de solo lectura. Son primitivas: efectúan exactamente el cambio solicitado sobre el id de personaje que se les dé, sin política sobre quién es el dueño de la hoja. Dado que el HP de los personajes de DDB también lo impulsan Beyond20 y las propias ediciones del jugador, las escrituras compiten con esos cambios (gana el último que escribe) y están pensadas como actos deliberados del DM.
Tool | Qué hace |
| Establece el HP actual y/o temporal por valor absoluto (limitado a |
| Añade/elimina una condición de 5e por nombre (el agotamiento requiere un nivel). |
Related MCP server: DM20 Protocol
Autenticación
Las lecturas se autentican con la cookie CobaltSession de D&D Beyond (canjeada por un JWT de corta duración; consulta docs/ddb-browserless-protocol.md). La cookie se consume, nunca se recolecta: proporciona DDB_COBALT en el entorno, o apunta DDB_DATA_DIR al directorio donde la gema escribe ddb-cobalt.json. Si la cookie falta o ha caducado ⇒ cada lectura falla de forma visible con instrucciones para volver a recolectarla.
Configuración
Entorno | Significado |
| Valor de la cookie CobaltSession (anula el archivo de datos). |
| Directorio que contiene |
| Campaña predeterminada para |
| Defínela como |
| Solo punto de entrada HTTP (valores predeterminados 39210 / 127.0.0.1 / autogenerado en |
Ejecución
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"] }
}
}Desarrollo
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: las mismas convenciones que 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