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

EduPage Keyring

โดย stefanbackorรุ่น 0.6.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.stefanbackor/edupage-keyring-mcp

ติดตั้ง

ภาพรวม

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

EduPage timetables, grades, homework and messages; session in the OS Credential Store, no password.

สามเสาของ PopNx MCP

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

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

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

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ

ติดตั้ง

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

ก่อนติดตั้ง

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

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

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

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

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

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

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

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

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

ตัวนี้ต้องใส่ค่าในคำสั่งเปิดเอง ให้คัดลอกค่าตั้งแล้วเติมค่า

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

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

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

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

ตัวนี้ต้องใส่ค่าในคำสั่งเปิดเอง ให้คัดลอกค่าตั้งแล้วเติมค่า

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

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

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

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

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

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

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

  • EDUPAGE_USERNAME env
    Optional. Only to keep two EduPage accounts at the same school apart. The password is never configured.

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

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

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

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

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

  • ✓ ผ่าน

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

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

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

    ยังมีคนดูแล

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

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

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

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

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

เทียบกับตัวอื่นในหมวด อื่น ๆi

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

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

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

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

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

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

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

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

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

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

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.6.0) เข้า registry เมื่อวานซืน

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

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

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

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Foliosio

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

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

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

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวานซืน
ติดตั้ง

Foliosio

โดย foliosio.com

Read your support inbox, tag conversations and save draft replies from your AI agent. Never sends.

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

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

EduPage Keyring MCP

An MCP server that lets Claude (or any MCP client) read your EduPage school account: timetables, grades, homework, tests, absences, messages, menus and more, for every child and school you have, without ever storing your password.

You sign in once per school in Chrome, on EduPage's own page, two-factor included. Only EduPage's session cookie (PHPSESSID) is kept, in your computer's Credential Store: the macOS Keychain, or Windows Credential Manager (Windows support is beta). Built on edupage-api.

What you can ask

  • "What does each kid have tomorrow, and what's due this week?"
  • "Any tests coming up for Šimon? Which topics?"
  • "How are Ema's grades in Slovak this term?"
  • "Did Peter get to school on time today?"
  • "Summarize what the school sent in the last two weeks and flag anything I must act on."
  • "Which of today's lessons are substituted for 5.C?"
  • "Tell the class teacher that Ema will be absent on Friday." (Claude Desktop asks before sending)

Install

Claude Desktop: one-click extension
  1. Download edupage-keyring-mcp.mcpb from the latest release.
  2. Double-click it (or drag it onto Settings → Extensions in Claude Desktop) and choose Install.
  3. Enter your School: the name before .edupage.org, or your school's EduPage address. Several schools: separate them with commas (first, second); the first is the default. Two accounts at one school: myschool=teacher (see Options).

You need macOS or Windows (beta, see Windows) and Google Chrome. Nothing else to install: when the extension is installed, Claude Desktop downloads its own copy of uv, which sets up Python and the extension's dependencies. The extension runs on your computer like any local MCP server, with the same Saved Sessions in the Credential Store. Then go on with Ask something.

Updates are manual. The extension does not update itself. To get a new

version, download edupage-keyring-mcp.mcpb from the link above again and

install it over the old one. Want updates on every restart instead? Use

uvx.

Any client: run it with uvx
1. Get the requirements

You need macOS or Windows (beta), Google Chrome, and uv:

brew install uv          # or: curl -LsSf https://astral.sh/uv/install.sh | sh

On Windows, see Windows.

Nothing else to install: uvx downloads this server from PyPI and runs it in its own isolated environment.

2. Connect your client

Desktop apps need the full path to uvx; get it with which uvx (Windows: where uvx). It is usually /opt/homebrew/bin/uvx (Homebrew), /Users/YOU/.local/bin/uvx (installer script) or C:\Users\YOU\.local\bin\uvx.exe (Windows). Replace myschool with your school: the name before .edupage.org, or simply your school's whole EduPage address, such as https://myschool.edupage.org.

Claude Desktop: open Settings → Local MCP servers → Edit Config (older versions: Settings → Developer → Edit Config) and add:

{

"mcpServers": { "edupage": { "command": "/opt/homebrew/bin/uvx", "args": ["edupage-keyring-mcp@latest", "--school", "myschool"] } } }

Quit Claude Desktop (⌘Q on macOS; on Windows, quit it from the system tray) and reopen it.

Claude Code:

claude mcp add edupage --scope user -- uvx edupage-keyring-mcp@latest --school myschool

Codex CLI:

codex mcp add edupage -- uvx edupage-keyring-mcp@latest --school myschool

Cursor: add the Claude Desktop JSON above to ~/.cursor/mcp.json.

VS Code: .vscode/mcp.json, or MCP: Open User Configuration:

{

"servers": { "edupage": { "type": "stdio", "command": "/opt/homebrew/bin/uvx", "args": ["edupage-keyring-mcp@latest", "--school", "myschool"] } } }

Any other client: run uvx edupage-keyring-mcp@latest --school myschool as a stdio server.

Ask something

Ask Claude about school, for example "What's on the timetable tomorrow?". The first time, Claude opens your school's EduPage in a Chrome window (Claude Desktop asks you first). Sign in there the way you always do: password, two-factor or QR code. The window closes by itself, the session is saved to the Credential Store, and Claude answers. If macOS asks whether Python may use the Keychain, choose Always Allow.

Prefer to sign in before connecting a client? Run uvx edupage-keyring-mcp login myschool (this works for the Claude Desktop extension too: both use the same Saved Session).

