Pickuppatrol MCP vs Psquare
A side-by-side look at the Pickuppatrol MCP and Psquare MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Pickuppatrol MCP for education work as a local process; choose Psquare for education as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Pickuppatrol MCP when
- You need dedicated capabilities in the Education domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: other.
- You have the keys it needs:
PICKUPPATROL_USERNAME, PICKUPPATROL_PASSWORD. - You want tools like
pup_get_session, pup_list_students, pup_get_student.
Choose Psquare when
- You need dedicated capabilities in the Education domain.
- You prefer a local stdio subprocess transport.
- You want tools like
submit_mfa_code, list_schools, list_school_features.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Education | Education |
| Quality signal | 57/100 · Good | 59/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | other | Not declared |
| Pricing | Free | Not declared |
| Required env vars | PICKUPPATROL_USERNAMEPICKUPPATROL_PASSWORD | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 14 |
| Directory activity | 2 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 14 | 48 |
| Full listing | View Pickuppatrol MCP | View Psquare |
Tools & capabilities
Pickuppatrol MCP tools 14
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 default- +2 more on the listing page
Psquare tools 48
submit_mfa_codeSubmit a 6-digit MFA verification code to complete ParentSquare login. When a ParentSquare tool returns an MFA error, a verification code is sent to your email. Check your email for the code and use this tool to complete authentication. Args: code: The 6-digit verification code from your emaillist_schoolsList available schools and students in your ParentSquare account. Returns JSON with schools, students, and your user ID. Use the school_id and student_id values from this output in other tools. For school contact info (phone, address), use get_directory(school_id).list_school_featuresList features available for a specific school by parsing its sidebar navigation. Returns a list of available sections (Feed, Messages, Calendar, Photos, etc.). Different schools may have different features enabled. Args: school_id: School ID (use list_schools to find available IDs)get_feedsGet recent posts from a school's feed with titles, authors, dates, and summaries. Returns a paginated list of posts. Use get_post with the feed_id to see full details. Args: school_id: School ID page: Page number for pagination (default: 1)get_postGet full details of a specific post including body text, comments, and attachments. Image attachments are returned inline so you can see their contents directly. PDF attachments have their text extracted and included inline. Args: feed_id: Post/feed ID (shown as feed_id in get_feeds results)list_conversationsList message conversations for a school. Returns conversation IDs, participants, and previews. To read a full conversation, call get_conversation with BOTH the same school_id used here AND the chat_id shown in the results. Args: school_id: School ID (use list_schools to find available IDs)get_conversationRead a specific message conversation thread with all messages. IMPORTANT: Both school_id and chat_id are required. Args: school_id: School ID (same school_id used in list_conversations) chat_id: Conversation/chat ID (from list_conversations results)get_calendar_eventsGet calendar events for a school using the ICS calendar export. Returns JSON array of events with title, start/end times, location, and description. Note: Some schools post monthly calendars as images or PDFs in the feed instead of using the ICS calendar. If this returns no events, use get_feeds to browse recent posts — look for posts with "calendar" in the title or image/PDF attachments. Use get_post to view them (images are returned inline so you can read them). Args: school_id: School IDlist_photosList photos posted for a school. Returns photo URLs that can be used with download_file. Args: school_id: School ID page: Page number (default: 1)list_filesList files and documents posted for a school. Returns file URLs for download_file. Args: school_id: School IDdownload_fileDownload a photo, video, or file to local disk from a ParentSquare URL. Returns the local file path where the file was saved. Use URLs from list_photos, list_files, or get_post attachment results. Args: url: The file URL (from list_photos, list_files, or get_post results) filename: Optional custom filename. If not provided, uses the original filename from the URL.get_directoryList school contact info and staff directory with names, roles, and phone numbers. Returns JSON with school details (phone, address) and staff records. Use get_staff_member(school_id, user_id) for full staff details including email, photo, and office hours. Args: school_id: School ID- +36 more on the listing page
Ready-to-paste client configs
Paste 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.
Pickuppatrol MCP
{
"mcpServers": {
"pickuppatrol-mcp": {
"command": "npx",
"args": [
"-y",
"@chrischall/pickuppatrol-mcp"
],
"env": {
"PICKUPPATROL_USERNAME": "YOUR_PICKUPPATROL_USERNAME_HERE",
"PICKUPPATROL_PASSWORD": "YOUR_PICKUPPATROL_PASSWORD_HERE"
}
}
}
}
Psquare
{
"mcpServers": {
"psquare": {
"command": "uvx",
"args": [
"parentsquare-mcp"
]
}
}
}
Frequently asked questions
Pickuppatrol MCP is categorized under Education and uses a local stdio subprocess. Psquare belongs to Education and uses a local stdio subprocess. Pick Pickuppatrol MCP for education work and Psquare for education.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Pickuppatrol MCP is listed as free. Auth: other. Psquare has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add pickuppatrol-mcp and psquare as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Pickuppatrol MCP has a quality signal of 57/100 (Good) with 2 views, 0 installs and 0 GitHub stars. Psquare has 59/100 (Good) with 2 views, 0 installs and 14 GitHub stars.