Get book details
get_bookDetails of one book: description, genres, series, page count and the reader's own status and rating if it is in their library. Takes a catalogId or an ISBN.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
get_bookDetails of one book: description, genres, series, page count and the reader's own status and rating if it is in their library. Takes a catalogId or an ISBN.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds a genuinely useful conditional behavior: reader status and rating appear only when the book is in the user's library. It does not discuss error behavior (e.g., what happens for an unknown ID/ISBN), which would have earned a higher score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded with the highest-value information (what is returned, then what input is accepted). No filler, no repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter descriptions, the description must explain both the return payload and the input format, and it does each in one clause. The only shortfall is that it lists returned fields without describing their structure, but for a single-record getter this is close to sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter is bare (just a string named "id"), so the description carries the full explanatory burden. It does that well by stating "Takes a catalogId or an ISBN," which tells the agent the ID is polymorphic — information found nowhere in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Details of one book") and enumerates the returned fields: description, genres, series, page count, plus the reader's status and rating. It implicitly distinguishes itself from get_library_book by noting the library-specific data is included conditionally when the book is in the library, but it never names that sibling outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "if it is in their library" hints at when the extra reader fields will be populated, which is useful context. However, there is no explicit guidance on when to call get_book vs get_library_book or search_books, and no prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.