Options

Add these to the args list (or after --school myschool on the command line). The Claude Desktop extension has only the School and Keep-alive fields, so of these it takes several schools and account labels, written in the School field, and the keep-alive.

  • Several schools: repeat --school: "--school", "first", "--school", "second", or separate them with commas: "--school", "first,second". The first is the default. A school without a saved session reports AUTH_REQUIRED and does not affect the others.
  • Two accounts at one school (say, as a parent and as a teacher): give each its own label, for example "--school", "myschool=teacher", and sign in to each once. The label only names its Credential Store entry.
  • No sign-in windows from the server: "--no-browser-signin". sign_in then reports SIGNIN_UNAVAILABLE, and you sign in with login in a terminal (see Command line).
  • Keep-alive (on by default): EduPage signs a session out after about 2 hours (sometimes under 2) without use. So every 60 minutes the server loads the EduPage home page of each school it has already used. Change the interval with "--keep-alive", "90" (5 to 120; smaller values count as 5), or turn it off with "--keep-alive", "0". It never opens a school you haven't used since the client started and never opens a sign-in window. If EduPage has ended the session anyway, the server stops for that school until you next use it, and the server log gets one line with the school and status code. It only runs while the client is open and the computer is awake: after a night asleep you may still need to sign in again. In the Claude Desktop extension, this is the Keep-alive (minutes) field.
  • Attachments on EduPage file servers: if get_attachment reports REDIRECT_NOT_ALLOWED, allow that exact host with "--download-host", "cloud-4.edupage.org". Only *.edupage.org hosts are accepted.
Updates
  • uvx: @latest makes uvx check PyPI each time the client starts the server, so a new release is picked up on the next client restart.
  • Claude Desktop extension: updated by hand only. Download the new edupage-keyring-mcp.mcpb and install it over the old one.

What changed is on the releases page.

Windows (beta)

Windows support is beta until someone has done a full sign-in on a real Windows machine; please report how it goes.

  • Google Chrome must be installed; sign-in opens it.
  • Claude Desktop extension: nothing else to install, as on macOS.
  • uvx: install uv (for example winget install --id=astral-sh.uv -e, or powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"). uv fetches Python itself; an existing Python 3.10 or newer works too.
  • Where the session is kept: Windows Credential Manager. To see or delete it, open Control Panel → Credential Manager → Windows Credentials and look for the entries under edupage-keyring-mcp (or run uvx edupage-keyring-mcp logout myschool).

Signing in again

A session lasts until EduPage expires it, which it does after about 2 hours without use. While your client is open, the keep-alive prevents that. Once it has expired anyway (say, after the computer slept), Claude does the same as the first time: it gets AUTH_REQUIRED and asks whether it may open the sign-in. If you agree, it calls sign_in, and a Chrome window opens on your school's EduPage. While you sign in, Claude waits with wait_for_sign_in, which returns as soon as you're done, and carries on with your question. No restart is needed, and you don't have to tell Claude you're done. The window waits up to 10 minutes.

Set up before version 0.2 with EDUPAGE_USERNAME? Keep it to go on using the session you saved then, or remove it and sign in once more.

Command line

edupage-keyring-mcp [serve] --school NAME[=LOGIN] [--school ...] [--download-host HOST] [--no-browser-signin]

[--keep-alive MINUTES] edupage-keyring-mcp login NAME [--username LOGIN] [--timeout SECONDS] edupage-keyring-mcp logout NAME [--username LOGIN] edupage-keyring-mcp status --school NAME [...] edupage-keyring-mcp probe --school NAME [...] # every read tool once; statuses and counts only

Run each with uvx edupage-keyring-mcp@latest ..., also when you use the Claude Desktop extension: the commands work on the same Saved Sessions. logout removes the local session only; EduPage itself is not logged out. probe is handy when reporting a problem: its output contains no school data.

Features

36 tools. Each takes an optional school. Child tools take child: a first name (accents optional, so simon finds Šimon), full name, student ID, or the ref from list_children.

Account and children
ToolReturns
auth_statusWhether the saved session works, and how a sign-in started by sign_in went
sign_inOpens EduPage's sign-in page in Chrome when the session is missing or expired
wait_for_sign_inWaits (up to 50 s per call) for that sign-in to finish, then reports the new session
list_schoolsSchools, session status, role (parent, student, teacher), number of children
list_childrenYour children: name, class, student ID, ref
user_id, school_yearAccount ID and role; current school year
Timetables
ToolReturns
get_timetableA child's lessons for a date, with substitutions applied: times, subject, teacher, room, group, topic, cancelled flag
get_week_timetableMonday to Friday for a child
get_timetable_forTimetable of any teacher, class, classroom or student
get_periods, get_next_ringing_timeBell schedule; next lesson or break
get_timetable_changesSchool-wide substitutions and cancellations for a date
get_missing_teachersTeachers absent on a date
Grades and the timeline
ToolReturns
get_gradesSubject, title, grade, comment, weight, points and percent, class average, teacher; current or a past term
get_homeworkHomework with full text, subject, author and due date
get_assignmentsHomework, tests and exams
get_upcoming_eventsTests announced as events (topic and date), trips, meetings, holidays
get_absencesAbsences, excuses, arrival and departure scans
get_newsSchool news
get_notificationsAny timeline item, optionally by EduPage type (znamka, homework, ...)

Timeline tools look back up to 90 days (default 30). Every item has for_children: which of your children it is addressed to, by name or class. With child set, item

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

ถาม PopNx