Skip to main content
Glama

ReadingRate

Get personalized recommendations

get_personalized_recommendations
Read-onlyIdempotent

Recommends books from the ReadingRate catalog for this reader, matched to the difficulty range they usually read, the genres and themes they return to, and their reading pace, with the reasons for each pick and a reading-time estimate at their pace. Books they have already finished are left out. It can draw only from their want-to-read list, leave out genres, or reach a little above their usual difficulty.

Use when the reader asks what to read next, or which books would suit them.

Examples:

  • {}

  • {"from_tbr": true}

  • {"difficulty_stretch": true, "exclude_genres": ["Horror"]}

Input Schema

NameRequiredDescriptionDefault
countNoNumber of recommendations (default 5, max 20)
from_tbrNoRecommend only from the reader's want-to-read list
exclude_genresNoGenres to leave out
difficulty_stretchNoInclude books a little harder than the reader usually reads

Output Schema

NameRequiredDescriptionDefault
based_onYesProfile data the recommendations were derived from
options_usedYesEcho of the request options (from_tbr, exclude_genres, difficulty_stretch)
recommendationsYesRecommended books, highest match score first

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, closed-world, non-destructive, so the safety bar is low; the description earns credit by adding real behavior beyond that — finished books are excluded, each pick arrives with reasons and a pace-based reading-time estimate, and the pool is the catalog. It does not mention latency, cost, or fallback behavior if the reader has too little history.

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 matching criteria are front-loaded in the first sentence, followed by constraints and a usage cue, with compact examples that demonstrate parameter combinations rather than restating the schema. The first sentence is dense with a long list, but no sentence is redundant.

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 a full output schema and complete annotations, the return-shape burden is off the description, and what remains — personalization signals, exclusions, the three mode flags — is covered. The one missing piece is a pointer to when a plain catalog search is the better call, which matters given how many search/read siblings exist.

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 prose adds nuance the schema lacks, specifically that difficulty_stretch reaches only 'a little above' the usual range, that from_tbr restricts the candidate pool rather than ranking it, and the examples demonstrate combinations. The count/default-max is left to the schema, which is fine.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/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 ('Recommends books from the ReadingRate catalog') and immediately scopes it to 'this reader' with named matching signals (difficulty range, genres/themes, reading pace). That clearly separates it from the catalog-search sibling search_books, which has no reader-personalization framing.

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?

'Use when the reader asks what to read next, or which books would suit them' gives a clear triggering intent, and the three examples show default, TBR-only, and stretch/exclusion configurations. It stops short of naming alternatives (e.g., search_books for a keyword lookup) or stating when not to use it, so it is clear but not exhaustive.

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.