Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EDUPAGE_PASSWORDYesYour EduPage password
EDUPAGE_TIMEZONENoIANA timezone that 'today' is judged inEurope/Bratislava
EDUPAGE_USERNAMEYesThe username you sign in to EduPage with (usually an email)
EDUPAGE_READ_ONLYNoSet to 'true' to hide send_message and order_meal tools (read-only mode)false
EDUPAGE_SUBDOMAINSNoComma-separated schools, e.g. myschool,otherschool for myschool.edupage.org. If not set, schools are discovered automatically.
EDUPAGE_SESSION_FILENoKeep sessions in this file (mode 600) so a two-factor login survives restarts
EDUPAGE_REQUEST_TIMEOUTNoSeconds to wait for EduPage20
EDUPAGE_SESSION_TTL_MINUTESNoHow old a session may get before it is refreshed20

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_accountA

Who is on this EduPage login: the account type (parent or student), every school it reaches (subdomain, school year, email) and every student with their class and school. Call this first to learn the names to pass as student to the other tools.

get_briefingA

One-call overview for every student (or just student): today's lessons with changes and cancellations, homework and exams due in the next days_ahead days (default 3), messages and notices from the last two days, grades from the last week, and today's canteen menu. Sections that fail are listed under warnings instead of failing the whole call.

get_timetableA

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.

get_homeworkA

Homework and announced exams (tests, quizzes, oral exams) due between start_date (default today) and end_date (default two weeks later), sorted by due date. kind filters to 'homework' or 'exam' (default 'all'). Items marked done in EduPage are left out unless include_done is true. Each item has the subject, teacher, title, details, due date and any attachments.

get_messagesA

Messages from teachers and the school (and chats) since since (default 14 days ago), newest first, with replies nested under the message they answer. Each has the author, who it was addressed to (a class, parents of a class, the whole school, or you), the full text, attachments, and confirmation_requested when the sender asked for a read receipt. search filters by text, author or recipient (accent-insensitive).

get_notificationsA

Everything on the student's EduPage timeline since since (default 7 days ago), newest first: messages, homework, grades, events, absences, payments, sign-up forms, substitutions and more. Filter with types, using the returned type or type_code values, e.g. ['grade', 'payments_published', 'enrollment']. EduPage's own tips and bookkeeping entries are hidden unless include_system is true. search matches text, author or recipient.

get_gradesA

A student's marks for the current term, newest first, with a per-subject summary (count and weighted average). Marks run 1 (best) to 5; points and percentage marks include max_points and percent. Filter with subject (name or abbreviation) and since. For an earlier term pass school_year (the starting year, e.g. 2025 for 2025/26) and term (1 or 2).

get_absencesA

Absences recorded for a student since since (default the start of the school year): each absence with the affected periods and whether it is excused, plus excuse notes and reminders, with totals of days absent and days not yet excused.

get_eventsA

School calendar events for a student between start_date (default today) and end_date (default 30 days later): exams, trips, excursions, school events, parents' evenings, holidays and days off, as announced on the timeline, with the subject, teachers and classes involved.

get_substitutionsA

The school's substitution plan for date (default today): lessons cancelled, moved or taught by someone else, and which teachers are away. Pass a student to see only their class, or a school subdomain (or all_classes: true) for the whole school.

get_mealsA

The school canteen menu for date (default today) and the following days days (1-14), per meal (breakfast, snack, lunch, ...): each menu option with its dishes, allergens and portion sizes, whether a meal is ordered and which menu, the order/cancel deadlines, and the remaining meal credit.

get_school_infoA

Facts about a school (by subdomain or a student's name): the bell schedule with each period's start and end, the school's email, each student's class with its class teachers and home classroom, and how many teachers, classes, subjects and rooms it has.

list_teachersA

Teachers at a school (by subdomain or a student's name), optionally filtered by query (part of a name, or the abbreviation used in the timetable). Each has a recipient_id for send_message.

send_messageA

Send a new EduPage message from this account to one or more teachers at a school (by subdomain or a student's name). recipients are teacher names or recipient_ids from list_teachers; a name must match exactly one teacher. The message cannot be unsent: confirm the recipients and text with the user before calling.

order_mealA

Choose a menu for a student's canteen meal on date, or cancel it. meal is 'lunch' (default), 'breakfast', 'snack', ... as returned by get_meals; menu is one of that meal's choosable_menus (e.g. 'A', 'B') or 'cancel'. Only works before the canteen's deadline. Confirm the day and choice with the user first.

complete_loginA

Finish an EduPage login that asked for a second factor. After the user approves the login in the EduPage app, call this with no code; if EduPage emailed a code instead, pass it as code. school is only needed if several schools are waiting.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 16 tools

Disambiguation5/5

Every tool targets a distinct EduPage resource or action, and the descriptions clearly separate overlapping areas like get_messages vs. get_notifications and get_timetable vs. get_substitutions. An agent should be able to select the right tool without confusion.

Naming Consistency5/5

Tool names almost universally follow a snake_case verb_noun pattern, with get_* for reads and imperative verbs like send_, order_, and complete_ for actions. list_teachers is a conventional collection-naming exception rather than an inconsistency.

Tool Count4/5

At 16 tools, the surface is just above the ideal 3-15 range, but the EduPage domain is genuinely broad and each tool covers a meaningful module. The count feels comprehensive rather than bloated.

Completeness4/5

The set covers nearly every core student/parent workflow: timetable, homework, messages, grades, absences, meals, events, substitutions, school info, and login. A few smaller capabilities are missing, such as toggling homework completion or detailed payment actions, but the main workflows have no dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues