# PushPress MCP

> PushPress handles gym operations—from checking members in to billing cycles. Connect your entire fitness facility to any AI agent, automating tasks like listing scheduled classes, updating member profiles, and tracking attendance history via natural conversation.

## Overview
- **Category:** business-management
- **Price:** Free
- **Tags:** gym-management, membership-billing, scheduling, check-ins, customer-management

## Description

**PushPress handles your whole gym operation—from letting people in the door to running payroll cycles. Connect your entire fitness facility to any AI agent, and you'll automate tasks like checking class schedules, updating member files, or tracking who showed up today, all just by talking to it.**

**Searching and Profiling Members**
You can find out everything about a gym member using `search_customers`. This tool searches the main member database and spits back key info: their full profile details, what plan they're on right now, how many times they checked in last month, and if their billing is good to go. If you need all the nitty-gritty details for one specific person—like checking a membership ID or getting their full contact sheet—you use `get_customer`. That pulls up a single, comprehensive profile just for that individual.

**Reviewing Class Rosters and Schedules**
Need to know what's going on with group fitness? You call `list_classes` to get every group class scheduled. It lists out the name of the class, when it runs, how many spots are open, and who the coach is. If you wanna check next week’s schedule or today's lineup, this tool shows you all that data. For private work, if a trainer needs to review their books, they use `list_appointments`. This pulls up every one-on-one personal training session scheduled for staff review.

**Tracking Daily Attendance Metrics**
Want to know who actually showed up? You run `list_checkins` and it gives you a detailed list of check-ins that happened on any date range you pick. It tracks the raw data showing attendance, letting management see exactly how many people walked through the doors. This is your day-to-day occupancy report.

**Managing Billing and Membership Data**
To handle membership money, you use `list_plans`. This tool shows all the current pricing models, every type of plan available—from monthly passes to annual packages—and all the specific billing cycle details. You'll get a clear picture of what you're selling and how often your members are charged.

**Communication and System Health**
Staff can check through `list_messages` to see a list of messages sent across the gym's communication channels, keeping everyone in the loop on the fly. If you wanna know about system updates or integrations, you run `list_webhooks`. This shows you a record of all the webhooks currently set up for real-time data notifications, letting IT know what services are talking to each other.

**In short:** You'll use these tools together to build out every single operational task. Search profiles with `search_customers`, see who’s signed up for yoga today using `list_classes`, check the attendance count for yesterday via `list_checkins`, and verify if a member is billed correctly by running `list_plans`. It's all about talking to your system naturally, so you don't have to click through twenty separate screens. You just ask your agent, and it gets the data right away.

## Tools

### search_customers
Searches the member database and returns key details: profile, plan status, check-in count, and billing health.

### get_customer
Retrieves a single, detailed profile for an individual gym member.

### list_checkins
Gets a record of every recorded gym check-in for a specified date range.

### list_classes
Lists all group classes scheduled, including capacity and coach names.

### list_plans
Lists all active membership and pricing plans, including billing details.

### list_appointments
Fetches all scheduled one-on-one personal training appointments.

### list_messages
Retrieves a list of messages sent through the gym's communication channels.

### list_webhooks
Shows a record of the webhooks currently set up for real-time data notifications.

## Prompt Examples

**Prompt:** 
```
How many people checked in today?
```

**Response:** 
```
Today's check-ins: 47 total. Peak: 6-7 AM (14). By method: App 28, Kiosk 15, Manual 4. +6 vs last week.
```

**Prompt:** 
```
Who is enrolled in the 6 AM CrossFit class today?
```

**Response:** 
```
The 6 AM CrossFit class has 12 members enrolled: John D., Sarah M., Michael T... There are 3 spots remaining.
```

**Prompt:** 
```
Which members have a billing issue right now?
```

**Response:** 
```
Currently, 4 members have failed payments or expired credit cards on file. I have generated a detailed list so you can follow up.
```

## Capabilities

### Search and profile members
Find a member's full record, including their current plan status or last check-in count, using `search_customers`.

### Review class rosters and schedules
List all classes scheduled for today or next week, seeing who is enrolled and how many spots are left using `list_classes`.

