Skip to main content
Glama
frogr
by frogr

Read a passage

read_passage
Read-onlyIdempotent

Read up to 200 lines from a Project Gutenberg book by chapter or line number, with numbered lines for citation and paging.

Instructions

Read a Project Gutenberg book by chapter or by line number, up to 200 lines per call. Lines come back numbered so you can cite them, with next_start_line for paging. The license header and footer are already removed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesProject Gutenberg book id, e.g. 2701 (Moby Dick) or 1342 (Pride and Prejudice). Find ids with search_books.
chapterNoChapter index from get_book's chapter list. Reading starts at its heading. Use this or start_line, not both.
max_linesNoLines to return (1-200, default 80). Blank lines count. When a chapter is given, reading stops at its end.
start_lineNo1-based line to start at (line numbers from get_book, find_in_book or a previous read_passage). Default 1.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
textYesThe passage, one book line per row, each prefixed with its line number (" 813 CHAPTER 1. Loomings.").
titleNo
chapterNoChapter containing start_line.
end_lineYes
start_lineYes
attributionYesCredit line to keep with any quoted text.
total_linesYes
next_start_lineYesPass as start_line to keep reading; null at the end of the book.
chapter_end_lineNoLast line of the current chapter.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds genuinely new operational context: a 200-line ceiling, numbered output for citation, a next_start_line cursor for paging, and removal of Gutenberg license header/footer.

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?

Three tight sentences with no filler: the core action and addressing modes come first, then the output/paging contract, then the header-footer cleanup. Every clause carries information the agent needs.

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 an output schema present, return-value detail is not strictly required, yet the description still explains numbering and the paging cursor. Nothing critical is missing for correct invocation, though a pointer to when to choose this over its siblings would make it fully sufficient.

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 id, chapter, start_line and max_lines are already fully documented, including the chapter/start_line exclusivity. The description restates the chapter-or-line choice and the line cap but adds no format or syntax detail beyond the schema, so the baseline of 3 applies.

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 gives a specific verb (read) and resource (a Project Gutenberg book) plus the two addressing modes (chapter or line number) and a hard size cap. It clearly distinguishes a reading operation from the search/list siblings, though it never names an alternative tool to route away from.

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?

Usage is only implied: 'read by chapter or by line number' tells the agent which parameter style to pick, and the schema clarifies not to combine them. There is no explicit statement of when to prefer this over get_book or find_in_book, and no prerequisites or exclusions are given.

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