Skip to main content
Glama
eschatus

beyond-mcp

by eschatus

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

ddb_ping

Protocolo de inicio: {pong, server, version, capabilities}. Llámalo al conectar para verificar una versión mínima (semver) y ver qué capacidades (writes/rollPump/partySnapshot) expone esta instancia.

ddb_get_character

Hoja de personaje por id numérico: instantánea compacta de HP/AC/condiciones; full:true añade la hoja de estadísticas parseada (características, tiradas de salvación, habilidades, iniciativa).

ddb_get_monster

Monstruo del compendio por nombre o id: instantánea compacta de HP/AC/CR; full:true devuelve el bloque de estadísticas completo.

ddb_list_campaigns

Todas las campañas en las que está la cuenta, con sus ids.

ddb_list_campaign_characters

Lista de personajes {id, name} de una campaña.

start_ddb_roll_pump

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).

ddb_poll_rolls

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.

stop_ddb_roll_pump / ddb_roll_pump_status

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

ddb_set_hp

Establece el HP actual y/o temporal por valor absoluto (limitado a [0, max]).

ddb_apply_condition / ddb_remove_condition

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

DDB_COBALT

Valor de la cookie CobaltSession (anula el archivo de datos).

DDB_DATA_DIR

Directorio que contiene ddb-cobalt.json + cachés. Apúntalo al directorio de datos de la gema (ROLL20_DATA_DIR de roll20-dm-mcp) para compartir la cookie recolectada. Por defecto ./data.

DDB_CAMPAIGN_ID

Campaña predeterminada para ddb_list_campaign_characters / start_ddb_roll_pump.

DDB_WRITES

Defínela como enabled para registrar las herramientas de escritura (por defecto: solo lectura).

DDB_HTTP_PORT / DDB_HTTP_HOST / DDB_MCP_TOKEN

Solo punto de entrada HTTP (valores predeterminados 39210 / 127.0.0.1 / autogenerado en .env).

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, stdio

Node 20+, TypeScript (NodeNext ESM), vitest: las mismas convenciones que 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