Skip to main content
Glama

Get Book

get_book
Read-onlyIdempotent

READ PIPELINE step 1 — DISCOVER. START HERE for any named work or author. Returns the book's AI-generated summary, chapter list, edition metadata, DOI, page counts, IIIF manifest, and the cover image (inline, so you and the user can see the book). LANGUAGE: language is what is printed on THIS EDITION's leaves, which is frequently not the language the work was written in. Where the record knows they differ the response also carries work_language and a translation_note, and text_role (original / period-translation / modern-translation / unclassified) says what kind of witness this is — read them before describing a passage as the author's own words, because an edition can be a translation of a translation (de Slane's 1863 French Muqaddimah, read in English, is English←French←Arabic). Absent work_language means the work's language is NOT RECORDED on this record. It is not a statement that the edition is in the work's own language (most records have never been checked; Risner's 1572 Latin Alhazen carries none, and the work is Arabic). Only text_role: "original" asserts that these are the author's own words in the author's language; text_role: "unclassified" means nobody has examined it, so do not infer the work's language from language, and do not conclude the library lacks a tradition because a language filter came back empty. Use list_editions to find an original-language witness. The summary is typically a multi-paragraph orientation covering the book's argument, structure, and significance — often answering the question without further searching. Then: get_book_text to read a chapter or page range (step 2), get_quote / get_quotes to lock specific pages with full citation apparatus (step 3). search_within_book locates passages inside this book. MULTI-WORK VOLUMES: where the scans carry running heads, contains_works lists the works the volume ACTUALLY holds with their page spans, taken from the heads the printer put on each leaf. Trust it over the title — collected-works titles routinely name works the volume does not contain, and the volume holding a work often does not name it. If contains_works is absent the scans have no heads to read; status "insufficient-heads" means it was examined and could not be decided. EDITIONS: editions says which languages this book can be READ in and how many pages each covers ({ en: 357 } on most books, { en: 357, es: 357 } where a localized edition exists). Pass a code as lang to get_quote, get_quotes, get_book_text or search_within_book to read that edition; without it you get English.

Input Schema

NameRequiredDescriptionDefault
book_idYesThe book ID

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 only cover the safety profile (readOnly/idempotent/non-destructive), and the description adds substantial non-obvious behavior: `text_role` semantics, the meaning of an absent `work_language` (not-recorded, not 'same as edition'), the `contains_works`/`insufficient-heads` behavior for multi-work volumes, and the `editions` language codes. This is exactly the kind of interpretive context annotations cannot carry.

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?

Front-loaded with the pipeline role and well-organized under labeled sections (LANGUAGE, MULTI-WORK VOLUMES, EDITIONS). It is long, and the language caveat is restated a few times ('do not infer the work's language' recurs), but nearly every sentence carries distinct operational meaning.

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?

No output schema exists, so the description carries the burden of explaining returns, and it does so thoroughly (summary, chapters, editions, contains_works, text_role). Combined with the pipeline positioning, an agent has everything needed to call it correctly and interpret the result.

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?

Only one parameter (book_id) and schema coverage is 100%, so the schema already documents it fully; the description adds no syntax or format detail for book_id. The rich language discussion concerns response fields and other tools' `lang` parameter, not this tool's input, so the baseline 3 applies.

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?

Opens with a specific verb/role ('READ PIPELINE step 1 — DISCOVER') and explicitly enumerates what is returned (summary, chapter list, edition metadata, DOI, page counts, IIIF manifest, cover image). It positions itself precisely against siblings by naming get_book_text as 'step 2' and get_quote/get_quotes as 'step 3', so the agent can route without opening any schema.

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?

Gives an explicit entry condition ('START HERE for any named work or author') and names alternatives with their selecting conditions (list_editions for an original-language witness, search_within_book for passages inside the book). It also states negative guidance: do not infer the work's language from `language`, and do not conclude a tradition is absent because a filter came back empty.

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.