EduPage MCP: timetables, grades, homework, meals, messages, 2FA, multi-school, role-aware.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
A Model Context Protocol (MCP) server that exposes the full functionality of the
edupage-api Python library to AI
agents such as opencode, Claude, Cursor and any other MCP client.
EduPage is a school information system used across Europe. This server lets you query and operate a student / teacher / parent EduPage account directly from your agent: timetables, grades, homework, substitutions, meals (including ordering), messages, rosters, parent child-switching and more β including multiple schools (e.g. two children attending different schools).
β οΈ Unofficial API. Like all EduPage MCP servers, this relies on the community-maintained
edupage-apilibrary, which talks to EduPage's undocumented endpoints. Use read-only features freely; use the write features (send_message, meal ordering, child switching) carefully.
Three EduPage MCP servers exist. All three wrap the same community-maintained
edupage-api library β none of them
reimplements EduPage's undocumented endpoints from scratch. I have no
affiliation with the other two; they are listed here because an honest
comparison is more useful than a marketing page.
| this project | mrtineu/edupage-mcp | mhlavac/edupage-mcp | |
|---|---|---|---|
| Install | uvx edupage-mcp-full, pip, or one-click from the MCP Registry | uvx edupage-mcp (PyPI) | clone + uv sync |
| Tools | 29 (consolidated β see note) | 13 | 26 |
| License | MIT | Apache-2.0 | GPL-3.0 |
| Stars | 1 | 2 | 1 |
| Repo created | 2026-09-03 | 2026-06-05 | 2026-02-21 |
| Last push | 2026-09-28 | 2026-09-16 | 2026-09-22 |
| Test suite | β
(pytest, run in CI) | β | β |
Two things worth stating plainly before the feature table. This is the
newest and least-adopted of the three β as of 2026-09-28 it is 25 days old with
a single star, while mhlavac/edupage-mcp predates it by over six months. And
tool count is a poor metric: this project deliberately folds families behind
a discriminating parameter (get_roster(roster_type=β¦),
get_timeline(category=β¦)) rather than shipping near-identical tools, so its 29
tools cover ground that takes the others 26 or 13 separate ones. The table
below is therefore written by capability, not by tool name.
| Capability | mhlavac | mrtineu | this project |
|---|---|---|---|
| Login β credentials | β | β | β |
| Login β portal auto-detect | β | β | β |
| Login β 2FA completion | β | β | β |
Login β existing PHPSESSID | β | β | β |
| Multiple schools in one deployment | β | β | β |
| Timetable β own | β | β | β |
| Timetable β by student | β (by name) | β | β (name or id) |
| Timetable β by class | β | β | β |
| Timetable β by teacher | β | β | β |
| Timetable β by classroom | β | β | β |
| Timetable β over a date range | β | β | β |
| Next-week timetable | β | β | β |
| Grades | β | β | β |
| Substitutions / timetable changes | β | β | β |
| Missing teachers | β | β (experimental) | β |
| Meals β read menu | β | β | β |
| Meals β choose / sign off / rate | β | β | β |
| Send messages | β (open bug #5) | β | β |
| Parent β list own children | β | β | β |
| Parent β switch session into a child | β | β | β |
| Bell schedule (periods) | β | β | β |
| Next ringing time (live) | β | β | β |
| Homework β from notifications | β | β | β |
| Homework β body text + attachments | β | β | β |
| Download a homework file to disk | β | β | β |
| Absences | β | β | β |
| Upcoming events | β | β | β |
| School news | β | β | β |
| Assignments (tests / exams) | β | β | β |
| Roster β students/teachers/classes/classrooms/subjects | β | partial | β |
| Whole-school roster | β | β | β |
| "Is the kid at school today?" | β | β | β |
| Aggregate summary | β (last N days) | β | β (one day) |
| Raw custom HTTP request | β | β | β |
| Role detection (parent/student/teacher) | β | β | β |
| Auto re-login on expired session | β | β | β (several tools) |
| Automated tests in CI | lint only | β | β |
The table above is not one-sided, and it would be dishonest to leave it there:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/edupage-mcp-server)<a href="https://allmcps.com/mcp/edupage-mcp-server"><img src="https://allmcps.com/api/badge/edupage-mcp-server?style=directory" alt="EduPage MCP Server on AllMCPs" /></a>