关于 schoolpass-mcp
schoolpass-mcp 是面向家长的 SchoolPass MCP 服务,可读取学生、接送日历和学校信息,也能提交或取消接送变更。写入操作需经过预览和确认令牌。
主要功能
- 01查看关联学生与家长资料
- 02查询到校和离校日历
- 03查看接送人员及接送变更
- 04读取学校信息和离校地点
- 05确认后提交或取消接送变更
适用场景
- 01查看孩子某段日期的到校与离校安排
- 02核对获准接送人员和接送地点
- 03更新或撤销某天的接送安排
MCP 相关
作为 MCP 服务,它向 MCP 客户端提供 SchoolPass 家长账户的读取工具,以及需确认令牌的接送变更工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y schoolpass-mcpSCHOOLPASS_EMAILYour SchoolPass parent account email address.SCHOOLPASS_PASSWORD密钥Your SchoolPass parent account password.SCHOOLPASS_SCHOOL_CODEThe numeric school id (AppCode) SchoolPass uses to select your school.SCHOOLPASS_API_HOSTOptional regional API host override (default busapi-east16-ss.school-pass.net).SCHOOLPASS_TIMEZONEThe 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).SCHOOLPASS_SESSION_CACHESet to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.SCHOOLPASS_SESSION_FILEAbsolute path for the session cache file. Defaults to $MCP_DATA_DIR/.schoolpass-mcp/session.json.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
11收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
schoolpass-mcp
SchoolPass 的 MCP 服务——通过家长账户读取并更改孩子的到校和离校安排。调用 SchoolPass 网页版和移动应用使用的 REST API,并在服务端使用你自己的家长邮箱和密码进行身份验证(无需浏览器或扩展)。
由 AI(Claude Code)开发和维护。请自行斟酌使用。
仅限家长账户:提供读取工具,以及带确认门槛的离校更改写入和取消操作。
工具
| 工具 | 功能 |
|---|---|
schoolpass_healthcheck | 分别报告可访问性和身份验证状态。 |
schoolpass_whoami | 服务登录时使用的家长身份。 |
schoolpass_list_students | 与你关联的学生——姓名、年级、默认离校地点和课后托管信息。 |
schoolpass_get_profile | 家长账户资料。 |
schoolpass_list_drivers | 获准接送的司机;include_carpool: true 会一并返回其拼车信息(除非设置 view: "full",否则会移除其他家庭的联系方式和车辆字段)。 |
schoolpass_get_calendar | 指定日期范围内某位学生的到校/离校日历。 |
schoolpass_list_pickup_changes | 指定日期某位学生的接送/离校更改。 |
schoolpass_list_dismissal_locations | 学校的离校地点及其 ID。 |
schoolpass_get_school_info | 学校基本信息和各学校的配置。 |
schoolpass_submit_dismissal_change | 提交离校/到校更改(需确认:预览 + 一次性 confirmToken)。 |
schoolpass_cancel_dismissal_change | 取消更改并恢复默认设置(需确认:预览 + confirmToken)。 |
配置
| 环境变量 | 必需 | 说明 |
|---|---|---|
SCHOOLPASS_EMAIL | 是 | 你的 SchoolPass 家长账户邮箱。 |
SCHOOLPASS_PASSWORD | 是 | 你的 SchoolPass 密码。 |
SCHOOLPASS_SCHOOL_CODE | 是 | 学校的数字 ID(即 AppCode / appCode 值,例如 1183)。 |
SCHOOLPASS_API_HOST | 否 | 区域 API 主机覆盖值(默认值为 busapi-east16-ss.school-pass.net)。必须是 https *.school-pass.net 主机——密码会发送到此处,因此不接受 http:// 或任何其他域名。 |
SCHOOLPASS_TIMEZONE | 否 | 学校的 IANA 时区(例如 America/New_York),用于设置日历和接送更改查询的“今天”默认值。默认使用服务器本地时区;如果服务器运行在其他地方,请设置此值(托管服务器运行于 UTC,因此否则晚间的默认日期可能会指向明天)。 |
MCP_CONFIRM_MODE | 否 | 当客户端无法显示提示词时,两个写入操作的确认方式:ask-user(默认——预览 + 令牌,由用户在聊天中批准)、auto(模型查看预览后可使用令牌),或 refuse。 |
MCP_CONFIRM_ELICITATION | 否 | off 表示不显示确认提示词,因此所有客户端都使用 MCP_CONFIRM_MODE 行为。如果客户端声称可以显示提示词却从不显示,请为其设置此项(写入会一直挂起——opencode 2.0.x)。默认值为 on;任何其他值均视为 on,并在 stderr 输出警告。 |
MCP_CONFIRM_TTL_SECONDS | 否 | 确认令牌的有效时长(默认值为 600 秒)。 |
MCP_CONFIRM_SECRET | 否 | 确认令牌的 HMAC 密钥;仅当令牌必须在重启后继续有效时才设置。在 mcp-host 上,主机会提供稳定的子进程专用密钥(MCP_HOST_CONFIRM_SECRET),已使用的令牌会记录在 MCP_DATA_DIR 下,因此审批在空闲重启后仍然有效。 |
查找学校 ID 和区域主机: 登录学校的
<school>.school-pass.net 门户,打开新版 SchoolPass 应用,并从浏览器
localStorage 中读取 appCode(ID)和 apiUrl(主机)。
安装
{
"mcpServers": {
"schoolpass": {
"command": "npx",
"args": ["-y", "schoolpass-mcp"],
"env": {
"SCHOOLPASS_EMAIL": "[email protected]",
"SCHOOLPASS_PASSWORD": "your-password",
"SCHOOLPASS_SCHOOL_CODE": "1183"
}
}
}
}
注意事项
- 仅限家长范围。 家长令牌无法访问管理员路由(访客管理、接送线路操作、报告、校车路线);这些请求会返回
403。 - 切勿重试被拒绝的登录。 SchoolPass 使用 reCAPTCHA 保护登录;反复失败可能会触发账户验证。每个进程只会尝试一次 SchoolPass 拒绝的密码(400/401):后续调用会返回相同错误,不会联系 SchoolPass,直到配置的凭据发生变化或服务重启。CDN/WAF 阻止页面(CloudFront、Cloudflare、……)不属于拒绝:这类情况会报告为边缘阻止,不会锁存,也不会使用或丢弃已存储的会话。
- 没有凭据也能启动。 服务无需配置即可启动并响应
tools/list;配置错误会在首次调用工具时显现。
无需服务:curl
SchoolPass API 可从服务器端访问,因此临时通过 shell 读取数据无需启动 MCP 进程——curl + jq 配方集见随附的 schoolpass-curl 技能(skills/schoolpass-curl/)。
开发
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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。