Read a book chapter
shamela_get_book_sectionجلب باب من كتاب
Fetch every page under a chapter title. Resolves the chapter's start/end page range from the per-book SQLite (next-sibling-title boundary), then batch-reads the page contents. Capped at max_pages (default 30, max 100); sets truncated:true if the section is longer. Long sections also stop early on a character budget (even within max_pages) and return next_start_page_id + a _display hint to continue. Use shamela_get_toc to find title_ids, then this tool to read the matching section. Example: shamela_get_book_section({book_id:, title_id:}).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| book_id | Yes | The book id. | |
| title_id | Yes | The title id of the chapter / section to fetch (use shamela_get_toc to find IDs). | |
| keep_html | No | Preserve inline HTML markers. | |
| max_pages | No | Cap on pages to read (1–100, default 30). Sections longer than this are truncated with a flag. | |
| response_format | No | Output format for the human-readable text. 'markdown' (default) is best for direct display; 'json' returns the same data as a single JSON code block; 'none' skips the rendered text entirely and returns a one-line pointer, leaving `structuredContent` as the whole answer. The structured data is returned in `structuredContent` regardless of this setting, so a caller that parses it should pass 'none' — the character budget is measured over BOTH channels, and the unread copy is otherwise spending most of it. Requires the 'response_format.none' capability (see shamela_brief). | markdown |