Install
openclaw skills install infinitecampus-mcpThis 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.
openclaw skills install infinitecampus-mcpMCP server for Infinite Campus Campus Parent — read student grades, attendance, assignments, and messages; download documents; and send messages.
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"
}
}
}
}
git clone https://github.com/chrischall/infinitecampus-mcp
cd infinitecampus-mcp
npm install && npm run build
Two paths — the MCP tries them in priority order:
IC_USERNAME + IC_PASSWORD along with IC_BASE_URL + IC_DISTRICT.IC_USERNAME / IC_PASSWORD unset. IC_BASE_URL + IC_DISTRICT are 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).
ic_)ic_list_students — list students linked to your parent accountic_list_teachers — list teachers for a studentic_list_grades(studentId) — class gradesic_list_recent_grades(studentId) — recently graded itemsic_list_assignments(studentId) — current assignmentsic_list_assessments(studentId) — test scoresic_list_attendance(studentId) — attendance summaryic_list_attendance_events(studentId) — individual absence/tardy eventsic_list_school_days(studentId) — calendar daysic_list_behavior(studentId) — behavior incidentsic_list_fees(studentId) — outstanding feesic_list_food_service(studentId) — cafeteria balanceic_list_messages — inboxic_get_message(id) — read a messageic_list_documents(studentId) / ic_download_document(id) — documentsIC_NAME if you want a friendly name other than the district appname.