Skip to main content
Glama

Embers: Tabletop RPG Toolkit

Get a page

play_get_page
Read-onlyIdempotent

Fetch one page by id, including its full markdown body. Readable by the page's owner or an admin with Admin Mode on; by the campaign's GM for a GM-side page (GM notes, logistics); and, for a public page, by anyone who may view its campaign (any participant, or anyone when the campaign is public); a public page with no ref (no campaign, session, or character) is readable by anyone. Returns { page, canEdit }; canEdit says whether this caller may update and delete the page. For a character's player notes it is the character's player's answer: the campaign's GM may update player notes through play_update_character_note but never delete them, so the GM gets canEdit: false here.

Input Schema

NameRequiredDescriptionDefault
idYesMongo `_id` of the page.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly and idempotent, so the description focuses on the return shape ({ page, canEdit }) and explains exactly what canEdit means for each caller, including the subtle character-player-notes case where the GM gets canEdit: false. That is behavioral context beyond structured data.

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 return type and canEdit semantics are front-loaded in the second sentence, with permission rules following. It is dense but every clause carries authorization or return-value meaning; a touch long for one param but not padded.

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?

Annotations cover safety, an output schema exists, the one param is fully documented, and the description supplies the remaining necessary context: access-control rules and the meaning of canEdit for each role. Nothing an agent needs to invoke this correctly is missing.

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% and the single id parameter is documented as the Mongo _id. The description adds the practical note that owner/GM/admin permissions determine readability, which matters for callers choosing an id, though it doesn't add format details beyond the schema.

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?

States a specific verb and resource ('Fetch one page by id') and adds the distinguishing detail that the full markdown body is returned. The agent can tell it apart from list/update/delete page siblings immediately.

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

Usage Guidelines4/5

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

The permission clauses give clear context for when this tool applies (owner, admin, GM-side page, public page) and reference the sibling play_update_character_note for a related operation. It doesn't explicitly state when NOT to use it versus play_list_pages or the capsules siblings, but the contextual guidance is strong.

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