Skip to main content
Glama

AI School by Lilly Tech Systems

Read lesson

read_lesson
Read-onlyIdempotent

Fetch the full text of a lesson by its URL (as returned by search_lessons or get_track). Returns readable markdown-ish text with headings and code blocks.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesLesson URL on lillytechsystems.com

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description need not repeat safety. It adds useful behavioral context beyond annotations: the return value is 'readable markdown-ish text with headings and code blocks,' which informs the agent about output format.

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 sentences with no filler. The primary action and input are front-loaded in the first sentence, and the second sentence efficiently describes the output format. Every sentence earns its place.

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?

For a simple one-parameter read-only tool, the description covers the input provenance, the action, and the output format. Annotations handle safety, and no output schema is needed because the return shape is already described. Nothing critical is missing.

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?

Schema coverage is 100%, so the baseline is 3. The description adds meaning to the single 'url' parameter by specifying its provenance ('as returned by search_lessons or get_track'), which clarifies where a valid URL value comes from beyond the schema's static description.

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 specific verb ('Fetch'), a clear resource ('full text of a lesson'), and the input mechanism ('by its URL'). It also references sibling tools as the source of the URL, which differentiates this tool from search_lessons and get_track.

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?

The description conveys clear context for use: you need a lesson URL as returned by search_lessons or get_track, and you want the full text. It does not explicitly list when-not-to-use or compare alternatives, but the usage scenario is unambiguous.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a clearly distinct entity and action: tracks are discovered and inspected via list_tracks/get_track, while lessons are searched and read via search_lessons/read_lesson. The descriptions explicitly guide when to use each tool, so there is no meaningful overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with appropriate singular/plural usage: get_track, list_tracks, read_lesson, search_lessons. The naming style is uniform, predictable, and immediately conveys each tool's purpose.

Tool Count5/5

Four tools is a well-scoped count for a read-only course content server: two for tracks and two for lessons. Each tool earns its place, and adding more would risk redundancy while removing any would create a discovery or reading gap.

Completeness5/5

The tool surface covers the full user journey for this domain: find a track, inspect its lesson list, search lessons across the curriculum, and read a lesson's full text. For a read-only educational content server, there are no obvious dead ends or missing operations.