### Track daily attendance metrics
Get a detailed list of check-ins that happened on any given day via the `list_checkins` tool.

### Manage billing and membership data
Check current pricing models, plan types, and billing cycle details using `list_plans`.

### Review private coaching appointments
Pull up a list of all scheduled PT or one-on-one coaching sessions for staff review using `list_appointments`.

## Use Cases

### Checking membership billing status
A member calls asking why their class was canceled. You ask the agent to run `search_customers` for them, which immediately returns the profile and shows a note about an expired plan, allowing you to fix the billing issue right away.

### Verifying today's schedule capacity
A trainer needs to book a private session. Instead of logging into two systems, they ask the agent to run `list_classes` for available times and then check `list_appointments` to see who is already booked.

### Reporting on gym usage trends
The owner wants a report. They ask the agent to use `list_checkins` over the last week, which aggregates the raw data and provides a breakdown by check-in method (App vs Kiosk).

### Onboarding new clients
A front desk staffer needs basic info on a walk-in. They run `get_customer` with the email, pulling up their profile and checking if they need to sign up for a specific plan using details from `list_plans`.

## Benefits

- Automate member lookups. Instead of navigating three tabs just to find a client’s status, running `search_customers` gives you their profile, plan, and billing health in one go.
- Instantly check capacity. Need to know if the 6 AM class has room? Use `list_classes` to pull real-time enrollment numbers without opening the scheduling dashboard.
- Streamline attendance tracking. Stop counting widgets on a dashboard; asking for `list_checkins` gives you immediate totals, peak times, and method breakdowns.
- Handle billing inquiries fast. You can check membership options or find payment issues by calling `list_plans` or running `search_customers`, speeding up customer service drastically.
- Improve communication flow. Need to know if a client spoke to the coach? Use `list_messages` and your agent handles filtering through all emails, SMS, and push notifications.

## How It Works

The bottom line is: you talk to your agent like talking to a coworker, and the agent handles logging into the gym software and pulling the exact information you need.

1. Connect your AI client to the PushPress MCP Server endpoint.
2. Your agent runs a tool (e.g., `search_customers`) based on your natural language prompt, and fetches specific data points from PushPress.
3. The server returns structured data—like a list of members or classes—which your AI client then formats into an easy-to-read answer.

## Frequently Asked Questions

**How do I use list_checkins to find out who was here last week?**
You tell your agent, 'List check-ins for May 1st through May 7th.' It runs `list_checkins` and gives you the raw data set for that period. You don't have to manually filter the calendar.

**Can I find a client’s profile using search_customers?**
Yes. Simply ask your agent, 'Search for John Smith.' The server runs `search_customers` and returns his profile, including whether he's currently active or if his card is expired.

**What does list_classes show me?**
`list_classes` shows you the current schedule. It lists every group class planned, along with capacity and who the coach is for that day.

**How do I view all available membership plans using list_plans?**
Use `list_plans`. This tool gives a full inventory of your gym's pricing tiers, including both the name and the billing cycle associated with each plan.

**How does using get_customer help me check a member's billing status?**
It provides the member's active plan and current billing state. You instantly see if payments failed or if their credit card needs updating, letting your agent know exactly who requires follow-up.

**What does list_webhooks show me about system integration status?**
It provides a comprehensive list of all active webhooks. Use this to verify which real-time event notifications are firing, confirming your AI client is aware of every connected service.

**How do I use list_messages to track past communication with members?**
You get a record of all messages sent through PushPress. Your agent processes this history, pulling up previous emails and SMS texts so you have full context on the member's background.

**If I need to check for scheduling conflicts, how does list_appointments help?**
It returns a list of scheduled PT appointments. Your agent processes this data set, allowing you to quickly identify overlaps or open slots without checking the physical calendar.

**Does PushPress have a TypeScript SDK?**
Yes! PushPress provides an early-alpha TypeScript SDK on GitHub, and their v3 API is the most modern in the gym management space.

**Does PushPress integrate with external waiver systems?**
PushPress has a robust internal waiver and document signing system, but its API can also sync status with external CRM and waiver platforms.

**Can I use the API to book an appointment for a client?**
Yes, the v3 API allows authorized agents to schedule personal training sessions and appointments dynamically based on coach availability.