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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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