Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
SchoolPass for Claude — students, arrival/dismissal calendar, pickup changes, and school info
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
SCHOOLPASS_EMAIL, SCHOOLPASS_PASSWORD, SCHOOLPASS_SCHOOL_CODE, SCHOOLPASS_API_HOST, SCHOOLPASS_TIMEZONE, SCHOOLPASS_SESSION_CACHE, SCHOOLPASS_SESSION_FILEค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"schoolpass": {
"command": "npx",
"args": [
"-y",
"schoolpass-mcp"
],
"env": {
"SCHOOLPASS_EMAIL": "ใส่ค่าของคุณ",
"SCHOOLPASS_PASSWORD": "ใส่ค่าของคุณ",
"SCHOOLPASS_SCHOOL_CODE": "ใส่ค่าของคุณ",
"SCHOOLPASS_API_HOST": "ใส่ค่าของคุณ",
"SCHOOLPASS_TIMEZONE": "ใส่ค่าของคุณ",
"SCHOOLPASS_SESSION_CACHE": "ใส่ค่าของคุณ",
"SCHOOLPASS_SESSION_FILE": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add schoolpass --env SCHOOLPASS_EMAIL='ใส่ค่าของคุณ' --env SCHOOLPASS_PASSWORD='ใส่ค่าของคุณ' --env SCHOOLPASS_SCHOOL_CODE='ใส่ค่าของคุณ' --env SCHOOLPASS_API_HOST='ใส่ค่าของคุณ' --env SCHOOLPASS_TIMEZONE='ใส่ค่าของคุณ' --env SCHOOLPASS_SESSION_CACHE='ใส่ค่าของคุณ' --env SCHOOLPASS_SESSION_FILE='ใส่ค่าของคุณ' -- npx -y schoolpass-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"schoolpass": {
"command": "npx",
"args": [
"-y",
"schoolpass-mcp"
],
"env": {
"SCHOOLPASS_EMAIL": "ใส่ค่าของคุณ",
"SCHOOLPASS_PASSWORD": "ใส่ค่าของคุณ",
"SCHOOLPASS_SCHOOL_CODE": "ใส่ค่าของคุณ",
"SCHOOLPASS_API_HOST": "ใส่ค่าของคุณ",
"SCHOOLPASS_TIMEZONE": "ใส่ค่าของคุณ",
"SCHOOLPASS_SESSION_CACHE": "ใส่ค่าของคุณ",
"SCHOOLPASS_SESSION_FILE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"schoolpass": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"schoolpass-mcp"
],
"env": {
"SCHOOLPASS_EMAIL": "ใส่ค่าของคุณ",
"SCHOOLPASS_PASSWORD": "ใส่ค่าของคุณ",
"SCHOOLPASS_SCHOOL_CODE": "ใส่ค่าของคุณ",
"SCHOOLPASS_API_HOST": "ใส่ค่าของคุณ",
"SCHOOLPASS_TIMEZONE": "ใส่ค่าของคุณ",
"SCHOOLPASS_SESSION_CACHE": "ใส่ค่าของคุณ",
"SCHOOLPASS_SESSION_FILE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
SCHOOLPASS_EMAIL envSCHOOLPASS_SCHOOL_CODE envSCHOOLPASS_API_HOST envSCHOOLPASS_TIMEZONE envSCHOOLPASS_SESSION_CACHE envSCHOOLPASS_SESSION_FILE envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub chrischall ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: SCHOOLPASS_PASSWORD
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.1.1) เข้า registry เมื่อวานซืน
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Agent-Native Google Calendar - manage events, sync, and public booking
ให้ AI สร้างและแก้ไฟล์ Excel ได้เอง ทั้งสูตร กราฟ และ PivotTable โดยไม่ต้องมีโปรแกรม Excel ในเครื่อง
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
MCP server for SchoolPass — read AND change your child's school arrival & dismissal from a parent account. Talks to the SchoolPass REST API used by the SchoolPass web and mobile apps, authenticating server-side with your own parent email and password (no browser, no extension).
Developed and maintained by AI (Claude Code). Use at your own discretion.
Parent-scoped: read tools plus a confirm-gated dismissal-change write/cancel.
| Tool | What it does |
|---|---|
schoolpass_healthcheck | Reachability + authentication, reported separately. |
schoolpass_whoami | The parent identity the server signed in as. |
schoolpass_list_students | Your linked students — name, grade, home dismissal location, aftercare. |
schoolpass_get_profile | The parent account profile. |
schoolpass_list_drivers | Authorized pickup drivers; include_carpool: true adds their carpools (other families' contact/vehicle fields dropped unless view: "full"). |
schoolpass_get_calendar | A student's arrival/dismissal calendar over a date range. |
schoolpass_list_pickup_changes | Pickup/dismissal changes for a student on a date. |
schoolpass_list_dismissal_locations | The school's dismissal locations, with ids. |
schoolpass_get_school_info | Basic school info and per-school config. |
schoolpass_submit_dismissal_change | Submit a dismissal/arrival change (confirm-gated: preview + single-use confirmToken). |
schoolpass_cancel_dismissal_change | Cancel a change, back to default (confirm-gated: preview + confirmToken). |
When the server can list your students at start, student_id on schoolpass_get_calendar and schoolpass_list_pickup_changes is published as a string enum of their names (it was an integer id before). The names are the schema's contract; the server still accepts the integer student id from schoolpass_list_students, so a client that does not validate against the schema keeps working.
| Env var | Required | Notes |
|---|---|---|
SCHOOLPASS_EMAIL | yes | Your SchoolPass parent account email. |
SCHOOLPASS_PASSWORD | yes | Your SchoolPass password. |
SCHOOLPASS_SCHOOL_CODE | yes | The numeric school id (the AppCode / appCode value; e.g. 1183). |
SCHOOLPASS_API_HOST | no | Regional API host override (default busapi-east16-ss.school-pass.net). Must be an https *.school-pass.net host — the password is sent there, so http:// or any other domain is refused. |
SCHOOLPASS_TIMEZONE | no | The school's IANA timezone (e.g. America/New_York), used for the "today" default of the calendar and pickup-change reads. Defaults to the server's local zone; set it when the server runs elsewhere (a hosted server runs in UTC, so evening defaults would otherwise point at tomorrow). |
MCP_CONFIRM_MODE | no | How the two writes confirm on a client that cannot show a prompt: ask-user (default — preview + token, the user approves in chat), auto (the model may use the token after reviewing the preview), or refuse. |
MCP_CONFIRM_ELICITATION | no | off never shows a confirmation prompt, so every client gets the MCP_CONFIRM_MODE behaviour. Set it for a client that says it can show prompts but never does (the write hangs — opencode 2.0.x). Default on; any other value is treated as on, with a warning on stderr. |
MCP_CONFIRM_TTL_SECONDS | no | How long a confirm token stays valid (default 600). |
MCP_CONFIRM_SECRET | no | HMAC key for confirm tokens; set only if tokens must survive a restart. On mcp-host the host supplies a stable per-child key (MCP_HOST_CONFIRM_SECRET) and spent tokens are recorded under MCP_DATA_DIR, so an approval survives an idle restart. |
Finding your school id and region host: sign into your school's .school-pass.net portal, open the new SchoolPass app, and read appCode (the id) and apiUrl (the host) from its browser localStorage.
{
"mcpServers": { "schoolpass": { "command": "npx", "args": ["-y", "schoolpass-mcp"], "env": { "SCHOOLPASS_EMAIL": "you@example.com", "SCHOOLPASS_PASSWORD": "your-password", "SCHOOLPASS_SCHOOL_CODE": "1183" } } } }
403.tools/list; the config error surfaces on the first tool call.curlThe SchoolPass API is reachable server-side, so a one-off shell read needs no MCP process — see the bundled `schoolpass-curl` skill (skills/schoolpass-curl/) for a curl + jq recipe set.
npm install
npm test # tsc typecheck + unit + boot tests npm run build # tsc + esbuild bundle node --env-file=.env scripts/live-check.mjs # live read-only check (needs .env)
MIT