Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EDUPAGE_PASSWORDYesYour Edupage password
EDUPAGE_USERNAMEYesYour Edupage username
EDUPAGE_SUBDOMAINYesThe subdomain of your school's Edupage URL (e.g., myschool for https://myschool.edupage.org)

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
loginA

Log in to Edupage using environment variables. No parameters needed if EDUPAGE_USERNAME, EDUPAGE_PASSWORD, and EDUPAGE_SUBDOMAIN are set. Supports multiple schools via comma-separated subdomains.

Args: username: Your Edupage username (defaults to EDUPAGE_USERNAME env var) password: Your Edupage password (defaults to EDUPAGE_PASSWORD env var) subdomain: Your school's Edupage subdomain, or comma-separated list for multi-school (defaults to EDUPAGE_SUBDOMAIN env var)

Returns: Success or error message

login_autoA

Log in to Edupage via the portal (auto-detect school). No parameters needed if EDUPAGE_USERNAME and EDUPAGE_PASSWORD are set.

Args: username: Your Edupage username / email (defaults to EDUPAGE_USERNAME env var) password: Your Edupage password (defaults to EDUPAGE_PASSWORD env var)

Returns: Success or error message

get_timetableA

Get the timetable for a given date (defaults to today).

Args: date_str: Date in YYYY-MM-DD format. Leave empty for today. class_name: Class name (e.g. '6e', '4a'). If empty, uses logged-in user's timetable. student_name: Student name to look up their class timetable (e.g. 'Jan Novak'). Resolves the student's class automatically (searches all schools). school: School subdomain (only needed with multiple schools and no student_name).

Returns: JSON array of lean timetable lessons

get_next_week_timetableA

Get timetable for each day of the upcoming week (Mon-Fri).

Args: class_name: Class name (e.g. '6e', '4a'). If empty, uses logged-in user's timetable. student_name: Student name to look up their class timetable (searches all schools). school: School subdomain (only needed with multiple schools and no student_name).

Returns: JSON object keyed by date with lean timetable lessons

get_timetable_changesA

Get timetable changes / substitutions for a date (defaults to today).

Args: date_str: Date in YYYY-MM-DD format. Leave empty for today. school: School subdomain (only needed with multiple schools).

Returns: JSON array of timetable changes

get_gradesA

Get student grades/marks. Returns grades for the current session's child. For parent accounts with multiple children, grades are for the child linked to the current session.

Args: term: Term/semester filter (leave empty for all) year: School year filter (leave 0 for current) school: School subdomain (only needed with multiple schools).

Returns: JSON array of lean grade records with percent, class_avg, etc.

get_my_childrenA

Get your children (for parent accounts) or classmates (for student accounts). Use this to find student names for use with other tools like get_timetable, get_absences, and get_student_summary.

Args: school: School subdomain (only needed with multiple schools).

Returns: JSON array of students with person_id, name, class_id, number

get_studentsB

Get students in your class.

Args: school: School subdomain (only needed with multiple schools).

Returns: JSON array of lean student records

get_all_studentsA

Get all students in the school (name + class only).

Args: school: School subdomain (only needed with multiple schools).

Returns: JSON array of student skeletons

get_teachersA

Get all teachers in the school.

Args: school: School subdomain (only needed with multiple schools).

Returns: JSON array of lean teacher records

get_classesA

Get all classes in the school.

Args: school: School subdomain (only needed with multiple schools).

Returns: JSON array of lean class records

get_classroomsA

Get all classrooms in the school.

Args: school: School subdomain (only needed with multiple schools).

Returns: JSON array of lean classroom records

get_homeworkA

Get homework assignments from the last N days. Extracts homework from the timeline/notification history.

Args: since_days: How many days back to search (default 30) status: Filter by status — "active" (not done), "done", or "" (all, default) school: School subdomain (only needed with multiple schools).

Returns: JSON array of homework items with title, subject, due_date, etc.

get_assignmentsA

Get all assignments (homework, tests, exams, projects, etc.) from the last N days.

