Skip to main content
Glama

Read a document by its link

get_document
Read-only

Returns a document made with ReflowPDF (by you, or opened in the editor from your link) as it is now — the person may have edited it in the editor: its source HTML, template data and revision. Read it before changing it with update_document.

Input Schema

NameRequiredDescriptionDefault
document_idYesThe document_id (or the edit link) from render_pdf, render_template or open_in_editor.

Output Schema

NameRequiredDescriptionDefault
byYesWho wrote this revision: you, or the person in the editor.
dataYes
htmlYesThe document's source (a template when data is not empty).
kindNoAn HTML document (its {{ … }} is text), or a template with its data.
nameNo
ownedNoThe document is the person's account's: your prints of it count to their plan.
editUrlYes
revisionYes
updatedAtYes
documentIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: the document may have been edited by the recipient and the returned state reflects current editor content, not the original render. It stops short of noting authorization or scope limits, but with an output schema present that is a minor gap.

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?

One density-loaded sentence followed by a short imperative directive; the core purpose and the current-state caveat are front-loaded. The main sentence is long enough that the third clause ('its source HTML, template data and revision') requires a second pass, but there is no filler.

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?

With one required parameter, an output schema, and annotations covering the read-only profile, the description carries everything an agent needs to call it correctly and explains why freshness matters. Only the sibling boundary against get_template remains implicit.

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 coverage is 100% and the schema itself explains that document_id may be the ID or the edit link from render_pdf, render_template, or open_in_editor. The description's phrase 'opened in the editor from your link' reinforces this but adds no new format or syntax detail. Baseline 3 is correct when the schema does the heavy lifting.

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 opens with a specific verb and resource ('Returns a document made with ReflowPDF... as it is now') and scopes it to documents the caller made or opened via an edit link. It also enumerates the returned payload (source HTML, template data, revision), which separates it from get_template and list_templates at a glance.

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?

It gives an explicit sequencing rule — 'Read it before changing it with update_document' — which names the alternative and the condition selecting it. However, it does not explain when to use get_document instead of get_template, which is the other plausible sibling for document-like content.

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