Skip to main content
Glama
eschatus

beyond-mcp

by eschatus

start_ddb_roll_pump

Start capturing D&D Beyond dice rolls missed by Beyond20, buffering them for your VTT bridge.

Instructions

Capture live D&D Beyond dice rolls from a campaign's game log. Subscribes (browserless) to the DDB game-log WebSocket and buffers each fulfilled roll — drain with ddb_poll_rolls and bridge into your VTT yourself (this server posts nothing anywhere; rolls MUST be mirrored, never re-rolled). By default it SKIPS rolls Beyond20 already bridged to the table (data.b20Override), so what you drain is exactly the gap a flaky Beyond20 left — safe to arm table-wide (omit characterNames) or per-player without double-posting downstream.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gameIdNoD&D Beyond game/campaign id to read. Defaults to the DDB_CAMPAIGN_ID env var.
characterNamesNoDDB character names to capture, e.g. ["Broo Zbaaner"]. Omit to cover EVERY character.
includeBeyond20NoDefault false. Leave false to skip rolls Beyond20 already bridged (the gap-fill behavior). Set true ONLY to capture EVERY roll regardless — bridging then double-posts anything Beyond20 also delivers.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It discloses that the tool subscribes to a WebSocket, buffers rolls, posts nothing itself, and mandates mirroring (never re-rolling). It explains the skip behavior for Beyond20 overrides and the consequence of includeBeyond20=true. This is comprehensive behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is rich but every sentence adds value. It front-loads the core purpose, then explains the buffering, the no-posting policy, the default skip behavior, and safe usage patterns. It is well-structured and not wasteful despite length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a subscription-based tool with no output schema, this description explains the full workflow: how to start, what happens to rolls (buffered), how to retrieve them (via ddb_poll_rolls), and the integration implication (must mirror). It also addresses edge cases (Beyond20 override and includeBeyond20). An agent has everything needed to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Though schema coverage is 100%, the description adds substantial meaning beyond the schema: gameId defaults to env var, characterNames omitted covers every character, and includeBeyond20 explains the gap-fill vs. capture-all tradeoff. This clearly explains the intent and caveats of each parameter, exceeding the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool captures live D&D Beyond dice rolls, subscribes to the game-log WebSocket, and buffers rolls. It explicitly names the drain mechanism (ddb_poll_rolls) and distinguishes itself from siblings by noting it does not post anywhere. The verb 'capture' plus resource ('live dice rolls from a campaign game log') is specific and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use: to capture rolls that Beyond20 may have missed, safe to arm table-wide or per-player. It instructs to drain with ddb_poll_rolls and warns about includeBeyond20 causing double-posting. This gives clear context and implicit exclusions (e.g., don't use if you want to bridge directly, or if you need all rolls without gap-filling behavior).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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