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.2

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.2
File Size Uploaded
edupage_mcp-0.1.2.tar.gz 18.1 kB Details

Built distribution (wheel)

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

Total release size: 36.7 kB

Release files / edupage_mcp-0.1.2.tar.gz

Download URL edupage_mcp-0.1.2.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d54ea6ad030af06e7d6bfd0ddc63277c703b73775939cd4e625fe27b9a646e45
BLAKE2b-256 checksum
How to use checksums
6ee3f022a5a1bc72081f56ff02045d0d65ebf1ba4e46860dc194247e1c9a4a29
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 15, 2026.

Transparency log

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

Download URL edupage_mcp-0.1.2-py3-none-any.whl
Size 18.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
315b3e85015258909605c4cdd8a2a6762139f2c0cebb00c00774b0db472bca4c
BLAKE2b-256 checksum
How to use checksums
9d62388b6637b48a1113840168d37ed276b472da7701942e97b717a4ad41b728
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 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.4

2 release files

0.1.3

2 release files

This release

0.1.2 This release

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