Skip to main content
Glama

Recommend classics

recommend_classics
Read-onlyIdempotent

Recommend classics: give the title of a book you liked, or its id, and get the books its readers also enjoyed; or give a topic or a mood and get titles that match it. Filter by reading level or by the free shelf.

Input Schema

NameRequiredDescriptionDefault
levelNoOnly titles of this reading level.
limitNoNumber of titles to return, 1 to 8. Default 5.
queryYesA title or title id (for readers-also-enjoyed), or a topic or mood in a few words, for example 'sea adventure'.
languageNoLanguage of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English.
free_onlyNoOnly titles on the free shelf of the language.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / language / description
      Previous value: -"Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."New value: +"Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
    • changedInput schema / properties / language / enum
      Previous value: -[
      -  "en",
      -  "es",
      -  "de",
      -  "nl",
      -  "fr",
      -  "it",
      -  "pt-BR",
      -  "ru",
      -  "zh-CN",
      -  "zh-TW",
      -  "ja",
      -  "ko",
      -  "pl",
      -  "ar",
      -  "hi",
      -  "id"
      -]New value: +[
      +  "en",
      +  "es",
      +  "de",
      +  "nl",
      +  "fr",
      +  "it",
      +  "pt-BR",
      +  "ru",
      +  "zh-CN",
      +  "zh-TW",
      +  "ja",
      +  "ko",
      +  "pl",
      +  "ar",
      +  "hi",
      +  "id",
      +  "ca"
      +]
  2. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed world), and the description adds real behavioral context: two distinct input interpretations, what is returned in each case, and the available filter dimensions. It stops short of describing result ordering, how limit interacts with the two modes, or ranking rationale.

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?

Two sentences, front-loaded with the tool name and the primary mode, with no filler. The semicolon-joined clauses make it slightly run-on, but every phrase (liked book, topic/mood, filters) carries information.

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 100% schema coverage and annotations, the description covers the essential decision points for a 5-parameter, single-required-param tool. Since there is no output schema, it could say more about the shape of a returned recommendation (beyond 'titles'), but the language parameter in the schema hints at returned fields.

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%, so the schema itself documents all five parameters, including the dual meaning of query and the level/free_only filters. The description restates the query modes and filters but adds no syntax, format, or edge-case guidance beyond what the schema already provides, so the baseline 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?

States a specific verb (recommend) and resource (classics/books) and spells out its two operating modes: a liked title/id yields readers-also-enjoyed titles, while a topic/mood yields matching titles. It does not explicitly distinguish itself from search_books or browse_collection, so an agent must infer that this returns recommendations rather than exact matches.

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?

The description implies when to use it (you have a liked book, or a topic/mood) and adds filter guidance ('Filter by reading level or by the free shelf'). But it never names an alternative tool or states when not to use it, e.g. versus search_books for direct title lookup.

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.