Skip to main content
Glama

Get a lesson

get_lesson
Read-onlyIdempotent

YOUR daily Gambit lesson. view=daily (default): today's card — card (track concept | asset, slug, term, title, key_points, summary, sections with paragraphs / examples, reading_minutes, served_on, read_at, read_via), completed, progress (seen / total) and spine. Reading it claims today's card for you, exactly as opening Home does: one card per UTC day, the same card all day. view=archive: every lesson you were served, with read state. view=lesson: one lesson by slug (a concept slug, or an asset lesson's symbol) — reading ahead claims nothing. Mark today's card read with mark_lesson_read, passing its served_on and slug. The response carries app_url, the lessons shelf or that lesson. (Requires api:read.)

Input Schema

NameRequiredDescriptionDefault
slugNoREQUIRED for view=lesson
viewNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior4/5

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

The description discloses non-obvious behavior beyond the annotations: reading the daily view claims today's card, one card per UTC day, that reading ahead claims nothing, and that the tool requires api:read. This is unusually rich, though there is mild tension with readOnlyHint=true since claiming the card changes read state; it is non-destructive and idempotent enough that it reads as bookkeeping rather than a contradiction.

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 purpose and default are front-loaded and every clause carries information (response fields, claiming behavior, read path). It is a dense single paragraph rather than a structured breakdown, which slightly reduces scannability.

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?

There is no output schema, so the description responsibly enumerates the returned fields (card, completed, progress, spine, app_url) and the read-tracking flow. Nothing an agent needs to call this correctly appears missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 50% schema coverage and an undescribed enum, the description compensates fully: it defines what 'slug' is (a concept slug or an asset lesson's symbol) and explains all three view values, including that slug is required for view=lesson.

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 states a concrete verb+resource (a daily Gambit lesson) and enumerates exactly what each of the three views returns (daily card, archive, single lesson by slug). It clearly distinguishes itself from the nearby mark_lesson_read sibling by naming it and its role.

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 says view=daily is the default and what each mode is for, covers the when-to-use condition for view=lesson ('reading ahead claims nothing'), and routes read-marking to mark_lesson_read. The alternatives and their selection conditions are spelled out, not implied.

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