Skip to main content
Glama
scholar-mcp

scholar-mcp

by pvliesdonk

Get Book Excerpt

get_book_excerpt
Read-only

Fetch a book’s publisher description, text snippet, and Google Books preview link by ISBN to verify citations and gather reference details.

Instructions

Get a book excerpt and preview info from Google Books.

Returns the publisher description, text snippet, and a link to the Google Books preview page. Google Books does not expose full chapter text through its API; the excerpt is a publisher-provided summary and/or search snippet.

An error of not_found means Google Books answered and has no such volume: stop asking about that ISBN. A lookup that never got an answer says so instead, as rate_limited (with retryable) or upstream_error, and is worth retrying: the book may well exist.

Input Schema

NameRequiredDescriptionDefault
isbnYesISBN-10 or ISBN-13.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.9.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, non-destructive, open-world), and the description builds on that with genuinely new behavioral detail: the upstream API does not expose full chapter text, and the error taxonomy is split into terminal ('not_found') versus retryable ('rate_limited' with 'retryable', 'upstream_error'). This is exactly the retry/permission context an agent cannot get from structured fields.

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?

The core capability is front-loaded in the first sentence, with the API limitation and error semantics following in descending priority. A few phrases are slightly padded ('A lookup that never got an answer says so instead'), but no sentence is filler.

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?

Given a single-parameter, read-only lookup with an output schema, the description supplies the two things structure cannot: the ceiling on what data exists (no full text) and the recovery policy per error code. Nothing needed to call it correctly or interpret a failure is missing.

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 single 'isbn' parameter is documented as ISBN-10 or ISBN-13, so the schema carries the parameter burden. The description adds only indirect meaning by tying 'not_found' to a specific ISBN ('stop asking about that ISBN'), with no extra format, normalization, or hyphenation guidance.

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 opens with a specific verb and resource ('Get a book excerpt and preview info from Google Books') and enumerates what comes back: publisher description, text snippet, and a preview link. It never names the sibling get_book or search_books, so an agent must infer that this tool is the excerpt/preview variant rather than the full metadata lookup.

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?

Usage context is clear and actionable: it sets expectations that full chapter text is unavailable and explains exactly how to react to each failure mode ('not_found' means stop; 'rate_limited'/'upstream_error' are worth retrying). What it lacks is an explicit when-to-use-this-vs-get_book or search_books statement, so sibling selection is left to inference.

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