Skip to main content
Glama

Books like one the user enjoyed, or for a genre

find_similar_books
Read-onlyIdempotent

Books like one the user enjoyed, or for a genre. Needs title (a book the user liked) or subject (a genre or theme). For requests like "books like The Martian" or "a good cosy mystery". Suggestions are English-language books for the same readers (picture book, children, young adult or adult), one per author and one per series. Well-read books of the same kind come first (picked_from: shelf, and because names the kind, for example "celebrated dystopian novels"), then books sharing specific subjects on Open Library (picked_from: subjects, and because lists the shared subjects). Novels never get self-help, textbooks, anthologies, study guides, category romance lines or explicit books as suggestions, and popular books are preferred over obscure ones. Other books by the same author are left out unless same_author=true. Give title or subject; common other titles work (1984, The Sorcerer's Stone)

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "find_similar_books"
  }
}

Input Schema

NameRequiredDescriptionDefault
titleNoA book the user liked, 2 to 120 characters.
authorNoThe author's name, to pin down the right book or list their books.
countryNoTwo-letter country code for the shop links, for example US or GB.
subjectNoA genre or theme, for example space opera, cozy mystery, heist.
same_authorNoTrue to include more books by the same author.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare the safety profile (readOnly, idempotent, openWorld, non-destructive); the description adds substantial behavior: ranking order, the picked_from/because semantics of returned items, one-per-author and one-per-series deduplication, English-language scope, and an explicit exclusion list (self-help, textbooks, anthologies, category romance, explicit titles). That is exactly the value-add the annotations cannot supply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core intent is front-loaded, but the passage is dense and repetitive: 'Needs title ... or subject' is restated at the end as 'Give title or subject', and the opening phrase duplicates the title field. The long exclusion catalogue could be compressed without losing meaning.

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?

For a 5-parameter, open-world discovery tool with no output schema, the description covers selection rules, ranking rationale, and deduplication well. It omits what a result record looks like (fields beyond picked_from/because) and says nothing about result count or the country/shop-link parameter, leaving minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description goes beyond it by framing title/subject as an either/or requirement, clarifying that title means a book the user liked, and noting that common short forms ('1984', 'The Sorcerer's Stone') resolve. The same_author flag's effect on results is also spelled out.

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 states a concrete outcome: return books similar to a given title or matching a genre/theme, with a clear 'books like X' framing. It is plainly distinct from get_book and get_author_books, though it never names those siblings to make the routing explicit.

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?

It specifies the required input ('Needs title ... or subject') and gives concrete request examples ('books like The Martian', 'a good cosy mystery'). It also implicitly routes author-listing requests elsewhere via 'Other books by the same author are left out unless same_author=true', but never names the alternative tool or an explicit when-not-to-use case.

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.