原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Schoolpass MCP

作者:chrischall版本 1.1.1i★ –i在你的电脑上运行
注册名称io.github.chrischall/schoolpass-mcp

安装

概览

作者提供的说明(英文原文)

SchoolPass for Claude — students, arrival/dismissal calendar, pickup changes, and school info

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 游戏、体育、美食与学习
  • 你需要填写:SCHOOLPASS_PASSWORD

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: SCHOOLPASS_EMAIL, SCHOOLPASS_PASSWORD, SCHOOLPASS_SCHOOL_CODE, SCHOOLPASS_API_HOST, SCHOOLPASS_TIMEZONE, SCHOOLPASS_SESSION_CACHE, SCHOOLPASS_SESSION_FILE

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "schoolpass": {
      "command": "npx",
      "args": [
        "-y",
        "schoolpass-mcp"
      ],
      "env": {
        "SCHOOLPASS_EMAIL": "your-value",
        "SCHOOLPASS_PASSWORD": "your-value",
        "SCHOOLPASS_SCHOOL_CODE": "your-value",
        "SCHOOLPASS_API_HOST": "your-value",
        "SCHOOLPASS_TIMEZONE": "your-value",
        "SCHOOLPASS_SESSION_CACHE": "your-value",
        "SCHOOLPASS_SESSION_FILE": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add schoolpass --env SCHOOLPASS_EMAIL=your-value --env SCHOOLPASS_PASSWORD=your-value --env SCHOOLPASS_SCHOOL_CODE=your-value --env SCHOOLPASS_API_HOST=your-value --env SCHOOLPASS_TIMEZONE=your-value --env SCHOOLPASS_SESSION_CACHE=your-value --env SCHOOLPASS_SESSION_FILE=your-value -- npx -y schoolpass-mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "schoolpass": {
      "command": "npx",
      "args": [
        "-y",
        "schoolpass-mcp"
      ],
      "env": {
        "SCHOOLPASS_EMAIL": "your-value",
        "SCHOOLPASS_PASSWORD": "your-value",
        "SCHOOLPASS_SCHOOL_CODE": "your-value",
        "SCHOOLPASS_API_HOST": "your-value",
        "SCHOOLPASS_TIMEZONE": "your-value",
        "SCHOOLPASS_SESSION_CACHE": "your-value",
        "SCHOOLPASS_SESSION_FILE": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "schoolpass": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "schoolpass-mcp"
      ],
      "env": {
        "SCHOOLPASS_EMAIL": "your-value",
        "SCHOOLPASS_PASSWORD": "your-value",
        "SCHOOLPASS_SCHOOL_CODE": "your-value",
        "SCHOOLPASS_API_HOST": "your-value",
        "SCHOOLPASS_TIMEZONE": "your-value",
        "SCHOOLPASS_SESSION_CACHE": "your-value",
        "SCHOOLPASS_SESSION_FILE": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • SCHOOLPASS_EMAIL env
    Your SchoolPass parent account email address.
  • SCHOOLPASS_PASSWORD 机密 env
    Your SchoolPass parent account password.
  • SCHOOLPASS_SCHOOL_CODE env
    The numeric school id (AppCode) SchoolPass uses to select your school.
  • SCHOOLPASS_API_HOST env
    Optional regional API host override (default busapi-east16-ss.school-pass.net).
  • SCHOOLPASS_TIMEZONE env
    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…
  • SCHOOLPASS_SESSION_CACHE env
    Set to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.
  • SCHOOLPASS_SESSION_FILE env
    Absolute path for the session cache file. Defaults to $MCP_DATA_DIR/.schoolpass-mcp/session.json.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 chrischall 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“游戏、体育、美食与学习”中的其他服务器比较i

  • 星标数多于此分类中其他 1287 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 1287 个服务器的 90% 更新
  • 基础检查结果等于或优于此分类中其他 1287 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Schoolpass MCP 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:SCHOOLPASS_PASSWORD

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.1.1)于3天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Airogel Editor, Prospre, RSS.com MCP by usefulapi

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Airogel Editor

作者:Airogel

Build and inspect browser-based 3D games: projects, scenes, Lua scripts, assets and publishing.

在云端运行今天更新
安装

Prospre

作者:prospre

Log food, plan meals, fix the diary, build the grocery list and move macro targets in Prospre.

在云端运行今天更新
安装

Read podcasts and episodes; create and edit episodes, chapters and transcripts in RSS.com.

在云端运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

schoolpass-mcp

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.

Tools

ToolWhat it does
schoolpass_healthcheckReachability + authentication, reported separately.
schoolpass_whoamiThe parent identity the server signed in as.
schoolpass_list_studentsYour linked students — name, grade, home dismissal location, aftercare.
schoolpass_get_profileThe parent account profile.
schoolpass_list_driversAuthorized pickup drivers; include_carpool: true adds their carpools (other families' contact/vehicle fields dropped unless view: "full").
schoolpass_get_calendarA student's arrival/dismissal calendar over a date range.
schoolpass_list_pickup_changesPickup/dismissal changes for a student on a date.
schoolpass_list_dismissal_locationsThe school's dismissal locations, with ids.
schoolpass_get_school_infoBasic school info and per-school config.
schoolpass_submit_dismissal_changeSubmit a dismissal/arrival change (confirm-gated: preview + single-use confirmToken).
schoolpass_cancel_dismissal_changeCancel 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.

Configuration

Env varRequiredNotes
SCHOOLPASS_EMAILyesYour SchoolPass parent account email.
SCHOOLPASS_PASSWORDyesYour SchoolPass password.
SCHOOLPASS_SCHOOL_CODEyesThe numeric school id (the AppCode / appCode value; e.g. 1183).
SCHOOLPASS_API_HOSTnoRegional 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_TIMEZONEnoThe 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_MODEnoHow 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_ELICITATIONnooff 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_SECONDSnoHow long a confirm token stays valid (default 600).
MCP_CONFIRM_SECRETnoHMAC 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.

Install

{

"mcpServers": { "schoolpass": { "command": "npx", "args": ["-y", "schoolpass-mcp"], "env": { "SCHOOLPASS_EMAIL": "you@example.com", "SCHOOLPASS_PASSWORD": "your-password", "SCHOOLPASS_SCHOOL_CODE": "1183" } } } }

Notes

  • Parent scope only. A parent token cannot reach admin routes (visitor management, carline operations, reports, bus routing); those return 403.
  • Never retry a rejected login. SchoolPass fronts its login with reCAPTCHA; repeated failures can get the account challenged. A password SchoolPass refuses (400/401) is tried once per process: later calls return the same error without contacting SchoolPass until the configured credentials change or the server restarts. A CDN/WAF block page (CloudFront, Cloudflare, …) is not a refusal: it is reported as an edge block, never latched, and never spends or discards the stored session.
  • No credentials, still boots. The server starts without configuration and answers tools/list; the config error surfaces on the first tool call.

Without the server: curl

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

Development

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)

License

MIT

问 PopNx