Honcho
Memory that reasons: continual learning for stateful agents. Better context, fewer tokens.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
EduPage MCP: timetables, grades, homework, meals, messages, 2FA, multi-school, role-aware.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
EDUPAGE_USERNAME, EDUPAGE_PASSWORD, EDUPAGE_SUBDOMAINSค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด 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/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"edupage": {
"command": "uvx",
"args": [
"edupage-mcp-full"
],
"env": {
"EDUPAGE_USERNAME": "ใส่ค่าของคุณ",
"EDUPAGE_PASSWORD": "ใส่ค่าของคุณ",
"EDUPAGE_SUBDOMAINS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"edupage": {
"type": "stdio",
"command": "uvx",
"args": [
"edupage-mcp-full"
],
"env": {
"EDUPAGE_USERNAME": "ใส่ค่าของคุณ",
"EDUPAGE_PASSWORD": "ใส่ค่าของคุณ",
"EDUPAGE_SUBDOMAINS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
EDUPAGE_SUBDOMAINS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 11 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub oliverhruby ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด 15 วันที่ผ่านมา
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 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
Memory that reasons: continual learning for stateful agents. Better context, fewer tokens.
40+ production-ready SwiftUI recipes for building full-stack iOS apps via MCP.
1310 professional Agent Skills + workflow recipes — searchable & fetchable over MCP.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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.
Two other EduPage MCP servers already exist:
mrtineu/edupage-mcp — also published on PyPI as edupage-mcpmhlavac/edupage-mcpBoth 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:
| Capability | mhlavac | mrtineu (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:
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.get_student_timetable switches to the student account for parents, returns direct timetables for students. No tool duplication.*Comparison checked 2026-09-28. If a row is wrong, please open an issue.*
A single stdio MCP server exposing 31 tools (published on PyPI as edupage-mcp-full):
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.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_yearfind_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)get_subdomains (subdomains available to the account — live-discovered for parents, limited by EDUPAGE_SUBDOMAINS when set — plus session state per school)get_gradesget_timeline (category= for homework, assignments, absences, events, news, or full history since a date)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 diskget_timetable_changes, get_missing_teachersget_meals, choose_meal, sign_off_meal, rate_mealget_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.get_roster (roster_type= for students, all students, teachers, classes, classrooms, or subjects), get_my_studentssend_message, switch_to_student, switch_to_parent, custom_requestYou need an MCP-capable client (opencode, Claude Desktop, Cursor, etc.).
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.
git, plus uv for the server runtime.winget install --id Microsoft.APM -e (or scoop bucket add apm https://github.com/microsoft/scoop-apm; scoop install apm)brew install apmpip install apm-cli apm install oliverhruby/edupage-mcp
One command does both:
school-day-summary skill into the harness's skills directory (.claude/skills/, .agents/skills/, ...);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. 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