Query an Infinite Campus (Campus Parent portal) district directly with curl instead of running the infinitecampus-mcp server — log in with a real username/password, capture the session cookie + XSRF token, and curl grades, attendance, assignments, schedule, messages, documents, and fees. Use when you want IC data without the MCP, in a script, or on a machine where the MCP isn't installed. Infinite Campus is per-district: the base URL and district app name are configurable, not hardcoded.
文档
Tmp.ChIoCYDxiX
试用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'...
它能做什么
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.
相关技能
This skill should be used when the user asks about Canvas LMS data — their own student account or any observed student. Triggers on phrases like "check Canva...
This skill should be used when the user asks about Canvas LMS data — their own student account or any observed student. Triggers on phrases like "check Canvas", "what's my grade", "Canvas inbox", "what's due", "missing assignments", "Canvas LMS", "Instructure", "course announcements", "syllabus", or any request about courses, assignments, grades, conversations, announcements, planner items, or files in Canvas.
This skill should be used when the user asks about their child's school arrival/dismissal through a SchoolPass parent account. Triggers on phrases like "check SchoolPass", "when is my kid dismissed", "what's my dismissal default", "list my students in SchoolPass", "who are my pickup drivers", "any pickup changes today", "school dismissal locations", or any request to read a SchoolPass parent account.
Turn support knowledge into an askable digital-human customer course.
Read and change your children's school dismissal plans on PickUp Patrol (app.pickuppatrol.net) from a shell with curl — students, weekly defaults, day-by-day changes, school cutoff times.