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
Infinite Campus uses username/password — log in with the same credentials you use for the Campus Parent portal. IC_BASE_URL is your district's portal URL; IC_DISTRICT is the app-name path segment from that URL.
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.