Skip to main content
Glama

ReadingRate

Save a quote

save_quote

Saves a passage the reader asks to keep to their ReadingRate quotes, under a book in their library, with optional page, speaker, notes and themes. Saved quotes also appear in the ReadingRate app and in quote review.

Use when the user asks to save, keep or remember a quote or passage from a book. For a line of a poem, use save_poem_line.

Each call adds a new quote, so calling twice saves it twice.

Example: {"book_id": "", "quote_text": "124 was spiteful.", "page_number": 1}

Input Schema

NameRequiredDescriptionDefault
notesNoThe reader's note on the quote (max 2000 characters)
themesNoThemes the quote touches (max 10, each max 100 characters)
book_idYesThe book the quote is from: its ReadingRate book id or library entry id
speakerNoThe character who says it, for dialogue (max 200 characters)
quote_textYesThe words of the quote
page_numberNoPage the quote is on

Output Schema

NameRequiredDescriptionDefault
bookNoBook the quote belongs to: id, slug, title, authors
quoteNoThe saved quote: id, text, page, speaker, notes, themes
messageNoHuman-readable result
successNoWhether the quote was saved
settings_urlNoSettings link, returned when the reader has turned off saving quotes from assistants
total_quotes_for_bookNoTotal quotes saved for this book

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

The annotations already declare this is a non-readonly, non-idempotent, non-destructive mutation. The description adds useful behavioral context by stating that saved quotes appear in the ReadingRate app and quote review, and that repeated calls create duplicate saves; this reinforces non-idempotency in plain language.

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

Conciseness5/5

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

The description is front-loaded with the main action and destination, followed by usage guidance, duplicate-save warning, and a compact example. Every sentence contributes practical information without excessive length.

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?

For a six-parameter mutation tool with full schema coverage, annotations, and an output schema, the description covers the key gaps: what it creates, where it appears, when to use it, the sibling alternative, and duplicate-save behavior.

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 description coverage is already 100%, so the schema carries most parameter meaning. The description still adds value by summarizing optional fields (page, speaker, notes, themes) and providing a concrete call example with book_id and quote_text.

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 gives a precise verb and resource: saves a passage the reader asks to keep to ReadingRate quotes, under a library book. It also names the sibling save_poem_line for poem lines, so an agent can distinguish this tool from nearby save operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use the tool: when the user asks to save, keep, or remember a quote or passage from a book. It also gives a clear exclusion/alternative for poem lines via save_poem_line.

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.