thehesiod avatar

Psquare

thehesiod/psquare-mcp

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 tools

Public 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

MCP Registry PyPI

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


View the full README on GitHub

Details

Repository
github.com/thehesiod/psquare-mcp
Package
parentsquare-mcp
Transport
STDIO
Registry
MCP registry, active

More from thehesiod