edookit-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EDOOKIT_SCHOOL | Yes | The subdomain of your school's Edookit portal (e.g., 'zs-example' if portal is at https://zs-example.edookit.net) | |
| EDOOKIT_PASSWORD | Yes | Your Edookit API password | |
| EDOOKIT_USERNAME | Yes | Your Edookit API username | |
| EDOOKIT_HMAC_MARK | No | Mark for the attendance (Docházka) module HMAC authentication. Required only if using attendance tools. | |
| EDOOKIT_HMAC_CLIENT_ID | No | Client ID for the attendance (Docházka) module HMAC authentication. Required only if using attendance tools. | |
| EDOOKIT_HMAC_CLIENT_KEY | No | Client key for the attendance (Docházka) module HMAC authentication. Required only if using attendance tools. |
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
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| attendance_versionA | Get the Edookit Attendance (Docházka) service version. No auth required. |
| attendance_settingsB | Get attendance service settings including current school year and semester. |
| attendance_classesA | List classes for the current school year. Optionally filter by class ID. |
| attendance_schedule_groupsB | List schedule groups and courses. Positive ID = schedule group, negative = course. |
| attendance_job_classificationsB | List job classifications (work categories) for staff. |
| attendance_bell_scheduleB | Get teaching period time ranges (bell schedule). |
| attendance_staffA | List all school staff (including inactive), optionally filtered by staff ID. |
| attendance_studentsB | List all students including legal guardian data, optionally filtered by student ID. |
| attendance_daily_scheduleA | Get daily schedule for a person (staff or student) for a specific date, reflecting current timetable changes. |
| attendance_passages_by_dateA | Get all RFID/physical access passages recorded on a given date. |
| attendance_passage_by_idA | Get a single passage record by its ID. |
| attendance_insert_passageA | Record a new access passage event (RFID entry/exit). Returns HTTP 201 on success. |
| lessons_versionB | Get Lessons (Hodiny) module API version. |
| lessons_listA | Get lessons (timetable) for a given day with optional filters. Returns actual (with substitutions) and scheduled state per lesson. |
| lessons_roomsA | List all rooms available in this Edookit instance. |
| lessons_course_typesA | List all course types. |
| lessons_work_typesA | List all work/activity types. |
| person_searchB | Search for a person by Edookit ID or Plus4U ID. Returns person data including roles, children, and representatives. |
| student_personal_dataB | Get personal data of students as of a reference date. |
| employee_personal_dataA | Get personal data of employees as of a reference date. |
| student_statisticsA | Get pseudonymized (anonymous UUID) student statistics across entire school history. |
| evaluations_listA | List evaluations (grades). At least one of student_id, course_id, or evalterm_id is required. |
| payments_versionB | Get Payments (Platby) module API version. |
| payments_categoriesB | List payment categories. |
| payments_currenciesA | List currencies available in Edookit. |
| payments_bank_accountsA | List bank accounts configured in Edookit. |
| payments_typesB | List payment types. |
| payments_organizationsA | List organizations in Edookit. |
| payments_list_prescriptionsA | List payment prescriptions with optional filters. |
| payments_create_prescriptionB | Create a new payment prescription, optionally with per-person amount overrides. |
| payments_create_paymentC | Record a payment transaction. |
| payments_update_prescriptionC | Update an existing payment prescription. |
| payments_delete_prescriptionC | Delete a payment prescription or remove persons from it. |
| payments_update_paymentC | Update an existing payment record. |
| payments_delete_paymentB | Delete a payment record. |
| courses_versionA | Get Courses (Kurzy) module API version. |
| courses_student_coursesA | List students with their courses, lessons, final evaluations, and attendance percentages for an evaluation term. |
| public_eventsA | List public school events in a time range. Uses legacy -login.edookit.net base URL. No authentication required. |
| changed_timetableA | Get substitution/changed timetable for a date range. Returns only lessons that changed vs original schedule. Uses legacy -login.edookit.net URL. |
| direct_attendance_lessonsB | Get lesson overview for a student on a given day. |
| direct_attendance_future_excuseC | Submit a future absence notice (avízo) for a student for a specific lesson. |
| direct_attendance_current_excuseB | Submit a current excuse (omluvenka) for a student's lesson absence. |
| direct_attendance_recordC | Insert an attendance record for a student in a lesson. |
| direct_attendance_student_overviewA | Get a student's full attendance history with statuses, notes, excuses, and absence advices. |
| individual_goals_lesson_contentB | Get individual lesson content for students. At least one of student_id, lesson_id, or date_from is required. |
| individual_goals_learning_agreementsB | Get student learning agreements with coach feedback, subcompetences, and validity ranges. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 46 tools
Many tools are module-prefixed, but several clusters are hard to distinguish: lessons_list, attendance_daily_schedule, direct_attendance_lessons, and changed_timetable all serve timetable-ish purposes. payments_types and payments_categories are nearly indistinguishable from their descriptions, and person_search, student_personal_data, and attendance_students overlap around person data.
Snake_case and module prefixes are reasonably consistent, but verb usage is not: read endpoints appear as bare nouns (attendance_students), list_* (lessons_list), and *_by_date (attendance_passages_by_date). Create operations mix insert_ and create_, and a few tools like person_search and changed_timetable break the module_prefix pattern.
At 46 tools, this is far above the 25-tool threshold and will be difficult for agents to navigate efficiently. The breadth is partly justified by multiple modules, but many tools are trivial version or reference-data endpoints that could be consolidated or removed.
Payments has solid CRUD coverage, and attendance includes reading, inserting, and excuse workflows. However, attendance passages and attendance records are insert/read-only with no update/delete, and lessons, courses, evaluations, and individual goals are mostly read-only or single-purpose, leaving notable lifecycle gaps.