Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WEBUNTIS_SCHOOLNoSchool short name as shown in QR code dialog
WEBUNTIS_SECRETNo16-character TOTP key from QR code dialog
WEBUNTIS_SERVERNoWebUntis server hostname (e.g. `yourschool.webuntis.com`)
WEBUNTIS_STUDENTNoChild's first name (for student resolution)
WEBUNTIS_PASSWORDNoLogin password (not needed for read-only, reserved for future write support)
WEBUNTIS_USERNAMENoYour login (usually email address)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_timetableA

Fetch the student's timetable for a date range.

Returns lessons with subject, room, teacher, and any changes (cancellations, substitutions, room swaps).

Args: start_date: Start date in YYYY-MM-DD format (default: today) end_date: End date in YYYY-MM-DD format (default: start + 4 days)

get_todayA

Fetch today's schedule with all details.

Shows all lessons for today including any cancellations, substitutions, room changes, and teacher changes.

get_tomorrowA

Fetch tomorrow's schedule.

Shows all lessons for the next school day. If tomorrow is a weekend, returns the next Monday's schedule.

get_class_timetableA

Fetch a class timetable. Can show any class at the school, not just the student's own.

Useful for seeing religious instruction, split groups, comparing schedules between classes, or checking a friend's class. Use list_classes to discover available class names.

Args: class_name: Class name like '1a', '2b', '3c' (default: student's own class) start_date: Start date in YYYY-MM-DD format (default: today) end_date: End date in YYYY-MM-DD format (default: start + 4 days)

list_classesA

List all classes at the school for the current school year.

Returns class names that can be used with the get_class_timetable tool to fetch any class's schedule.

get_homeworkB

Fetch pending homework assignments.

Returns homework with subject, teacher, description text, and due date.

Args: days_ahead: Number of days to look ahead (default: 14)

get_examsA

Fetch upcoming exams and tests.

Args: days_ahead: Number of days to look ahead (default: 30)

get_absencesC

Fetch registered absences for the student.

Shows absence records with dates, times, reasons, excuse status, and any notes attached.

Args: start_date: Start date in YYYY-MM-DD format (default: school year start) end_date: End date in YYYY-MM-DD format (default: school year end)

get_changesA

Detect timetable changes like cancellations, substitutions, and room swaps.

Filters the timetable for lessons that have been modified from the original schedule.

Args: start_date: Start date in YYYY-MM-DD format (default: today) end_date: End date in YYYY-MM-DD format (default: start + 4 days)

get_messagesB

Fetch messages of the day from the school.

Returns announcements, notices, and information messages published by the school for a specific date.

Args: target_date: Date in YYYY-MM-DD format (default: today)

get_school_infoA

Fetch school metadata including period times, holidays, and last data import.

Useful for understanding the school's schedule structure and upcoming free days.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 11 tools

Disambiguation3/5

get_today and get_tomorrow are essentially convenience wrappers around get_timetable with fixed date ranges, and get_changes overlaps with get_timetable (whose description already promises cancellations/substitutions/room swaps). Descriptions provide useful context, but an agent must still reason about when to prefer the specialized tool over the general one.

Naming Consistency5/5

Nearly every tool follows the get_<noun> pattern (get_timetable, get_homework, get_exams, etc.), with list_classes as the only variant, which is still a clean verb_noun convention. No mixing of camelCase/snake_case or vague verbs.

Tool Count5/5

11 tools is well-scoped for a school information server, with each covering a distinct data domain (timetable, homework, exams, absences, messages, metadata). No padding or redundancy at the count level.

Completeness4/5

The surface covers the core student life domains: schedules, classes, homework, exams, absences, messages, and school metadata. Grades/report cards and any write operations (e.g., excusing absences) are absent, but read-only coverage is largely complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues