# Vagaro MCP

> Vagaro connects your salon, spa, or fitness business data to any AI client. Use natural language to manage daily schedules, look up detailed client profiles, check staff availability, and track retail inventory instantly.

## Overview
- **Category:** erp-operations
- **Price:** Free
- **Tags:** appointment-booking, client-management, salon-software, fitness-management, staff-scheduling, retail-operations

## Description

Vagaro connects your salon, spa, or fitness business data directly to your AI client. You don't gotta jump between a dozen dashboards; you just talk to it. Your agent uses specific tools—like `list_appointments` or `search_clients`—to pull real-time info straight from your account.

**Search Client Profiles**
You can find any customer record by name using `search_clients`. This tool returns their contact details and a full history of past visits. Need more detail? Use `get_client` to fetch that person's complete profile, checking out stored preferences or specific notes about them.

**Staffing and Scheduling Management**
To check who’s working, run through all providers listed via `list_staff`. This shows their role, specialties, and general availability status. If you need a deep dive on one person, use `get_staff_schedule` to see that staff member's booked time slots alongside any open blocks they have for the day.

You can also get an overview of every single service offered using `list_services`, which gives you the name, duration, and price point for each thing you sell. For checking specific bookings, running `get_appointment` pulls all the details on one booking—including the staff member assigned and what services were performed.

Need to manage a whole day? Use `list_appointments`. This lists every single scheduled appointment and lets you filter that schedule by date for a complete view of the day's bookings, total projected revenue, and any available gaps in your schedule. For group wellness spots, you can see an overview of all fitness or spa classes using `list_classes`, which includes capacity numbers and current enrollment counts.

**Inventory and Business Records**
Want to check what retail stock you've got left? Run `list_products`. This lists every inventory item, providing the name, price, brand details, and exactly how many units are currently in stock. To get a snapshot of your core business data—like operating hours or profile information—use `get_business_info`.

This setup lets you manage everything through natural language commands. You tell your agent what you need—whether it's confirming a client’s history, checking staff availability for next week, or seeing if you can afford to sell another bottle of shampoo—and it delivers the specific data point instantly.

## Tools

### get_appointment
Retrieves specific details about one booking, including service and staff member.

### get_business_info
Pulls the general profile data for the business location.

### get_client
Fetches a specific customer's detailed profile information.

### get_staff_schedule
Shows booked and available time slots for a selected staff member.

### list_appointments
Lists all appointments, allowing you to filter by date for a specific day's schedule.

### list_classes
Provides an overview of group fitness or wellness classes, including capacity and enrollment counts.

### list_products
Lists all retail inventory items, providing name, price, brand, and stock levels.

### list_services
Provides a comprehensive list of every service offered, including its pricing and duration.

### list_staff
Lists all providers in the business, showing their role, specialties, and general availability status.

### search_clients
Searches for customers by name or other criteria, returning contact info and visit history.

## Prompt Examples

**Prompt:** 
```
Show me today's appointments.
```

**Response:** 
```
Today's schedule:

9:00 AM — **Jessica R.** Balayage + Cut with Sarah ($185)
10:30 AM — **Mark T.** Men's Haircut with Mike ($35)
11:00 AM — **Amanda L.** Deep Tissue Massage with Ana ($120)
1:00 PM — **Sarah K.** Gel Manicure + Pedicure with Lisa ($75)

4 appointments, $415 projected revenue. You have a 2-hour gap from 2:00-4:00 PM.
```

**Prompt:** 
```
Find Elena Gomez's profile and check her last booked service.
```

**Response:** 
```
Accessing Vagaro client records ('get_client_details')...
Elena Gomez (ID: 8841-A):
- Status: Active VIP
- Last Service: 'Signature Facial' on Oct 5th
- Preferred Staff: Anna M.
- Notes: Allergic to lavender extract.
```

**Prompt:** 
```
Book a 60-minute deep tissue massage for Mark Smith with John next Friday at 2 PM.
```

**Response:** 
```
Executing `create_appointment` action...
Appointment confirmed!
- Client: Mark Smith
- Service: Deep Tissue Massage (60 min)
- Staff: John
- Date: Next Friday, 2:00 PM
- Price: $110.00
A confirmation SMS has been sent to the client.
```

## Capabilities

### Search Client Profiles
Find customer records by name, view their visit history, and check stored preferences.

### View Staff Availability
Get a list of all providers or check an individual staff member's booked and open time slots.

### List Daily Appointments
Filter the schedule by date to see every booking, total projected revenue, and available gaps for the day.

### Check Inventory Levels
Browse your retail stock, seeing product names, pricing, brand details, and current quantity on hand using `list_products`.

### Review Business Settings
Access core business data like operating hours, profile information, or online booking status via `get_business_info`.

## Use Cases

### The Morning Huddle
A manager needs a quick report on the day's schedule. They ask their agent, 'What are today’s appointments?' The agent runs `list_appointments`, providing a formatted list of all clients and services booked for revenue tracking.

### The New Client Intake
A receptionist gets a new client name. They use the agent to run `search_clients`. This pulls up not only contact details but also their full visit history, allowing them to greet the person by name and recall past services.

### The Scheduling Conflict
A staff member needs coverage for an afternoon gap. They ask the agent to check 'Sarah's availability.' The agent runs `get_staff_schedule`, showing open time blocks so they can rebook a client immediately.

### The Inventory Check
It’s end-of-day. The owner needs to know how much high-end shampoo is left. They ask the agent, 'What's our stock of brand X?' The agent runs `list_products`, giving a precise count and price point.

## Benefits

- Check the daily flow instantly. Instead of opening the calendar, ask the agent to 'Show me today’s bookings.' It runs `list_appointments` and tells you exactly who is in, when they are due, and how much revenue that represents.
- Never lose client history again. Use `search_clients` to pull up a customer's full profile—their last service, stated preferences, and contact info—in seconds, without clicking through multiple pages.
- Staffing efficiency is clear when you use `get_staff_schedule`. You can ask the agent if 'John has time tomorrow afternoon,' and it tells you exactly which hours are open or booked.
- Keep retail sales flowing. Running `list_products` gives you a real-time inventory count, so you know exactly how many bottles of shampoo or supplements are left before a client leaves the desk.
- See service gaps immediately. By listing all services via `list_services`, you can quickly compare pricing and duration to make sure your staff is offering everything it should be.

## How It Works

The bottom line is: you talk naturally, the agent executes the correct tool, and you get actionable business data instantly.

1. You tell your AI client what you need—for example, 'What services are offered?'
2. The agent translates that into a tool call (e.g., `list_services`) and sends it to the Vagaro MCP Server.
3. Vagaro runs the function and returns structured data (like pricing and duration) back to your AI client for immediate reading.

## Frequently Asked Questions

**How do I check if a staff member is free using get_staff_schedule?**
Run `get_staff_schedule` and specify the provider's name. It returns a structured view showing exactly which time blocks are marked as available or booked for that person.

**Can I list all services with list_services?**
Yes, `list_services` pulls every service offered in your business. You get the name, pricing, and duration for each one immediately.

**What is the best way to check inventory? Do I use list_products?**
Use `list_products`. It gives you a clean breakdown of retail items, showing the current stock level alongside the price and brand name for quick checks.

**How do I find out what classes are running today using list_classes?**
Run `list_classes` to see all group wellness sessions. The result includes the schedule, who teaches it, its capacity, and how many people are currently enrolled.

**If I use search_clients, what kind of history or preferences can I retrieve about a customer?**
The tool returns contact info, visit history, and stated preferences. This means you get more than just names; your agent can pull details like past services received or known allergies.

**How do I use get_business_info to verify the salon's operating hours or profile status?**
This tool pulls the core business profile, giving you up-to-date information on operating hours and general settings. It’s a quick way for your agent to confirm if the studio is open today.

**When I use list_appointments, how do I filter appointments by a specific date range?**
The function allows filtering by date parameters. This lets you check an entire week's schedule or just one day at a time, improving the scope of your booking reports.

**What information does list_staff provide about providers beyond their name and availability?**
The tool lists staff members and includes details on their specific roles, specialties, and certifications. This helps you match clients to providers who are best suited for them.

**How do I get Vagaro API access?**
Go to your Vagaro dashboard → Settings → Developer Features → API Settings. You'll need Admin or Owner permissions and active payment processing to generate API credentials.

**Does it support multi-location businesses?**
Yes. Each location has its own Business ID. Configure the server with the specific Business ID for the location you want to manage, or set up multiple instances for multi-location oversight.