mcpField
I
infinitecampus-mcp

infinitecampus-mcp

本地服务
github.com/chrischall科研与教育43 天前更新

关于 infinitecampus-mcp

infinitecampus-mcp 是供家长或学生读取 Infinite Campus 门户记录的 MCP 服务,涵盖学业、出勤、文档和消息等数据。登录后会自动发现通过 CUPS SSO 关联的学区。

主要功能

  1. 01查看课程表、作业和成绩
  2. 02查询出勤记录与上课日
  3. 03访问文档和消息
  4. 04获取教师、测评和费用信息
  5. 05发现可用功能并检查账户状态

适用场景

  1. 01查看学生成绩和作业
  2. 02核对出勤事件与学校日程
  3. 03阅读门户消息或获取文档

MCP 相关

向 MCP 客户端提供 20 项 Infinite Campus 门户数据工具,涵盖学业、出勤、文档和消息。支持环境变量凭据,或通过 ContextMint Bridge 获取会话 Cookie。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"chrischall-infinitecampus": {
"command": "npx",
"args": [
"-y",
"infinitecampus-mcp"
],
"env": {
"IC_BASE_URL": "<IC_BASE_URL>",
"IC_DISTRICT": "<IC_DISTRICT>",
"IC_USERNAME": "<IC_USERNAME>",
"IC_PASSWORD": "<IC_PASSWORD>",
"IC_NAME": "<IC_NAME>",
"IC_DISABLE_FETCHPROXY": "<IC_DISABLE_FETCHPROXY>",
"IC_SESSION_CACHE": "<IC_SESSION_CACHE>",
"IC_SESSION_FILE": "<IC_SESSION_FILE>",
"IC_DOWNLOAD_DIR": "<IC_DOWNLOAD_DIR>",
"FETCHPROXY_WS_PORT": "<FETCHPROXY_WS_PORT>",
"FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
}
}
}
}
启动命令npx -y infinitecampus-mcp
需要配置的环境变量
IC_BASE_URLCampus Parent portal base URL, e.g. https://campus.district.k12.example.us
IC_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npminfinitecampus-mcp3.2.2

工具

20

收录的工具列表 · 更新于 1 周前

此工具无需参数。

详细介绍

infinitecampus-mcp

CI npm license

用于 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 会按优先顺序尝试两种身份验证方式;先成功的方式将被采用。现有配置无需更改即可继续使用。

  1. 环境变量凭据(旧版)。 设置以下全部四项:
    IC_BASE_URL=https://campus.springfield.k12.example.us
    IC_DISTRICT=springfield
    [email protected]
    IC_PASSWORD=...
    IC_NAME=Springfield           # optional, defaults to IC_DISTRICT
    
  2. 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-TOKEN cookie,之后由 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 的实际使用条款或任何学区的政策。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。