Args: since_days: How many days back to search (default 30) status: Filter by status — "active", "done", or "" (all, default) event_type: Narrow to specific types (comma-separated). Valid types: homework, etesthw, bexam, sexam, oexam, rexam, pexam, testing school: School subdomain (only needed with multiple schools).

Returns: JSON array of assignment items

get_timelineA

Get the visible timeline (recent messages, assignments, grades). System events (H_* types) are hidden by default.

Args: status: Filter by status — "active" (default), "done", or "all". starred: Filter by starred — "yes", "no", or "" (all). event_type: Raw type filter (comma-separated, e.g. "sprava,znamka"). category: Human-friendly category. One of: homework, grades, exams, messages, absences, events, news. Mutually exclusive with event_type. date_from: Start date (YYYY-MM-DD) for date range filter. date_to: End date (YYYY-MM-DD) for date range filter. limit: Max items to return (default 50). offset: Items to skip for pagination. include_system: Include system events like H_* types (default false). school: School subdomain (only needed with multiple schools).

Returns: JSON array of lean timeline events

get_notificationsA

Get recent notifications. System events are hidden by default.

Args: status: Filter — "active", "done", or "" (all, default). starred: Filter — "yes", "no", or "" (all). event_type: Raw type filter (comma-separated). category: Category filter: homework, grades, exams, messages, absences, events, news. limit: Max items (default 50). offset: Skip items for pagination. include_system: Include system events (default false). school: School subdomain (only needed with multiple schools).

Returns: JSON array of lean notification events

get_notification_historyA

Get notification history since a given date.

Args: since_date: Start date in YYYY-MM-DD format. Defaults to 7 days ago. status: Filter — "active", "done", or "" (all, default). starred: Filter — "yes", "no", or "" (all). event_type: Raw type filter (comma-separated). category: Category filter: homework, grades, exams, messages, absences, events, news. limit: Max items (default 50). offset: Skip items for pagination. include_system: Include system events (default false). school: School subdomain (only needed with multiple schools).

Returns: JSON array of lean notification events

get_newsB

Get school news from the Edupage webpage.

Args: school: School subdomain (only needed with multiple schools).

Returns: JSON array of news items

get_mealsB

Get school meal information for a given date (defaults to today).

Args: date_str: Date in YYYY-MM-DD format. Leave empty for today. school: School subdomain (only needed with multiple schools).

Returns: JSON of meal data (snack, lunch, afternoon_snack)

send_messageA

Send a message to one or more Edupage users. ⚠️ Use with care – this sends real messages.

Args: recipients: Comma-separated list of recipient names (must match teacher/student names exactly) body: The message text to send school: School subdomain (required when recipient exists in multiple schools).

Returns: Success or error message

get_absencesA

Get absence records from the last N days.

Args: since_days: How many days back to search (default 30) student_name: Optional student name to validate context (e.g. 'Jan Novak'). Searches all schools automatically. school: School subdomain (only needed with multiple schools and no student_name).

Returns: JSON array of absence records with date, type, text, author

get_upcoming_eventsA

Get upcoming events and exams within the next N days.

Args: days_ahead: How many days ahead to look (default 30) school: School subdomain (only needed with multiple schools).

Returns: JSON array of upcoming events sorted by date (nearest first)

get_student_summaryA

Get a comprehensive summary for a student: grades, homework, exams, absences, and messages — all in one call.

Args: student_name: Student name (e.g. 'Jan Novak'). Use get_my_children() to find names. Searches all schools automatically. since_days: How many days back to include (default 14) school: School subdomain (only needed when student exists in multiple schools).

Returns: JSON object with student, class, grades, homework, exams, absences, messages

get_subjectsA

Get all subjects taught at the school.

Args: school: School subdomain (only needed with multiple schools).

Returns: JSON array of lean subject records

get_periodsA

Get school period / bell schedule information.

Args: school: School subdomain (only needed with multiple schools).

Returns: JSON array of periods with start/end times

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mhlavac/edupage-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server