ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

EduPage MCP Server

โดย oliverhrubyรุ่น 0.7.0i★ 4iรันบนเครื่อง
ชื่อใน registryio.github.oliverhruby/edupage-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

EduPage MCP: timetables, grades, homework, meals, messages, 2FA, multi-school, role-aware.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: เกม กีฬา อาหาร และการเรียน
  • ต้องใส่ค่าเหล่านี้: EDUPAGE_USERNAME, EDUPAGE_PASSWORD

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "edupage": {
      "command": "uvx",
      "args": [
        "edupage-mcp-full"
      ],
      "env": {
        "EDUPAGE_USERNAME": "ใส่ค่าของคุณ",
        "EDUPAGE_PASSWORD": "ใส่ค่าของคุณ",
        "EDUPAGE_SUBDOMAINS": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add edupage --env EDUPAGE_USERNAME='ใส่ค่าของคุณ' --env EDUPAGE_PASSWORD='ใส่ค่าของคุณ' --env EDUPAGE_SUBDOMAINS='ใส่ค่าของคุณ' -- uvx edupage-mcp-full

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "edupage": {
      "command": "uvx",
      "args": [
        "edupage-mcp-full"
      ],
      "env": {
        "EDUPAGE_USERNAME": "ใส่ค่าของคุณ",
        "EDUPAGE_PASSWORD": "ใส่ค่าของคุณ",
        "EDUPAGE_SUBDOMAINS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "edupage": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "edupage-mcp-full"
      ],
      "env": {
        "EDUPAGE_USERNAME": "ใส่ค่าของคุณ",
        "EDUPAGE_PASSWORD": "ใส่ค่าของคุณ",
        "EDUPAGE_SUBDOMAINS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • EDUPAGE_USERNAME ความลับ จำเป็น env
    Your EduPage username
  • EDUPAGE_PASSWORD ความลับ จำเป็น env
    Your EduPage password
  • EDUPAGE_SUBDOMAINS env
    Comma-separated school subdomains (optional)

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ใช้กับโปรแกรมไหนได้

ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569

ติดตั้งบนเครื่องได้ใน

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

ดูโปรแกรมทั้งหมดพร้อมข้อดีข้อเสีย →

คู่มือที่เกี่ยวข้อง

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 11 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub oliverhruby ซึ่งเป็นเจ้าของ repo

  • ✓ ผ่าน

    ยังมีคนดูแล

    มีการแก้โค้ดล่าสุด 15 วันที่ผ่านมา

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด เกม กีฬา อาหาร และการเรียนi

  • ดาวมากกว่า 91% ของอีก 1362 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 49% ของอีก 1362 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1362 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

EduPage MCP Server ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 2 จาก 2 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: EDUPAGE_USERNAME, EDUPAGE_PASSWORD

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด 15 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.7.0) เข้า registry 29 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Honcho, ShipSwift, Pm Claude Skills

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Honcho

Memory that reasons: continual learning for stateful agents. Better context, fewer tokens.

โดย plastic-labsใช้กันมาก★ 8.1Kอัปเดต 3 เดือนที่ผ่านมา

รันบนคลาวด์

ShipSwift

40+ production-ready SwiftUI recipes for building full-stack iOS apps via MCP.

โดย signerlabsใช้กันมาก★ 3.3Kอัปเดต 9 เดือนที่ผ่านมา

รันบนคลาวด์

Pm Claude Skills

1310 professional Agent Skills + workflow recipes — searchable & fetchable over MCP.

โดย mohitagw15856ใช้กันมาก↓ 2.5K/สัปดาห์★ 1.5Kอัปเดต 18 วันที่ผ่านมา

รันบนเครื่อง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

EduPage MCP Server

Project

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-api

library, which talks to EduPage's undocumented endpoints. Use read-only

features freely; use the write features (send_message, meal ordering, child

switching) carefully.


Table of Contents

  • Why another EduPage MCP server?
  • What it provides
  • Getting started
  • Prerequisites
  • 1. Install
  • 2. Configure credentials
  • 3. Register with your MCP client
  • Prompt examples
  • Multiple schools (subdomains)
  • Tool reference
  • Data & safety notes
  • Contributing
  • Limitations
  • Support
  • License

Why another EduPage MCP server?

Two other EduPage MCP servers already exist:

Both are good and I have no affiliation with them — they are simply referenced here for honest comparison. They primarily focus on the read-only surface of the API.

This project deliberately goes further:

Capabilitymhlavacmrtineu (PyPI)this project
Advanced login — portal auto-detect, 2FA, session id (PHPSESSID)partial (portal)basic only✅
Timetables (own + any teacher/class/room)✅✅✅
Grades (all / by term & year)✅✅✅
Substitutions / timetable changes✅✅✅
Meals — read menu✅✅✅
Meals — choose / sign-off / rate❌❌✅
Send messages (send_message)✅❌✅
Parent student switching (switch to/from student)partial (list)❌✅
Next ringing time / bell schedule❌❌✅
Raw session custom request❌❌✅
Multiple schools (auto-login + discovery)❌❌✅
Role-aware (parent / student / teacher)❌❌✅
Day summaries (one-call daily report)❌❌✅
Homework — body text + attachments❌✅✅
Download a homework file to disk❌✅✅

Key differentiators:

  • Multi-school automatic discovery. Set EDUPAGE_SUBDOMAINS with one shared login and the server auto-discovers students across all schools — no need to maintain a manual "Student → school1, Student → school2" mapping. A student at two schools (e.g. Student at school1 + school2) is found automatically with separate per-school results.
  • Role-aware tools. The server detects whether you're a parent, student, or teacher at each school and behaves accordingly — get_student_timetable switches to the student account for parents, returns direct timetables for students. No tool duplication.
  • Full write surface. Meal ordering/rating, message sending, student switching — the other servers don't cover these.

*Comparison checked 2026-09-28. If a row is wrong, please open an issue.*


What it provides

A single stdio MCP server exposing 31 tools (published on PyPI as edupage-mcp-full):

  • Authentication — login (by credentials, portal auto-detect, or a PHPSESSID cookie via method=), login_all (multi-school, one call), two_factor_finish (complete a pending 2FA), get_subdomains (schools available to the account with role/user id per school + env config, live subdomain discovery for parents). The former auth_status, user_id, login_auto, login_from_session, and two_factor_check_confirmed tools are folded into these.
  • Timetables — get_my_timetable, get_timetable (teacher/student/class/ classroom; end_date for a range, formerly get_timetable_range), get_student_timetable (student by name, cross-school), get_next_week_timetable, get_next_ringing_time, get_periods, get_school_year
  • Students — find_student (name → person_id, cross-school), get_student_timetable (cross-school, role-aware), scan_students (auto-discover all students across schools), get_my_students (classmates or school-wide for parents), switch_to_student (by id or name, parent only), switch_to_parent, clear_student_cache (force refresh cached student lists)
  • Schools — get_subdomains (subdomains available to the account — live-discovered for parents, limited by EDUPAGE_SUBDOMAINS when set — plus session state per school)
  • Grades — get_grades
  • Timeline / notifications — get_timeline (category= for homework, assignments, absences, events, news, or full history since a date)
  • Homework — get_timeline(category='homework') to list assignments (ids in additional_data.superid), get_homework_material to read one assignment's body text, dates and attachment list (the notification alone only carries the title and due date), download_attachment to save one attachment to disk
  • Substitutions — get_timetable_changes, get_missing_teachers
  • Meals — get_meals, choose_meal, sign_off_meal, rate_meal
  • Day summaries — get_day_summary (one call: timetable, substitutions, missing teachers, grades, meals, homework, assignments, absences, news, events, notifications for a date — "what happened yesterday at school" in a single round trip; each section is isolated so one failure doesn't kill the report). A bundled agent skill (school-day-summary) turns that JSON into a human-readable daily report — install it with edupage-mcp-full install-skill (see Skills); every client can also call get_day_summary directly and read the JSON.
  • Rosters — get_roster (roster_type= for students, all students, teachers, classes, classrooms, or subjects), get_my_students
  • Actions — send_message, switch_to_student, switch_to_parent, custom_request

Getting started

You need an MCP-capable client (opencode, Claude Desktop, Cursor, etc.).

1. Install

If you are using an AI coding client, a simple prompt is often enough to get started, for example: "Install the EduPage MCP as described in this GitHub repository oliverhruby/edupage-mcp". Most MCP-capable clients can then guide you through the available setup options.

**Option A — as an agent plugin (recommended: the server *and* the skill in one install)**

For VS Code, GitHub Copilot and Claude Code this repo ships a plugin that installs the server together with the school-day-summary agent skill:

copilot plugin marketplace add oliverhruby/edupage-mcp

copilot plugin install edupage@edupage-plugins

Claude Code reads the same marketplace:

claude plugin marketplace add oliverhruby/edupage-mcp

claude plugin install edupage@edupage-plugins

opencode, Cursor and Windsurf read Agent Skills but not plugins — for those, and for every other install route, see docs/PLUGINS.md.

**Option B — one-shot with APM (the server *and* the skill in one command, optional, emerging standard)**

APM (Agent Package Manager) is an emerging open standard for distributing agent context — think npm for agent skills, MCP servers and instructions. This route is optional: Option A and every route below work exactly as before. If you already use APM (or want to try it), it is the only cross-harness one-shot install here.

  1. Install the CLI once. Requirements: git, plus uv for the server runtime.
  • Windows: winget install --id Microsoft.APM -e (or scoop bucket add apm https://github.com/microsoft/scoop-apm; scoop install apm)
  • macOS / Linux: brew install apm
  • Any platform with Python 3.10+: pip install apm-cli
  • Other options: installation docs
  1. Install this package:
   apm install oliverhruby/edupage-mcp

One command does both:

  • deploys the school-day-summary skill into the harness's skills directory (.claude/skills/, .agents/skills/, ...);
  • writes the uvx edupage-mcp-full stdio server entry into the MCP config of every harness APM detects (Claude Code, GitHub Copilot, Cursor, opencode, Codex, Gemini, Windsurf, Kiro, ...); add --target claude (or another target) to force one harness.
  1. Verify:
   apm mcp list        # server registered?

apm uninstall oliverhruby/edupage-mcp removes the package and the deployed skill files, but leaves the MCP server entry it wrote into .mcp.json (and other harness configs) — delete that entry yourself if you want it gone.

Credentials are never embedded in the package: set EDUPAGE_USERNAME / EDUPAGE_PASSWORD (and EDUPAGE_SUBDOMAINS for multi-school accounts) before running apm install — see 2. Configure credentials.

Pinning. Append # (or # once a release contains apm.yml) to pin an exact revision and silence APM's "dependency unpinned" warning; without a pin, APM records the resolved commit in apm.lock.yaml. Releases up to v0.7.0 predate the manifest, so use a commit sha until the next release.

The Claude Code plugin/marketplace install (Option A) remains supported and unchanged — APM is an additional install route, declared in this repo's apm.yml.

Option C — from MCP Registry (one-click, server only, no skill)

The server is listed in the MCP Registry. In VS Code or GitHub Copilot, search for "EduPage MCP" and install with one click. Or use the direct deeplink: mcp://install/io.github.oliverhruby/edupage-mcp

Option D — from PyPI

Use this for normal usage with a release

ตัดมาแค่ช่วงต้น อ่านต่อใน repo