A side-by-side look at the Ictexam 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 Ictexam 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.
ICTEXAM_BASE_URL, ICTEXAM_EMAIL, ICTEXAM_PASSWORD, ICTEXAM_API_PREFIX, ICTEXAM_MCP_ALLOW_WRITE, ICTEXAM_TIMEOUT_MS, ICTEXAM_TLS_INSECURE.ictexam_list_exams, ictexam_get_exam, ictexam_list_classes.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 | 55/100 · Good | 55/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | ICTEXAM_BASE_URLICTEXAM_EMAILICTEXAM_PASSWORDICTEXAM_API_PREFIXICTEXAM_MCP_ALLOW_WRITEICTEXAM_TIMEOUT_MSICTEXAM_TLS_INSECURE | PICKUPPATROL_USERNAMEPICKUPPATROL_PASSWORD |
| Verified owner | Community listing | Community listing |
| GitHub stars | 17 | 0 |
| Directory activity | 0 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 9 | 14 |
| Full listing | View Ictexam MCP | View Pickuppatrol MCP |
ictexam_list_examsList exam papers (id, title, status, class, subject)ictexam_get_examOne paper's settings, share links and questionsictexam_list_classesClasses (course groups)ictexam_list_subjectsSubjects, each tied to a classictexam_gradebookPer-exam totals and student marksictexam_item_analysisPer-question difficulty, p-value and average markictexam_parse_question_paperUpload a local PDF/DOCX and AI-extract the questionsictexam_publish_examPublish a paper; returns student and teacher share URLsictexam_unpublish_examSet a paper back to draftpup_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": {
"ictexam-mcp": {
"command": "npx",
"args": [
"-y",
"ictexam-mcp"
],
"env": {
"ICTEXAM_BASE_URL": "YOUR_ICTEXAM_BASE_URL_HERE",
"ICTEXAM_EMAIL": "YOUR_ICTEXAM_EMAIL_HERE",
"ICTEXAM_PASSWORD": "YOUR_ICTEXAM_PASSWORD_HERE",
"ICTEXAM_API_PREFIX": "YOUR_ICTEXAM_API_PREFIX_HERE",
"ICTEXAM_MCP_ALLOW_WRITE": "YOUR_ICTEXAM_MCP_ALLOW_WRITE_HERE",
"ICTEXAM_TIMEOUT_MS": "YOUR_ICTEXAM_TIMEOUT_MS_HERE",
"ICTEXAM_TLS_INSECURE": "YOUR_ICTEXAM_TLS_INSECURE_HERE"
}
}
}
}
{
"mcpServers": {
"pickuppatrol-mcp": {
"command": "npx",
"args": [
"-y",
"@chrischall/pickuppatrol-mcp"
],
"env": {
"PICKUPPATROL_USERNAME": "YOUR_PICKUPPATROL_USERNAME_HERE",
"PICKUPPATROL_PASSWORD": "YOUR_PICKUPPATROL_PASSWORD_HERE"
}
}
}
}