Skip to main content

edupage-mcp

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_timetable
  • get_grades
  • get_notifications
  • get_teachers
  • get_students
  • get_classes
  • get_subjects
  • get_meals
  • get_substitutions
  • get_timetable_changes
  • get_homework
  • download_homework_file

get_homework and download_homework_file are not backed by edupage-api (which has no homework/material support); they parse EduPage's internal material-player page directly. Pass the superid from a homework notification's additional_data (see get_notifications) to get_homework to read the assignment text and list its attachments, then pass an attachment URL to download_homework_file to save it locally.

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_homework superid Full homework/material content (text + attachment list) for a homework notification.
download_homework_file url, filename, dest_dir Download a homework attachment to disk. dest_dir overrides the default (EDUPAGE_DOWNLOAD_DIR env var, or ~/Downloads/edupage-mcp).
get_missing_teachers date_str Absent teachers for a date. Experimental.

Limitations

  • Read-only only (download_homework_file writes files to local disk, but does not submit or modify anything on EduPage)
  • No 2FA support
  • Parent and teacher accounts are not verified
  • Depends on upstream edupage-api behavior

Acknowledgements

This project would not be possible without the upstream edupage-api library:

https://github.com/EdupageAPI/edupage-api

Metadata

Release files for edupage-mcp 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for edupage-mcp 0.1.4
File Size Uploaded
edupage_mcp-0.1.4.tar.gz 20.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for edupage-mcp 0.1.4
File Interpreter ABI Platform
edupage_mcp-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 41.1 kB

Release files / edupage_mcp-0.1.4.tar.gz

Download URL edupage_mcp-0.1.4.tar.gz
Size 20.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c4355f7b20cfb8a90b81e056a3ed48db76876073771a73bb38cd98cf1f0dfd90
BLAKE2b-256 checksum
How to use checksums
125fbfd15df245eca1d5a89ae6100de5b34b43e3acdc68623a1dd85c70b0a99b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / edupage_mcp-0.1.4-py3-none-any.whl

Download URL edupage_mcp-0.1.4-py3-none-any.whl
Size 20.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
96afb6dcd400e3224ecd0281881a588dcf5da183dbcd3a3ed0715911e1d55a07
BLAKE2b-256 checksum
How to use checksums
048c464f0734611cd4c1e1d6d5591240d539c73654638c7ad04e3c16b2bd3d26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page