infinitecampus-mcp

中文文档
3.2.3发布于 2026/11/04MITES Module构建来源已验证

Infinite Campus (Campus Parent) MCP server — multi-district, read-only (plus local document download)

原始使用文档
文档目录4 节
  1. Tools
  2. Configuration
  3. Status
  4. Acknowledgement of Terms

infinitecampus-mcp

CI npm license

MCP server for Infinite Campus (Campus Parent portal). Single-account config — linked districts are auto-discovered via CUPS SSO after login.

Tools

20 tools across academics, daily life, documents, messaging, feature discovery, and a credential/district healthcheck.

DomainTools
Districtsic_list_districts
Studentsic_list_students
Scheduleic_get_schedule
Assignmentsic_list_assignments (sectionID server-side; missingOnly / date filters client-side)
Gradesic_list_grades, ic_list_recent_grades (default 14d window)
School calendaric_list_school_days
Attendanceic_list_attendance (per-course summary), ic_list_attendance_events (individual events with codes + comments)
Behavioric_list_behavior (FeatureDisabled-aware)
Food serviceic_list_food_service (FeatureDisabled-aware)
Documentsic_list_documents, ic_download_document
Messagingic_list_messages (3 sources: prism notifications + Messenger 2.0 inbox + portal announcements), ic_get_message (fetch parsed HTML body of an inbox message)
Teachersic_list_teachers (teachers per section + assigned counselors)
Assessmentsic_list_assessments (standardized test scores)
Feesic_list_fees (assignments + surplus balance)
Featuresic_get_features (per-enrollment displayOptions flags)

Tools that the harness will gate as write/IO operations: ic_download_document.

Configuration

infinitecampus-mcp tries two auth paths in priority order; whichever succeeds first is used. Existing setups keep working unchanged.

  1. Env-var credentials (legacy). Set all four:
    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 fallback (no password needed). Set only IC_BASE_URL + IC_DISTRICT (still required so the MCP knows which host to talk to and which district to dispatch on), then install the ContextMint Bridge browser extension from its releases page (Chrome: download the chrome zip and load it unpacked via chrome://extensions → Developer mode → Load unpacked; there is no Chrome Web Store listing yet. Safari is not available yet — it will ship inside the ContextMint app, which has no public download — so use Chrome for now) and sign into your IC portal once. ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README points to it. Its source is public at nullnet-app/contextmint-bridge: build it yourself, or check a release zip against the .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256). The MCP reads the JSESSIONID (HttpOnly) + XSRF-TOKEN cookies from that tab and goes direct-to-API from Node thereafter — the extension is not in the request hot path. The read is repeated whenever the session lapses (JSESSIONID is a servlet session with a short idle timeout), so you stay signed in without restarting the MCP.

Set IC_DISABLE_FETCHPROXY=1 to opt out of the fallback (turns missing credentials into a hard error — useful in headless CI).

Linked districts (via CUPS SSO) are auto-discovered after primary login — a parent with kids in two districts only configures the primary. No extra config needed. If you have truly separate IC instances with different credentials, run two MCP instances.

See .env.example.

Status

Unofficial — not affiliated with Infinite Campus. AI-maintained.

Acknowledgement of Terms

By using this MCP server, you acknowledge and agree to the following:

1. This server accesses your own Campus Parent account. Auth happens via your own credentials, scoped to the student records your school district has authorized you to view. It does not — and cannot — access anyone else's student records.

2. Infinite Campus's Terms of Use govern your use of this server, just as they govern your direct use of Campus Parent. The clauses most relevant here:

Users may not access, use, or search the Services by any means other than our publicly supported interfaces (for example, scraping or using the content to train artificial intelligence software).

And: "You are responsible for safeguarding the password that you use to access the Service and you agree not to disclose your password to any third party."

You are agreeing to those terms — read by the maintainer 2026-05-23 — every time you invoke a tool in this server. This server uses Infinite Campus's mobile-app JSON endpoints (/campus/api/oneRosterCampus, /portal/api/...) which are not "publicly supported interfaces" — IC may treat this as a ToS violation.

3. Personal, parent/student use only. This project is not affiliated with, endorsed by, sponsored by, or in partnership with Infinite Campus, Inc. or any school district. It is a personal automation tool for an authorized Campus Parent / Campus Student user to read their own (or their student's) records. Do not use it to bulk-extract student data, share another family's grades, or train AI models on student records.

4. FERPA + COPPA apply. Student educational records are protected under the federal Family Educational Rights and Privacy Act (FERPA), and student data for under-13 users is additionally covered by COPPA. Even though your parent-portal access is lawful, how you store, redistribute, or feed that data into LLMs is regulated. Treat any output from this server (grades, attendance, behavior records, schedules) as confidential student data. Do not put it in shared LLM contexts, do not paste it into screenshots, and do not train models on it.

5. You accept full responsibility for any consequences of using this server in connection with your Campus Parent account — rate limiting, account warnings, district IT investigations, or any enforcement action your district or Infinite Campus takes. Your district may have additional acceptable-use policies (acceptable-use agreements, parent handbooks) that further restrict automation. If your district or Infinite Campus objects to your use, stop using this server.

This section is the maintainer's good-faith summary of the terms — it is not legal advice and does not modify or supersede Infinite Campus's actual ToU or any school district's policies.

版本与发布记录

infinitecampus-mcp 共发布 48 个版本,首次发布于 2026/04/16;过去 12 个月发布了 48 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.2.3latest2026/11/041 天前
3.2.22026/10/1917 天前
3.2.12026/10/1619 天前
3.2.02026/10/1421 天前
3.1.92026/10/1026 天前
3.1.82026/10/0728 天前

关于 infinitecampus-mcp 的常见问题

infinitecampus-mcp 是什么?

Infinite Campus (Campus Parent) MCP server — multi-district, read-only (plus local document download)

如何安装 infinitecampus-mcp?

在项目目录运行 npm install infinitecampus-mcp,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 infinitecampus-mcp,可以用 npx infinitecampus-mcp 直接运行。

infinitecampus-mcp 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/infinitecampus-mcp 是否存在。

infinitecampus-mcp 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

infinitecampus-mcp 可以商用吗?

infinitecampus-mcp 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

infinitecampus-mcp 还在维护吗?

最新版本 3.2.3 发布于 2026/11/04(1 天前);至今共发布 48 个版本,其中过去 12 个月发布了 48 个;首次发布于 2026/04/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。