关于 infinitecampus-mcp
infinitecampus-mcp 是供家长或学生读取 Infinite Campus 门户记录的 MCP 服务,涵盖学业、出勤、文档和消息等数据。登录后会自动发现通过 CUPS SSO 关联的学区。
主要功能
- 01查看课程表、作业和成绩
- 02查询出勤记录与上课日
- 03访问文档和消息
- 04获取教师、测评和费用信息
- 05发现可用功能并检查账户状态
适用场景
- 01查看学生成绩和作业
- 02核对出勤事件与学校日程
- 03阅读门户消息或获取文档
MCP 相关
向 MCP 客户端提供 20 项 Infinite Campus 门户数据工具,涵盖学业、出勤、文档和消息。支持环境变量凭据,或通过 ContextMint Bridge 获取会话 Cookie。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y infinitecampus-mcpIC_BASE_URLCampus Parent portal base URL, e.g. https://campus.district.k12.example.usIC_DISTRICTInfinite Campus district app name (appName path segment from the portal URL)IC_USERNAMECampus Parent portal username. Optional: leave unset to use the ContextMint Bridge browser-extension fallback.IC_PASSWORD密钥Campus Parent portal password. Required only when IC_USERNAME is set.IC_NAMEFriendly name for the district (defaults to district appname)IC_DISABLE_FETCHPROXYSet to 1 to skip the ContextMint Bridge browser-extension fallback (missing creds become a hard error — useful in headless CI).IC_SESSION_CACHESet to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.IC_SESSION_FILEAbsolute path for the session cache file. Defaults to $MCP_DATA_DIR/.infinitecampus-mcp/session-<district>.json.IC_DOWNLOAD_DIRAbsolute path of the only directory ic_download_document may write into. Defaults to ~/Downloads.FETCHPROXY_WS_PORTLocalhost concentrator port (default 37149). On one machine every MCP shares the concentrator, so move it for ALL of them or not at all.FETCHPROXY_WS_HOSTBind interface (default 127.0.0.1; a literal IP only, anything else is ignored). Keep on loopback — it exists for ONE topology: a hosted child in its own network namespace.FETCHPROXY_IDENTITY_DIRWhere to store the long-term fetchproxy identity keypair (default ~/.fetchproxy/identity/; an absolute path only, anything else is ignored). Exists for a host that runs a separate child per caller, so they can share one identity.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
20收录的工具列表 · 更新于 1 周前
此工具无需参数。
详细介绍
infinitecampus-mcp
用于 Infinite Campus(Campus Parent 门户)的 MCP 服务。采用单账户配置——登录后会通过 CUPS SSO 自动发现关联的学区。
工具
共 20 个工具,涵盖学业、日常生活、文档、消息、功能发现,以及凭据/学区健康检查。
| 领域 | 工具 |
|---|---|
| 学区 | ic_list_districts |
| 学生 | ic_list_students |
| 课表 | ic_get_schedule |
| 作业 | ic_list_assignments(sectionID 在服务端处理;missingOnly/日期筛选器在客户端处理) |
| 成绩 | ic_list_grades、ic_list_recent_grades(默认时间范围为 14d) |
| 校历 | ic_list_school_days |
| 出勤 | ic_list_attendance(按课程汇总)、ic_list_attendance_events(包含代码和评论的单条事件) |
| 行为 | ic_list_behavior(可处理 FeatureDisabled) |
| 餐饮服务 | ic_list_food_service(可处理 FeatureDisabled) |
| 文档 | ic_list_documents、ic_download_document |
| 消息 | ic_list_messages(3 个来源:prism 通知、Messenger 2.0 收件箱和门户公告)、ic_get_message(获取收件箱消息解析后的 HTML 正文) |
| 教师 | ic_list_teachers(每个班级的教师和指定的辅导员) |
| 评估 | ic_list_assessments(标准化考试成绩) |
| 费用 | ic_list_fees(作业和结余) |
| 功能 | ic_get_features(每次注册对应的 displayOptions 标记) |
框架将这些工具视为写入/IO 操作并进行限制:ic_download_document。
配置
infinitecampus-mcp 会按优先顺序尝试两种身份验证方式;先成功的方式将被采用。现有配置无需更改即可继续使用。
- 环境变量凭据(旧版)。 设置以下全部四项:
IC_BASE_URL=https://campus.springfield.k12.example.us IC_DISTRICT=springfield [email protected] IC_PASSWORD=... IC_NAME=Springfield # optional, defaults to IC_DISTRICT - ContextMint Bridge 回退方式(无需密码)。 只需设置
IC_BASE_URL+IC_DISTRICT(仍为必填项,以便 MCP 知道要连接哪个主机以及要向哪个学区发送请求),然后从其发布页面安装 ContextMint Bridge 浏览器扩展(Chrome:下载 chrome zip 文件,然后在chrome://extensions中依次选择 Developer mode → Load unpacked,加载解压后的扩展;目前还没有 Chrome 网上应用店版本。Safari 暂不可用——该扩展将内置于 ContextMint 应用中,但该应用尚未公开下载,因此目前请使用 Chrome),并登录一次 IC 门户。ContextMint Bridge 是 fetchproxy 浏览器扩展的新名称,由同一位维护者开发——fetchproxy 自带的 README中提供了相关说明。其源代码公开于 nullnet-app/contextmint-bridge:你可以自行构建,也可以使用同目录发布的.sha256文件校验发布 zip 文件(shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256)。MCP 会从该标签页读取JSESSIONID(HttpOnly)和XSRF-TOKENcookie,之后由 Node 直接调用 API——扩展不会处于请求的关键路径中。每当会话过期时,MCP 都会重新读取 cookie(JSESSIONID 是空闲超时时间较短的 servlet 会话),因此你可以保持登录状态,无需重启 MCP。
设置 IC_DISABLE_FETCHPROXY=1 可选择禁用回退方式(缺少凭据时将报错退出——适用于无头 CI)。
主登录后会通过 CUPS SSO 自动发现关联学区——如果家长的孩子在两个学区就读,只需配置主学区。无需额外配置。如果你使用凭据不同的独立 IC 实例,请运行两个 MCP 实例。
参见 .env.example。
状态
非官方项目——与 Infinite Campus 无关联。由 AI 维护。
条款确认
使用此 MCP 服务,即表示你确认并同意以下内容:
1. 此服务访问的是你自己的 Campus Parent 账户。 身份验证使用你自己的凭据,且访问范围仅限学区授权你查看的学生记录。此服务不会、也无法访问其他人的学生记录。
2. Infinite Campus 的使用条款适用于你对此服务的使用,正如这些条款也适用于你直接使用 Campus Parent。以下条款与此处最相关:
用户不得通过我们公开支持的界面以外的任何方式访问、使用或搜索服务(例如,抓取内容或使用内容训练人工智能软件)。
此外:“你有责任妥善保管用于访问服务的密码,并同意不向任何第三方透露密码。”
每次调用此服务中的工具,即表示你同意上述条款——维护者于 2026-05-23 阅读了这些条款。此服务使用 Infinite Campus 的移动应用 JSON 端点(/campus/api/oneRosterCampus、/portal/api/...),而这些端点并非“公开支持的界面”——IC 可能会将此行为视为违反使用条款。
3. 仅限个人、家长/学生使用。 本项目与 Infinite Campus, Inc. 或任何学区无关联,未获得其认可或赞助,也不与其合作。它是一款个人自动化工具,供已获授权的 Campus Parent / Campus Student 用户读取自己的记录(或其学生的记录)。请勿用它批量提取学生数据、分享其他家庭的成绩,或使用学生记录训练 AI 模型。
4. FERPA 和 COPPA 均适用。 学生教育记录受联邦《家庭教育权利与隐私法》(FERPA)保护,未满 13 岁用户的学生数据还受 COPPA 保护。即使你作为家长访问门户是合法的,你如何存储、转发或将这些数据输入大模型也受到监管。请将此服务输出的任何内容(成绩、出勤、行为记录、日程表)都视为机密学生数据。请勿将其放入共享的大模型上下文中,勿将其粘贴到屏幕截图中,也勿用它训练模型。
5. 你须对使用此服务访问 Campus Parent 账户所产生的任何后果承担全部责任,包括速率限制、账户警告、学区 IT 调查,或学区或 Infinite Campus 采取的任何执法行动。你的学区可能还有其他可接受使用政策(可接受使用协议、家长手册),对自动化操作作出进一步限制。如果你的学区或 Infinite Campus 对你的使用提出异议,请停止使用此服务。
本节是维护者本着诚意对相关条款所作的摘要,并非法律建议,也不会修改或取代 Infinite Campus 的实际使用条款或任何学区的政策。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。