Skip to main content
Glama

read_document

Read-onlyIdempotent

Retrieve a LegendKeeper wiki page, map, timeline, or board as Markdown, plain text, or JSON; omit the document to load the resource's main one.

Instructions

Read a document of a resource. Pages come back as Markdown (with mentions as Name links); maps list their pins/regions/paths with coordinates; timelines list lanes and events; boards list their text. Without document, the first page is used, else the first map, timeline or board.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown (default, editable), text (plain text) or json (raw API data).markdown
projectNoConfigured project (world) name. Omit to use the default project; see list_projects.
documentNoDocument id or name within the resource. Omit to pick the resource's main document.
resourceYesResource id, or its exact name/alias (case-insensitive).
opaque_blocksNoHow page blocks Markdown cannot express are shown: 'keep' = readable summary between lk:keep markers (preserved on write), 'json' = editable ```lk-block JSON fences.keep

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. With no output schema, the description earns credit by describing the actual return shape per document type (Markdown pages with lk:// links, map coordinates, timeline lanes, board text), which the agent could not otherwise anticipate.

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?

Three information-dense sentences with the core purpose front-loaded and no filler. The semicolon-separated enumeration of per-type outputs is efficient, though slightly list-heavy for the 10% weight.

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

Completeness4/5

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

For a read-only tool whose annotations cover the safety profile, the description supplies the one thing structured fields lack: what content is returned for each document type. Missing only error/edge behavior (e.g., resource not found, empty document) and the format/opaque_blocks interplay, which keeps it short of a 5.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented, making 3 the baseline. The description adds only marginal value beyond the schema, mainly reinforcing the omitted-'document' fallback chain that the schema already states as 'Omit to pick the resource's main document.'

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

Purpose4/5

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

The description opens with a specific verb and resource: 'Read a document of a resource,' then enumerates what each document type returns (pages as Markdown, maps as pins/regions/paths, timelines as lanes/events, boards as text). It clearly separates this from write_page/create_document siblings, though it never explicitly contrasts with get_resource or browse_tree, which also fetch content.

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

Usage Guidelines3/5

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

It documents the fallback behavior when 'document' is omitted ('the first page is used, else the first map, timeline or board'), which is useful selection context. However, there is no guidance on when to use read_document versus get_resource, browse_tree, or search, and no exclusions or prerequisites are stated.

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