Skip to main content
Glama

Embers: Tabletop RPG Toolkit

Get an adventure page

imagine_get_adventure_page
Read-onlyIdempotent

Fetch one adventure page by id with its full markdown body, tags, and parent reference. By default the gateway dereferences bracketed tag-* and child-* shortcodes and inlines a compact <expansion> block right after each literal. (rule-* shortcodes are NOT expanded on adventure pages because adventures do not carry a curated rule / spell / item association list; they remain as literals.) Pass raw: true to skip expansion when round-tripping the body back through imagine_update_adventure_page. Cross-references in the response: parent (resolve via imagine_get_adventure_page), worldPageRefs (array of world-page ids, resolve via imagine_get_world_page), and vaultRefs (array of {vaultId, type, count} for rules / spells / items / characters; resolve via the matching vault_get_* tool by type). Pair with imagine_list_adventure_pages to locate the id first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesMongo `_id` of the adventure page.
rawNoWhen true, return the page body verbatim with bracketed shortcodes left as literals. Default: shortcodes are dereferenced and a compact <expansion> block is inlined after each literal. Pass raw=true when round-tripping a body back through imagine_update_adventure_page.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

The description discloses the default dereferencing behavior, the fact that rule-* shortcodes are NOT expanded and why, and the raw:true escape hatch. It also explains the shape of cross-references (parent, worldPageRefs, vaultRefs) and how to resolve them. This goes well beyond the annotations (readOnly, idempotent, non-destructive) and adds real behavioral context.

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

Conciseness4/5

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

The description is dense but well-organized: it front-loads the core fetch behavior, then explains expansion behavior, then cross-reference resolution, then pairing with the list tool. Every sentence earns its place, though the cross-reference sentence is long and could be slightly more scannable.

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?

Given the output schema exists and the annotations cover safety, the description covers everything an agent needs: what is returned, how expansion works, when to use raw, how to resolve cross-references, and how to find the id. No critical gap remains.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents both parameters. The description adds value by explaining the default vs raw behavior and the round-tripping use case, which enriches the raw parameter's meaning beyond the schema's description. The id parameter is straightforward and needs no extra explanation.

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?

The description clearly states the tool fetches one adventure page by id, and specifies the returned content (markdown body, tags, parent reference). It also distinguishes itself from sibling tools like imagine_get_adventure_pages (plural) and imagine_get_world_page by naming the resource type and the resolution targets.

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?

The description explicitly explains when to use raw:true (round-tripping through imagine_update_adventure_page) and when not to (default expansion). It also tells the agent to pair with imagine_list_adventure_pages to locate the id first, and gives resolution guidance for cross-references. This is strong usage guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources