# TeamUp MCP

> TeamUp MCP Server connects your AI client to your fitness studio’s core database. It handles everything from class schedules and coach rosters to customer profiles, membership plans, and real-time payments. Use it to manage an entire gym's operations just by talking to your agent.

## Overview
- **Category:** business-intelligence
- **Price:** Free
- **Tags:** gym-management, class-scheduling, membership-tracking, event-registration, fitness-business, customer-management

## Description

Listen up. The TeamUp MCP Server hooks your AI client right into the core database of any fitness studio. It handles everything you need, from tracking memberships and managing payments to running complex class schedules and keeping tabs on coaches. You use this server to run a whole gym operation just by talking to your agent.

**Finding Members and Checking Status**
You gotta know who's in the door and what they owe. Use `search_customers` when you need to find a member by name or key details; it instantly shows you their active membership status and current account balance. If you already have an ID, running `get_customer` pulls up that specific person's full profile details. It’s your go-to for confirming who the client is.

**Handling Class Schedules and Venues**
Figuring out what classes are happening takes a few steps. First, run `list_event_types` to see every standard class format—like Yoga or CrossFit—and check out their default running time. To get a full view of the calendar, you use `list_events`, which shows all scheduled classes within any date range you specify. For details on just one single event, you call `get_event`. You also need to know where people are training; `list_venues` gives you the capacity and setup for every available location in the studio.

**Tracking Attendance and Registrations**
When it comes to class sign-ups, `list_registrations` shows you exactly who booked a spot. This tool tells you if they checked in that day or if they're still sitting on the waitlist. You also need to know what plans are available; `list_memberships` pulls up every pricing option and plan type for your gym.

**Managing Staffing Details**
Keep track of who’s teaching the classes. Running `list_coaches` generates a full roster of all active trainers at the facility, listing their certifications and which classes they're assigned to teach. This helps you manage staffing without pulling up multiple spreadsheets.

**Reviewing Money and Transactions**
To keep the books straight, you use `list_payments`. This tool gives you an itemized list of every payment processed, detailing the exact amount, the method used (like credit card or cash), and which member generated the revenue. You can also review all available membership plans using `list_memberships` to ensure your pricing is current.

## Tools

### list_events
Shows a list of scheduled classes within a specified date range.

### list_payments
Provides an itemized list of payments, detailing the amount, method, and member associated with the revenue.

### get_event
Pulls detailed information for one single, scheduled class or event.

### list_event_types
Lists all standard class formats available (e.g., Yoga, CrossFit) with their default duration.

### list_registrations
Lists event registrations, showing who booked a class and if they checked in or are on the waitlist.

### search_customers
Searches for members' profiles, showing their active membership status and current account balance.

### get_customer
Retrieves a specific member's full profile details from TeamUp.

### list_memberships
Retrieves all available pricing and plan options for membership packages.

### list_coaches
Generates a roster of all active coaches and trainers at the facility.

### list_venues
Gets details about all available training locations and their maximum capacity.

## Prompt Examples

**Prompt:** 
```
What's this week's class schedule?
```

**Response:** 
```
This week at your studio:

🏋️ **Monday**: CrossFit WOD 6:30 AM (Jake, 18/20), Yoga 7:00 PM (Sarah, 8/15)
🥊 **Tuesday**: Boxing 6:00 AM (Alex, FULL), HIIT 12:00 PM (Jake, 14/20)
🧘 **Wednesday**: Yoga Flow 9:00 AM (Sarah, 6/15), Open Gym 4:00 PM
🏋️ **Thursday**: CrossFit WOD 6:30 AM (Jake, 16/20), Mobility 7:00 PM (Ana, 5/12)
🥊 **Friday**: Friday Fight Club 5:30 PM (Alex, 19/20)

22 classes, Monday's Boxing is sold out!
```

**Prompt:** 
```
Check the availability of exactly 'Conference Room A' for tomorrow afternoon.
```

**Response:** 
```
Evaluating Teamup schedules ('get_events')...
'Conference Room A' (Sub-calendar ID: 301) is booked from 1:00 PM to 2:30 PM for 'Marketing Sync'. It is available fully from 2:30 PM until closing.
```

**Prompt:** 
```
Schedule a new event 'Q1 Review Review' in the Executive Calendar for next Monday at 10 AM.
```

**Response:** 
```
Executing `create_event` request on Teamup...
Event 'Q1 Review Review' successfully injected into the 'Executive Calendar'.
Date: Next Monday, 10:00 AM - 11:00 AM.
Event ID: `evt-8842`.
```

