Skip to main content
Glama

Get timetable

get_timetable
Read-only

Retrieve a student's lessons for a specified date or range, grouped by day, including periods, times, subjects, teachers, classrooms, and groups, with substitutions and cancellations clearly marked.

Instructions

A student's lessons for date (default today) and the following days days (1-31, default 1), grouped by day. Each lesson has its period, start and end time, subject, teachers, classroom and group. Substitutions show the original lesson with cancelled: true next to its replacement with changed: true. homework_ids link a lesson to entries from get_homework. Weekends and holidays have no entries.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNo
daysNo
studentNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

The description goes well beyond the readOnly/openWorld annotations by explaining default values, day grouping, lesson fields, substitution representation with `cancelled: true` and `changed: true`, `homework_ids` linkage, and empty behavior on weekends/holidays. This gives the agent a thorough behavioral model without contradicting annotations.

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?

The description is compact and front-loaded, starting with the core function and default behavior, then enumerating returned lesson fields and special cases. Every sentence adds distinct value, with no repetition or filler.

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?

The output schema exists, so return-value details are not required. The description covers grouping, field contents, substitution semantics, homework linkage, and empty-day behavior. The only meaningful gap is the undocumented `student` parameter, which leaves a small but real ambiguity for agents deciding whether to provide it.

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 must carry parameter meaning. It does explain `date` (default today) and `days` (1-31, default 1), but it does not clarify the `student` parameter, such as what format it expects or whether it defaults to the current user. Two of three parameters are well covered, but the omission prevents a higher score.

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 clearly identifies the tool's purpose: retrieving a student's lessons for a date range, grouped by day. It distinguishes itself from siblings by explaining how substitutions are represented inline and how lessons link to `get_homework`, making its scope evident even without naming alternatives.

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 gives clear context for when to use the tool: to get a student's timetable over a date range, with defaults and behavior on weekends/holidays. It does not explicitly state when not to use it or name alternatives like `get_substitutions`, but the substitution-handling description implicitly clarifies its role.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.