
Psquare
Connects Claude to ParentSquare's undocumented internal APIs by scraping the web interface with saved session cookies. Exposes 25+ tools including get_feeds for browsing school posts with inline image content, get_calendar_events for ICS parsing, get_directory for staff lookups, list_conversations for messages, and get_post which downloads PDFs and images so Claude can read flyers and calendars directly. Handles automatic re-authentication with 1Password CLI or environment variables, including MFA flow via submit_mfa_code. Auto-discovers your schools and students on first run. Reach for this when you need to query school communications programmatically or want Claude to summarize posts, extract calendar details from attached PDFs, or look up staff contact info. Not affiliated with ParentSquare and uses unstable endpoints that could break.
- GitHub stars
- 14
- tools
- 51
- transport
- STDIO
- last updated
- Aug 26, 2026
Tools
51 toolsPublic tool metadata for what this MCP can expose to an agent.
get_feedsBrowse paginated school feed with titles, authors, summaries, and attachment names
Browse paginated school feed with titles, authors, summaries, and attachment names
No parameter schema in public metadata yet.
get_postFull post details with body text, comments, poll results, signup items, and inline image/PDF content
Full post details with body text, comments, poll results, signup items, and inline image/PDF content
No parameter schema in public metadata yet.
get_group_feedPosts from a specific group
Posts from a specific group
No parameter schema in public metadata yet.
get_calendar_eventsEvents from ICS calendar as structured JSON (title, start/end, location, description)
Events from ICS calendar as structured JSON (title, start/end, location, description)
No parameter schema in public metadata yet.
list_conversationsRead message threads
Read message threads
No parameter schema in public metadata yet.
get_conversationRead message threads
Read message threads
No parameter schema in public metadata yet.
get_directoryStaff directory as structured JSON (name, role, phone, user_id)
Staff directory as structured JSON (name, role, phone, user_id)
No parameter schema in public metadata yet.
get_staff_memberFull staff details with email, office hours, and inline profile photo
Full staff details with email, office hours, and inline profile photo
No parameter schema in public metadata yet.
list_photosPhoto gallery with URLs
Photo gallery with URLs
No parameter schema in public metadata yet.
list_filesDocument files
Document files
No parameter schema in public metadata yet.
download_fileDownload any attachment to local disk
Download any attachment to local disk
No parameter schema in public metadata yet.
list_signupsSign-up and RSVP posts with progress tracking
Sign-up and RSVP posts with progress tracking
No parameter schema in public metadata yet.
list_noticesAlerts and secure documents
Alerts and secure documents
No parameter schema in public metadata yet.
list_pollsPolls with vote counts and winning options
Polls with vote counts and winning options
No parameter schema in public metadata yet.
list_formsPermission slips and signable forms
Permission slips and signable forms
No parameter schema in public metadata yet.
list_paymentsPayment items with prices and summary stats
Payment items with prices and summary stats
No parameter schema in public metadata yet.
list_volunteer_hoursLogged volunteer hours with totals
Logged volunteer hours with totals
No parameter schema in public metadata yet.
list_schoolsSchools and students as structured JSON
Schools and students as structured JSON
No parameter schema in public metadata yet.
list_school_featuresAvailable sections per school (parsed from sidebar)
Available sections per school (parsed from sidebar)
No parameter schema in public metadata yet.
list_groupsGroups with active post counts and descriptions
Groups with active post counts and descriptions
No parameter schema in public metadata yet.
list_group_membersComplete group directory as structured JSON, distinguishing ordinary members, guests, owners, and managers
Complete group directory as structured JSON, distinguishing ordinary members, guests, owners, and managers
No parameter schema in public metadata yet.
list_linksQuick-access links (Google Drive, external sites)
Quick-access links (Google Drive, external sites)
No parameter schema in public metadata yet.
get_student_dashboardSchool, grade, classes, and teachers as structured JSON
School, grade, classes, and teachers as structured JSON
No parameter schema in public metadata yet.
list_studentsSchool roster (id, name, grade, SIS id, guardians) as structured JSON, with optional filters
School roster (id, name, grade, SIS id, guardians) as structured JSON, with optional filters
No parameter schema in public metadata yet.
list_parentsGuardian roster (user_id, name, email, phone, linked students) as structured JSON, with optional filters
Guardian roster (user_id, name, email, phone, linked students) as structured JSON, with optional filters
No parameter schema in public metadata yet.
list_gradesA school's grades and their grade_id values
A school's grades and their grade_id values
No parameter schema in public metadata yet.
get_studentAdmin detail for one student (name, grade, SIS id, linked guardians, classes)
Admin detail for one student (name, grade, SIS id, linked guardians, classes)
No parameter schema in public metadata yet.
add_studentCreate a student in a grade
Create a student in a grade
No parameter schema in public metadata yet.
edit_studentUpdate a student's name, SIS id, or grade
Update a student's name, SIS id, or grade
No parameter schema in public metadata yet.
add_parentCreate a guardian linked to a student
Create a guardian linked to a student
No parameter schema in public metadata yet.
edit_parentUpdate a guardian's name, email, or phone
Update a guardian's name, email, or phone
No parameter schema in public metadata yet.
link_guardian_to_studentLink an existing guardian to an additional student
Link an existing guardian to an additional student
No parameter schema in public metadata yet.
invite_parentSend (or resend) a ParentSquare registration invitation to one guardian
Send (or resend) a ParentSquare registration invitation to one guardian
No parameter schema in public metadata yet.
bulk_invite_parentsInvite many guardians at once; already-registered guardians are skipped automatically
Invite many guardians at once; already-registered guardians are skipped automatically
No parameter schema in public metadata yet.
list_classesA school's classes
A school's classes
No parameter schema in public metadata yet.
get_classOne class with its full staff list
One class with its full staff list
No parameter schema in public metadata yet.
add_classCreate a class; new classes start hidden until set_class_visibility
Create a class; new classes start hidden until set_class_visibility
No parameter schema in public metadata yet.
edit_classRename a class or change its grades
Rename a class or change its grades
No parameter schema in public metadata yet.
set_class_visibilityShow or hide classes (date-driven, defaults to today)
Show or hide classes (date-driven, defaults to today)
No parameter schema in public metadata yet.
list_staffStaff and admin roster as structured JSON, with an optional name filter
Staff and admin roster as structured JSON, with an optional name filter
No parameter schema in public metadata yet.
add_staffAdd a teacher, staff member, or admin, optionally assigning them to classes
Add a teacher, staff member, or admin, optionally assigning them to classes
No parameter schema in public metadata yet.
edit_staffUpdate a staff member's name, email, phone, title, or staff ID
Update a staff member's name, email, phone, title, or staff ID
No parameter schema in public metadata yet.
add_class_staffAssign teachers, assistants, and room parents for a class
Assign teachers, assistants, and room parents for a class
No parameter schema in public metadata yet.
remove_class_staffUnassign teachers, assistants, and room parents for a class
Unassign teachers, assistants, and room parents for a class
No parameter schema in public metadata yet.
list_class_studentsThe students enrolled in a class
The students enrolled in a class
No parameter schema in public metadata yet.
add_class_studentsEnroll students in classes
Enroll students in classes
No parameter schema in public metadata yet.
remove_class_studentsRemove students from classes
Remove students from classes
No parameter schema in public metadata yet.
move_student_to_classMove a student to a different class
Move a student to a different class
No parameter schema in public metadata yet.
add_group_membersAdd existing people to a manually selected group
Add existing people to a manually selected group
No parameter schema in public metadata yet.
remove_group_membersRemove explicit ordinary/guest members from a group
Remove explicit ordinary/guest members from a group
No parameter schema in public metadata yet.
submit_mfa_codeComplete MFA verification with a 6-digit code
Complete MFA verification with a 6-digit code
No parameter schema in public metadata yet.
Sponsors
Readme
ParentSquare MCP Server
An MCP (Model Context Protocol) server that gives Claude access to ParentSquare, a school-parent communication platform. Since ParentSquare has no public API, this server scrapes the web interface using saved session cookies.
Covers both the parent/guardian experience (feeds, posts, calendars, messages, directories, sign-ups, forms, payments) and school admin roster management — reading student and guardian rosters, and creating/editing students and guardians plus sending registration invitations. Admin write tools are off by default, gated behind PS_ENABLE_WRITES, and every write is recorded to a local audit log.
Available on the MCP Registry as io.github.thehesiod/psquare and on PyPI as parentsquare-mcp.
Disclaimer
Details
- Repository
- github.com/thehesiod/psquare-mcp
- Package
parentsquare-mcp- Transport
- STDIO
- Registry
- MCP registry, active