Skip to main content
Glama

ReadingRate

Get a reading domain

get_reading_domain
Read-onlyIdempotent

Describes the reader's progress in one reading domain in ReadingRate: their mastery stage, books, words and hours read, quotes and reflections, and what the next stage requires.

Use when the reader asks about their progress in a particular genre, culture, period or theme, or what it takes to reach the next stage. Get domain_id from list_reading_domains.

Example: {"domain_id": ""}

Input Schema

NameRequiredDescriptionDefault
domain_idYesThe domain's id, from list_reading_domains

Output Schema

NameRequiredDescriptionDefault
axisNogenre | cultural | period | thematic | compound | user
nameNo
slugNo
metricsNoProgress metrics
domain_idNo
is_focusedNoWhether the reader made this a focus domain
next_stageNoThe next stage, or null at expert
work_countNoBooks in the catalog in this domain
descriptionNo
mastery_stageNonewcomer | exploring | well_read | analytical | expert
stage_progressNoProgress toward the next stage
next_stage_boostsNoOptional signals that speed up the next stage, each { current, required, met }. Each one met lowers the requirements by 10%, up to 30%
requirement_reductionNoFraction (0-0.3) the met boosts currently take off the requirements
next_stage_requirementsNoBooks and weighted words needed for the next stage, each { current, required, met }, already reduced by met boosts

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is fully covered and an output schema exists for return values. The description's added value is the domain-id provenance for list_reading_domains and the shape of what's returned, which is mild — it doesn't mention scoping, empty/unstarted domains, or behavior for an invalid id.

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?

Front-loaded with the purpose sentence, then usage, then prerequisite, then a compact example — no wasted prose. The example JSON duplicates information already implied by the schema, a minor redundancy.

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?

An output schema and rich annotations are present, and the description supplies trigger context and id provenance, so an agent has what it needs to call it correctly. The only remaining gap is routing vs. get_poetic_form_mastery / get_reading_stats for overlapping progress questions.

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% for the single parameter, and the schema text itself already says 'from list_reading_domains', so the description's provenance hint is largely redundant. The inline example call adds only marginal clarity. Baseline 3 is appropriate when the schema does the work.

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 and resource (describes the reader's progress in one reading domain) and enumerates the payload: mastery stage, books, words/hours, quotes, reflections, next-stage requirements. That clearly separates it from list_reading_domains (enumerates domains) and get_reading_stats (aggregate stats). It doesn't explicitly distinguish itself from the adjacent get_poetic_form_mastery, which covers a similar mastery concept, so not a full 5.

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?

Gives an explicit trigger ('when the reader asks about their progress in a particular genre, culture, period or theme, or what it takes to reach the next stage') plus the prerequisite that domain_id comes from list_reading_domains. No when-not guidance or explicit alternative for aggregate stats, so short of 5.

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.