原始内容
name: infinitecampus-mcp description: This skill should be used when the user asks about Infinite Campus (Campus Parent) data for their student(s). Triggers on phrases like "check grades", "what's my kid's GPA", "any new assignments", "attendance record", "message the teacher", "Campus Parent inbox", "infinite campus", or any request involving school grades, assignments, attendance, messages, or documents in Infinite Campus.
infinitecampus-mcp
MCP server for Infinite Campus Campus Parent — read student grades, attendance, assignments, and messages; download documents; and send messages.
Setup
Option A — npx (recommended)
Add to .mcp.json in your project or ~/.claude/mcp.json:
{
"mcpServers": {
"infinitecampus": {
"command": "npx",
"args": ["-y", "infinitecampus-mcp"],
"env": {
"IC_BASE_URL": "https://campus.yourdistrict.k12.example.us",
"IC_DISTRICT": "your-district-appname",
"IC_USERNAME": "parent@example.com",
"IC_PASSWORD": "yourpassword"
}
}
}
}
Option B — from source
git clone https://github.com/chrischall/infinitecampus-mcp
cd infinitecampus-mcp
npm install && npm run build
Authentication
Two paths — the MCP tries them in priority order:
- Username/password. Set
IC_USERNAME+IC_PASSWORDalong withIC_BASE_URL+IC_DISTRICT. - fetchproxy fallback. Install the fetchproxy 0.3.0 extension, sign into your IC portal in the browser, and leave
IC_USERNAME/IC_PASSWORDunset.IC_BASE_URL+IC_DISTRICTare still required so the MCP knows which host to read cookies from.
IC_BASE_URL is your district's portal URL; IC_DISTRICT is the app-name path segment from that URL. Set IC_DISABLE_FETCHPROXY=1 to opt out of the fallback (headless / CI).
Tools (prefix ic_)
Students & teachers
ic_list_students— list students linked to your parent accountic_list_teachers— list teachers for a student
Academics
ic_list_grades(studentId)— class gradesic_list_recent_grades(studentId)— recently graded itemsic_list_assignments(studentId)— current assignmentsic_list_assessments(studentId)— test scores
Attendance
ic_list_attendance(studentId)— attendance summaryic_list_attendance_events(studentId)— individual absence/tardy eventsic_list_school_days(studentId)— calendar days
Behavior & fees
ic_list_behavior(studentId)— behavior incidentsic_list_fees(studentId)— outstanding feesic_list_food_service(studentId)— cafeteria balance
Messaging
ic_list_messages— inboxic_get_message(id)— read a messageic_list_documents(studentId)/ic_download_document(id)— documents
Notes
- Set
IC_NAMEif you want a friendly name other than the district appname. - Auto-discovers the CUPS (Campus Unified Portal Services) layout from the base URL — no extra config needed for most districts.