Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PROCARE_BASE_URLYesThe base URL of your Procare Connect tenant subdomain, e.g., https://<your-subdomain>.procareconnect.com
PROCARE_CLIENT_IDYesYour OAuth client ID for the Procare Connect API
PROCARE_CLIENT_SECRETYesYour OAuth client secret for the Procare Connect API

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
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 [{"id": "...", "name": "...", ...}, ...].

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 {"id": "abc-123", "name": "..."}.

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 offset for pagination.

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 [{"id": "...", "first_name": "...", "last_name": "...", ...}, ...].

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 {"id": "kid-789", "first_name": "...", "allergies": [...], "schedule": {...}, ...}.

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

  • emergency contacts for this household."

Example: family_id="fam-555" returns {"id": "fam-555", "guardians": [...], "children": [...], "balance_cents": ...}.

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 YYYY-MM-DD (inclusive). date_to: ISO date YYYY-MM-DD (inclusive). limit: max records.

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 YYYY-MM-DD (inclusive). date_to: ISO date YYYY-MM-DD (inclusive). limit: max records.

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

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/sanjibani/procare-mcp'

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