Skip to main content
Glama

Get Quote

get_quote
Read-onlyIdempotent

READ PIPELINE step 3 — CITE. Get the exact verbatim text of a single page plus its citation apparatus. ALWAYS use before putting text in quotation marks. The response headline is citation_link (the stable sourcelibrary.org/q/… shortlink) — present it to the user alongside the quote. Render as:

[exact translation text, verbatim] — [Author], p. [N]. [citation_link] PAGE BREAKS: this corpus is paginated from physical leaves, and nearly one prose page-boundary in five has a sentence running across it — sometimes a word split by a hyphen ("…our move-" / "movements…"). A page that opens or breaks off mid-sentence still reads as complete prose and still carries a perfectly valid citation, so check the continuity field on every response BEFORE quoting: if continues_on_next or continues_from_previous is true, call again with context: true and quote the whole sentence. Quoting a fragment as though it were the author's complete thought is a misattribution even when the page number is right. NON-LATIN SCRIPTS: where the page is Greek, Hebrew, Arabic, Sanskrit, Cyrillic and so on, the response also carries romanized — the romanization of the original — so the citation can be shown in three layers: original → romanized → translation → citation_link. It is AI-generated reading apparatus, not a transcription; quote the source from original or translation, never from romanized. Absent on Latin-script pages and on non-Latin pages not yet romanized. ENGLISH ORIGINALS: where the leaf is already English there is no translation and none is needed — the response omits translation, sets text_source: "ocr_original", and the verbatim text is original (with a transcription_note). Quote it as the source's own words, never as a translation, and expect period spelling and long-s (ſ) — it is an uncorrected transcription of the scan. text_source is on every response (translation otherwise), so branch on it rather than guessing from pages_translated, which is 0 for an English-original book by construction. TRANSLATED EDITIONS: original means the text printed on this leaf, which on a translated edition is the TRANSLATOR's language, not the author's. When the response carries translation_note, the chain is stated there — attribute the wording to the translator and do not offer the passage as evidence of what the author wrote in their own tongue. Call list_editions to find an original-language witness of the same work. For several pages of one book at once, use get_quotes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
langNoISO code of the EDITION to quote, e.g. "es". Default "en". `quote.lang` on every response says which edition was actually served — where no such edition exists the English translation comes back with lang: "en" and a lang_note, and it must not be presented as the requested edition. The citation link follows the edition served.
pageYesPage number
book_idYesThe book ID
contextNoAlso return the full text of the previous and next pages, so a sentence spanning the page break can be read whole. Set this when continuity.continues_from_previous or continues_on_next came back true on an earlier call, or whenever you are about to quote near a page edge.
include_imageNoAlso return the scan of the cited leaf as an inline image (display size, ≤1200px). Set this when the user would benefit from SEEING the page — an illustrated leaf, a title page, a diagram, disputed OCR — or asks to see it. The image arrives as an MCP image block you can view and the user sees rendered.

TDQS

A5/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, so the safety profile is already covered. The description adds rich behavioral context beyond annotations: the response headline is citation_link which must be presented to the user; page-break continuity behavior (nearly 1-in-5 boundaries have running sentences); non-Latin script romanization behavior ('AI-generated reading apparatus... never quote from romanized'); English-original behavior (text_source: "ocr_original", period spelling, long-s); and translated-edition attribution chain (text_source branching instruction). No contradiction with annotations.

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 long but every sentence earns its place — it covers five distinct operational concerns (render format, page breaks, non-Latin scripts, English originals, translated editions) each in labeled sections. Front-loaded with the purpose and the critical 'ALWAYS use before putting text in quotation marks.' The render template communicates the output format more efficiently than prose could.

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?

Despite having no output schema, the description fully covers return values (citation_link, text, translation, original, romanized, translation_note, transcription_note, text_source, lang_note, continues_on_next, continues_from_previous), edge cases (running sentences, non-Latin scripts, English originals, translator attribution), and operational patterns (context: true, list_editions, get_quotes). Highly complete for a complex retrieval tool with 5 parameters and no output schema.

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?

Schema coverage is 100% and the description adds substantial meaning to each parameter beyond the schema. The lang parameter gets the crucial caveat that 'quote.lang on every response says which edition was actually served' and that a fallback to English must not be presented as the requested edition. context gets the 'sentence spanning the page break' motivation. include_image gets user-benefit criteria (illustrated leaf, title page, diagram, disputed OCR). page and book_id are self-evident.

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 'READ PIPELINE step 3 — CITE. Get the exact verbatim text of a single page plus its citation apparatus.' This is a specific verb+resource+scope statement. It distinguishes from siblings by explicitly naming get_quotes ('For several pages of one book at once, use get_quotes.') and by its focus on citation apparatus, which search_within_book and get_book_text do not provide.

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?

Exceptionally explicit. States 'ALWAYS use before putting text in quotation marks.' Gives conditional guidance: 'if continues_on_next or continues_from_previous is true, call again with context: true.' Recommends list_editions for translated editions when original-language witness needed, and get_quotes for multi-page needs. Also tells the agent when NOT to use it (English originals don't need translation handling).

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.

TDQS

A4.5/5.0
Disambiguation4/5

Tools are organized around distinct actions—discover, read, cite, search, contribute—and the descriptions cross-reference each other heavily. The only mild ambiguities are the get_quote/get_quotes pair and the multiple passage-search variants, which overlap in result type but are scoped differently.

Naming Consistency5/5

All tools use snake_case verb_noun names with predictable prefixes: get_* for retrieval, list_* for catalog enumeration, search_* for discovery, and plain verb_noun for contribution actions. Pluralization and compound nouns like get_book_text are minor variations that do not break the pattern.

Tool Count5/5

Fifteen tools is at the upper end of the ideal range, but every tool maps to a distinct step in the library workflow: discovery, reading, citation, search, editions, images, and community contributions. None feels redundant or decorative.

Completeness5/5

The surface covers the full research lifecycle: discovering books, reading them, locating canonical references, citing exact pages, searching by keyword/meaning/within a book, comparing editions, finding images, and contributing findings back. The pipeline from get_book to get_book_text to get_quote provides clear forward paths with no dead ends.