Skip to main content
Glama
thehesiod

io.github.thehesiod/psquare

by thehesiod

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PS_PASSWORDNoYour ParentSquare password
PS_USERNAMENoYour ParentSquare username (email)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
submit_mfa_codeA

Submit 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 email

list_schoolsA

List 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_featuresA

List 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_feedsA

Get 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_postB

Get 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_conversationsA

List 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_conversationA

Read 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_eventsA

Get 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 ID

list_photosB

List 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_filesC

List files and documents posted for a school. Returns file URLs for download_file.

Args: school_id: School ID

download_fileA

Download 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_directoryA

List 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

get_staff_memberA

Get detailed info for a specific staff member including email, photo, and office hours.

Use get_directory first to find the user_id, then call this for full details. Returns structured data plus an inline profile photo when available.

Args: school_id: School ID user_id: Staff member's user ID (from get_directory results)

list_groupsA

List groups at a school with member counts and descriptions.

To view a group's posts, call get_group_feed with BOTH the same school_id used here AND the group_id shown in the results.

Args: school_id: School ID (use list_schools to find available IDs)

get_group_feedA

Get posts from a specific group's feed.

IMPORTANT: Both school_id and group_id are required.

Args: school_id: School ID (same school_id used in list_groups) group_id: Group ID (from list_groups results)

get_student_dashboardB

Get student dashboard information including school, grade, classes, and teachers.

Args: student_id: Student ID (use list_schools to see available students)

list_signupsA

List sign-up and RSVP posts for a school (item donations, volunteer slots, event RSVPs).

Shows each signup post with its title, progress (e.g. "53/103 Items"), and author. Use get_post with the feed_id to see full signup details including individual items.

Args: school_id: School ID page: Page number for pagination (default: 1)

list_noticesC

List alerts and notices for a school (urgent alerts, secure documents, consent forms).

Args: school_id: School ID

list_pollsA

List polls for a school with questions, options, and vote counts.

Shows each poll's question, answer options with vote totals, and which option is winning.

Args: school_id: School ID

list_linksB

List quick-access links for a school (calendars, menus, forms, etc.).

Returns link names and URLs (typically Google Drive or external sites).

Args: school_id: School ID

list_paymentsB

List payment items for a school with summary stats and item prices.

Shows upcoming/paid counts, total amount paid, and each payment post with its available items and prices.

Args: school_id: School ID

list_volunteer_hoursB

List your logged volunteer hours for a school.

Shows each logged entry with month, activity type, notes, and hours.

Args: school_id: School ID

list_formsA

List available forms and permission slips for a school.

Shows form titles, authors, and dates. These are signable forms that may require parent signatures (e.g. field trip permission, driver forms). Use get_post with the feed_id to see the full form content.

Args: school_id: School ID

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/thehesiod/psquare-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server