A side-by-side look at the Infinitecampus MCP and Pickuppatrol MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Infinitecampus MCP for education work as a local process; choose Pickuppatrol MCP for education as a local process. You can also run both side by side in one mcpServers block.
IC_BASE_URL, IC_DISTRICT, IC_USERNAME, IC_PASSWORD, IC_NAME, IC_DISABLE_FETCHPROXY.PICKUPPATROL_USERNAME, PICKUPPATROL_PASSWORD.pup_get_session, pup_list_students, pup_get_student.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Education | Education |
| Quality signal | 48/100 · Fair | 57/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | other | other |
| Pricing | Free | Free |
| Required env vars | IC_BASE_URLIC_DISTRICTIC_USERNAMEIC_PASSWORDIC_NAMEIC_DISABLE_FETCHPROXY | PICKUPPATROL_USERNAMEPICKUPPATROL_PASSWORD |
| Verified owner | Community listing | Community listing |
| GitHub stars | 4 | 0 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | Not listed | 14 |
| Full listing | View Infinitecampus MCP | View Pickuppatrol MCP |
No tool names declared yet. Check the project README from the listing page.
pup_get_sessionThe signed-in account and the students linked to itpup_list_studentsEvery student with their weekly defaults and review flagpup_get_studentOne student in fullpup_get_default_plansA student's weekly default plan, day by daypup_list_plansDay-by-day plans across a date rangepup_get_planOne student, one date — including whether it is lockedpup_list_transportationsA school's dismissal options and the rules each imposespup_get_schoolSchool profile, notify times, cutoff times, settingspup_list_non_school_daysDates no plan can be set for, and dates already changedpup_list_car_numbersCar numbers the school issued to this accountpup_healthcheckCredentials sign in and the API answers; on failure, `error.kind` says which hop broke (`edge_blocked`, `credential_rejected`, …)pup_set_planDismissal for one or more specific dates, or clears them back to the defaultPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"infinitecampus-mcp": {
"command": "npx",
"args": [
"-y",
"infinitecampus-mcp"
],
"env": {
"IC_BASE_URL": "YOUR_IC_BASE_URL_HERE",
"IC_DISTRICT": "YOUR_IC_DISTRICT_HERE",
"IC_USERNAME": "YOUR_IC_USERNAME_HERE",
"IC_PASSWORD": "YOUR_IC_PASSWORD_HERE",
"IC_NAME": "YOUR_IC_NAME_HERE",
"IC_DISABLE_FETCHPROXY": "YOUR_IC_DISABLE_FETCHPROXY_HERE"
}
}
}
}
{
"mcpServers": {
"pickuppatrol-mcp": {
"command": "npx",
"args": [
"-y",
"@chrischall/pickuppatrol-mcp"
],
"env": {
"PICKUPPATROL_USERNAME": "YOUR_PICKUPPATROL_USERNAME_HERE",
"PICKUPPATROL_PASSWORD": "YOUR_PICKUPPATROL_PASSWORD_HERE"
}
}
}
}