Get a lesson
get_lessonFetch one lesson by its slug (from search_lessons). Returns the lesson's opening in full and a link to read or listen to the rest on TheWholeTorah.ai.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The lesson slug. |
get_lessonFetch one lesson by its slug (from search_lessons). Returns the lesson's opening in full and a link to read or listen to the rest on TheWholeTorah.ai.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The lesson slug. |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds valuable context about the response shape: the lesson opening is returned in full, with a link for the rest. This goes beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the core action and the most important return detail front-loaded. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool, the description, schema, and annotations together provide everything needed: the parameter source, the action, and the shape of the response. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the slug parameter, so the baseline is 3. The description adds value by stating the slug comes from search_lessons, clarifying how to obtain a valid parameter value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches one lesson by slug and specifies the source of that slug (search_lessons). It distinguishes itself from sibling tools like search_lessons and get_daily by describing exactly what is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says the slug comes from search_lessons, which gives the agent a clear usage workflow. It does not exhaustively list alternatives or exclusions, but the context is sufficient for correct selection among the given siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool targets a distinct resource or action: catalog discovery, lesson search, source search, lesson retrieval, text retrieval, audio retrieval, daily entry, and Q&A. The two search tools are explicitly separated by corpus (site lessons vs classical sources), and ask is distinct from search by returning grounded answers with citations.
Seven tools follow a clean verb_noun snake_case pattern (search_lessons, get_source_text, list_books, etc.). The single tool named 'ask' is a minor deviation from the verb_noun convention, but it is short and understandable.
Eight tools is well-scoped for a Torah learning library. Each tool has a distinct job, and there is no redundant or filler surface.
The surface covers discovery (list_books), searching (search_lessons, search_sources), retrieval (get_lesson, get_source_text, get_audio, get_daily), and synthesis (ask). This is a read-only content domain, so CRUD operations are not expected; no obvious dead ends remain.