Skip to main content
Glama

Readlink

Log reading progress

log_reading_progress

Records reading on a library book: either the page the reader is on now (currentPage) or how many pages they just read (pagesRead). Send exactly one.

Input Schema

NameRequiredDescriptionDefault
pagesReadNo
userBookIdYes
currentPageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations declare this is a non-readonly, non-idempotent, non-destructive write, and the description confirms it records data, so there is no contradiction. What is missing is the behavior an agent actually needs for a non-idempotent write: whether each call appends a new progress entry or overwrites the prior one, and whether currentPage may move backwards. Those gaps matter precisely because idempotentHint=false implies repeat calls are not free.

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?

Two short sentences with zero filler, and the most decision-relevant fact, the choice between the two modes, is front-loaded. The parenthetical parameter names tie each mode to the schema directly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter write tool with no output schema, the description covers the ambiguous part well but leaves the required userBookId undefined and says nothing about what the call returns or how progress is stored. Annotations cover the safety profile, so the remaining burden is modest but not fully met.

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 description coverage is 0%, so the description carries the full burden and it does explain the meaning and mutual exclusivity of currentPage and pagesRead, which the schema alone does not convey. But userBookId, the sole required parameter, receives no explanation at all, and the description does not note that currentPage accepts 0 while pagesRead starts at 1. Two of three parameters are covered, so the baseline of 3 is fair.

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 opens with a specific verb and resource ("Records reading on a library book") and then names the two distinct recording modes by their parameter names. An agent immediately knows this writes reading progress rather than book metadata. It does not explicitly contrast itself with the sibling set_reading_status, which is the main thing keeping it below a 5.

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 constraint "Send exactly one" gives a concrete rule about how to call the tool, which is genuine usage guidance. However, there is no statement of when to prefer this over set_reading_status, or when logging progress is inappropriate. Usage must be inferred from the parameter semantics rather than read from an explicit condition.

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.

Resources