Edupage
FreeNot checkedRead-only EduPage MCP server for timetables, grades, notifications, meals, and school metadata
About
Read-only EduPage MCP server for timetables, grades, notifications, meals, and school metadata
README
edupage-mcp is a read-only MCP server for EduPage. It lets MCP clients and agents query timetable data, grades, notifications, meals, and school metadata through the edupage-api library.
Supported Features
Supported tools:
get_timetableget_gradesget_notificationsget_teachersget_studentsget_classesget_subjectsget_mealsget_substitutionsget_timetable_changes
Experimental tool:
get_missing_teachers
get_missing_teachers is exposed, but some schools block teacher substitution visibility entirely, so it may return an availability message instead of teacher data.
Requirements
- Python
3.10+ uv- An EduPage account
- EduPage 2FA disabled
- Your school subdomain from
https://<subdomain>.edupage.org
Environment variables:
EDUPAGE_USERNAME=your_username
EDUPAGE_PASSWORD=your_password
EDUPAGE_SUBDOMAIN=your_school_subdomain
Run It
Install and run from PyPI with uvx:
uvx edupage-mcp
For local development:
uv sync
uv run edupage-mcp
The server uses stdio transport, so it is meant to be launched by an MCP client.
MCP Setup
OpenCode
Add this to ~/.config/opencode/opencode.json or project opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"edupage": {
"type": "local",
"command": ["uvx", "edupage-mcp"],
"environment": {
"EDUPAGE_USERNAME": "your_username",
"EDUPAGE_PASSWORD": "your_password",
"EDUPAGE_SUBDOMAIN": "your_school_subdomain"
}
}
}
}
Claude Desktop
Add this to your Claude Desktop MCP config:
{
"mcpServers": {
"edupage": {
"command": "uvx",
"args": ["edupage-mcp"],
"env": {
"EDUPAGE_USERNAME": "your_username",
"EDUPAGE_PASSWORD": "your_password",
"EDUPAGE_SUBDOMAIN": "your_school_subdomain"
}
}
}
}
Tool Summary
| Tool | Parameters | Description |
|---|---|---|
get_timetable |
date_str |
Timetable for a date. Defaults to today. |
get_grades |
year, term |
Grades, optionally filtered by school year and term. |
get_notifications |
date_from |
Notifications, optionally from a given date onward. |
get_teachers |
none | Teachers at the school. |
get_students |
none | Students in the logged-in student's class. |
get_classes |
none | School classes. |
get_subjects |
none | School subjects. |
get_meals |
date_str |
Meal menu for a date. Defaults to today. |
get_substitutions |
date_str |
Raw substitution rows for a date. Defaults to today. |
get_timetable_changes |
date_str |
Timetable changes for a date. Defaults to today. |
get_missing_teachers |
date_str |
Absent teachers for a date. Experimental. |
Limitations
- Read-only only
- No 2FA support
- Parent and teacher accounts are not verified
- Depends on upstream
edupage-apibehavior
Acknowledgements
This project would not be possible without the upstream edupage-api library:
Installing Edupage
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/mrtineu/edupage-mcpFAQ
Is Edupage MCP free?
Yes, Edupage MCP is free — one-click install via Unyly at no cost.
Does Edupage need an API key?
No, Edupage runs without API keys or environment variables.
Is Edupage hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Edupage in Claude Desktop, Claude Code or Cursor?
Open Edupage on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Edupage with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