## Capabilities

### Find Customer Profiles
Search member records by name or details using `search_customers` to get their current membership status and account balance.

### Query Event Schedules
Get a full list of classes for a date range (`list_events`) or pull specific details about one scheduled event using `get_event`.

### Analyze Revenue and Payments
Review all transactions, including the amount, method, and associated member, by calling `list_payments` to understand daily revenue.

### View Membership Status
List every available membership plan, including pricing details and billing frequency, using `list_memberships`.

### Manage Staffing Details
Retrieve a full roster of coaches and trainers, listing their certifications and assigned classes via `list_coaches`.

## Use Cases

### Handling New Student Onboarding
A new client walks in. Instead of asking an employee to check three systems, your agent calls `search_customers` first. If the member isn't found, the agent checks `list_memberships` and guides the client through selecting a plan before initiating payment processing.

### Daily Capacity Check
The coach asks: 'Can we run an extra Yoga class on Saturday?' The agent calls `get_event` for existing classes to see the venue, then uses `list_venues` to confirm if there's capacity in a room big enough.

### End-of-Month Financial Review
The manager needs to report total revenue. The agent calls `list_payments`, which compiles all transactions, and cross-references that data against the scheduled classes from `list_events` for reporting purposes.

### Checking Class Changes Mid-day
A member asks if their 10 AM CrossFit WOD is canceled. The agent uses `list_events` filtered by that date and class type to provide an immediate answer, saving the user from having to check the physical sign-up board.

## Benefits

- Stop updating spreadsheets. Instead of manually cross-checking class schedules against payments, having access to `list_events` and `list_payments` lets your agent reconcile revenue instantly.
- No more lost members or incorrect pricing. Use `search_customers` to get a member's profile—it immediately shows their active membership status and current balance without needing another screen jump.
- Track every detail of class attendance. Instead of calling the front desk, use `list_registrations` to see who booked a class, who is waiting, and if they checked in for today's session.
- Quickly staff any event. Call `list_coaches` to get an up-to-date roster of certified trainers, letting you assign classes or check availability instantly.
- Understand your finances right away. Running `list_payments` gives you a clear breakdown of all revenue sources—memberships, packages, and drop-ins—without opening the accounting software.

## How It Works

The bottom line is: you tell your agent what you need, it finds the right tool, executes it safely, and gives you clean data without you having to write any code.

1. Your AI client sends a request to the TeamUp MCP Server (e.g., 'What are today's Yoga class times?').
2. The agent identifies the need and executes the appropriate tool, like `list_events` or `get_event`, passing specific parameters (date, type).
3. The server runs the query against TeamUp's backend and returns structured data (JSON) to your AI client for natural language interpretation.

## Frequently Asked Questions

**How do I check if a specific coach is available using list_coaches?**
The `list_coaches` tool lists all active trainers and their certifications. If you need to check availability for a date, use `list_events` and filter by the coach's name.

**What kind of data does list_payments provide?**
`list_payments` gives you an itemized list including the total amount paid, the payment method used (credit card, cash), and which member it belongs to. This helps track revenue from memberships or packages.

**Can I find out if a customer is still active using search_customers?**
Yes. `search_customers` returns the full profile for any member, including their current membership status and whether they have an outstanding account balance.

**How do I see all class types offered at my studio? (list_event_types)**
Use `list_event_types`. This tool gives you a list of every standard format—like Yoga or HIIT—and includes the default duration for each one.

**If I only want class schedules for a specific month, how do I use `list_events`?**
You must provide explicit start and end date parameters. The tool processes the range to filter all classes falling within that window. It won't guess; it needs concrete dates.

**When using `get_event`, how do I confirm if a class is currently sold out or limited by capacity?**
The event details returned include both the maximum capacity and the current booking count. This allows your agent to immediately check for full status against the venue limit.

**Does `search_customers` give me more than just a profile, like their last visit date or financial standing?**
It gives you everything: the full profile, current active membership details, total visit count, and even the account balance. It's your single source for member status checks.

**What specific data points does `list_venues` provide about my training locations?**
The tool gives you the full address and the maximum capacity of each venue. This is essential when cross-referencing class bookings against physical space limits.

**How do I get a TeamUp API key?**
Visit goteamup.com/developers to request developer API access. You'll receive an API key that must be passed in the X-Api-Key header with each request.