Skip to main content
Glama

Open the next lesson

lesson_next

Opens the next ready course lecture of the active profile and adds it to the lesson pool. Daily limit: Free 3, Pro 10 (together with the lecture of the day); refused while an opened lecture is not finished (lessons() returns unfinished). Returns {id, next_left}: next_left is how many more can be opened today, null — no limit. Then lesson_open(id).

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Goes well past annotations by disclosing the quota consumption rules (Free 3, Pro 10, shared with the lecture of the day), the refusal condition and how to test it, and the return contract {id, next_left} including the null-means-unlimited case. These details are consistent with the non-idempotent, non-destructive, non-readOnly annotations — each call consumes quota, which is exactly what idempotentHint=false implies.

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-loads 'Opens the next ready course lecture' and then packs limits, preconditions, and return shape into a few dense lines with no filler. The telegraphic parenthetical '(lessons() returns unfinished)' and the terse 'Daily limit: Free 3, Pro 10' read more like notes than prose and cost a little readability.

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?

There is no output schema, and the description compensates by spelling out the returned fields and the meaning of next_left. The remaining gap is the workflow ambiguity — whether the caller must invoke lesson_open on the returned id to finish the action is implied but never stated outright.

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?

The tool takes no parameters, so there is nothing for the description to disambiguate at the argument level. Baseline applies, with a small deduction only because the trailing lesson_open(id) reference hints at an id flowing through the workflow without saying where it comes from.

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: it opens the next ready course lecture of the active profile and adds it to the lesson pool, which separates it from lesson_open (id-based) and lesson_create. However, the closing 'Then lesson_open(id)' sits awkwardly against the opening 'Opens the next ready course lecture', leaving mild ambiguity about whether this tool actually opens the lecture or only allocates it for a follow-up lesson_open call.

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 a concrete precondition — refused while an opened lecture is not finished, with lessons() named as the way to check — plus the daily quota rules for Free and Pro. It also describes the intended follow-up workflow (lesson_open(id)), but never names an alternative tool for a different use case beyond that single hook.

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