procare-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROCARE_BASE_URL | Yes | The base URL of your Procare Connect tenant subdomain, e.g., https://<your-subdomain>.procareconnect.com | |
| PROCARE_CLIENT_ID | Yes | Your OAuth client ID for the Procare Connect API | |
| PROCARE_CLIENT_SECRET | Yes | Your OAuth client secret for the Procare Connect API |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| health_checkA | Verify credentials work. Calls list_schools (the cheapest read). If this fails with ProcareAuthError, check PROCARE_BASE_URL (must be your tenant subdomain, e.g. https://mycenter.procareconnect.com) and that PROCARE_CLIENT_ID / PROCARE_CLIENT_SECRET are correct. Example: call with no arguments to run a smoke test. |
| list_schoolsA | List all schools/locations accessible to the enterprise account. Use when: "what schools are on our Procare account?" or "what center IDs do I have access to?" before calling per-school tools. Example: returns |
| get_schoolA | Fetch a single school by id (name, address, phone, hours, etc.). Use when: "what's the address of school 1234?" or "what are the hours for our downtown location?" Example: school_id="abc-123" returns |
| list_childrenA | List children enrolled, optionally filtered by school. Use when: "show me all children at school 1234" or "list the next 50
children across all schools." Combine with Args: school_id: restrict to one school within the enterprise account. limit: max records to return (server-side cap applies). offset: skip N records for pagination. Example: list_children(school_id="abc-123", limit=20) returns
|
| get_childA | Fetch a single child by id (full record: allergies, schedule, etc.). Use when: "what are the allergies for child X?" or "show me the enrollment record for this child." Example: child_id="kid-789" returns |
| list_familiesA | List families (households), optionally filtered by school. Use when: "show me all families at school 1234" or "how many active households are on our books?" Args: school_id: restrict to one school. limit: max records. offset: skip N records for pagination. |
| get_familyA | Fetch a single family by id (guardians, children, contacts, balance). Use when: "what's the balance on family 555?" or "show me the guardians
Example: family_id="fam-555" returns |
| list_attendanceA | List attendance records, filterable by school / child / date range. Use when: "who was absent on Monday at school 1234?" or "give me the full attendance log for child X over the last 30 days." Args:
school_id: restrict to one school.
child_id: restrict to one child.
date_from: ISO date |
| list_programsA | List programs (camps, preschool, after-school, summer). Use when: "what programs do we currently offer?" or "show me the active summer programs at school 1234." Args: school_id: restrict to one school. active: filter by active flag (True / False / None = all). |
| get_programA | Fetch a single program by id (description, schedule, capacity, fee). Use when: "what's the capacity and weekly fee for program 7777?" |
| list_registrationsA | List registrations (enrollments), filterable by program / child / school. Use when: "who's enrolled in program 7777?" or "what programs is child X currently in?" or "how many active registrations does school 1234 have?" Args: program_id: restrict to one program. child_id: restrict to one child. school_id: restrict to one school. limit: max records. |
| list_paymentsA | List payments / invoices, filterable by family / school / date range. Use when: "show me all payments for family 555 in October" or "what was our total revenue at school 1234 last month?" Args:
family_id: restrict to one family.
school_id: restrict to one school.
date_from: ISO date |
| list_staffA | List staff members, optionally filtered by school / active flag. Use when: "who are the active teachers at school 1234?" or "show me all staff across all our schools." |
| get_staff_memberA | Fetch a single staff member by id (name, role, classrooms, schedule). Use when: "what's the role and classroom assignment for staff 222?" |
| list_classroomsA | List classrooms, optionally filtered by school. Use when: "what classrooms do we have at school 1234?" |
| get_classroomA | Fetch a single classroom by id (capacity, age range, lead teacher). Use when: "what's the capacity and age range for classroom 33?" |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sanjibani/procare-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server