# Acuity Scheduling MCP

> Acuity Scheduling Alternative connects your AI agent directly to your appointment system. You can instantly list appointments, check real-time availability for specific types, and manage client bookings without ever touching a dashboard. This MCP lets your AI orchestrate complex calendar management into simple conversation.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** appointment-booking, calendar-sync, availability-management, client-scheduling, workflow-automation

## Description

Need to coordinate schedules across multiple services? Your AI agent can handle it. Instead of jumping between tabs or manually checking an online portal, you simply ask your client what's happening with your bookings. The system acts like a real-time scheduling coordinator for everything from solo practitioners to large clinics. It lets you audit all upcoming and past appointments, check availability against specific service types, and even create new meetings when you need them. Connecting this MCP through the Vinkius catalog means your agent gets full access to your booking data, making time management feel like just another conversation.

## Tools

### cancel_appointment
Cancels a specific scheduled appointment using its ID.

### create_appointment
Books and creates a brand new appointment for a client.

### get_appointment
Retrieves all detailed information about one specific booking.

### get_availability
Checks and reports back available time slots for a given date or service type.

### get_me
Gathers core account details related to the Acuity profile.

### list_appointment_types
Shows a list of all service types you have set up for booking.

### list_appointments
Lists multiple upcoming and past appointments on your schedule.

### list_calendars
Retrieves a list of all associated calendars linked to the account.

### list_categories
Lists general categories used for grouping or classifying appointments.

### reschedule_appointment
Changes the date and time of an existing appointment to a new slot.

## Prompt Examples

**Prompt:** 
```
Show my upcoming appointments for this week.
```

**Response:** 
```
I've retrieved your schedule. You have 3 appointments this week, including a 'Strategy Session' with John Doe on Wednesday. Would you like the details for any of them?
```

**Prompt:** 
```
Check if there are any slots for 'New Patient Consultation' tomorrow.
```

**Response:** 
```
Checking tomorrow's availability... I've found 2 available slots for that consultation: 10:00 AM and 14:30 PM. Would you like me to book one for you?
```

**Prompt:** 
```
Cancel my appointment with ID 987654321.
```

**Response:** 
```
I've successfully cancelled appointment 987654321. I've also verified that the slot is now back in your availability for other clients.
```

## Capabilities

### Audit Client Schedules
List all historical and upcoming appointments; retrieve detailed client metadata for quick review.

### Check Open Slots
Query real-time availability across different calendars or service types instantly, determining what time slots are open.

### Manage Bookings
Create new appointments, cancel existing ones, or move meetings by simply instructing your agent.

### Review System Setup
List all active calendars and available service types to keep your offering structured and up-to-date.

## Use Cases

### Client needs to move their session
A client texts asking to change their 3 PM meeting. Instead of manually finding the appointment ID and going through three forms, your agent uses `reschedule_appointment` immediately after confirming new availability with `get_availability`.

### Onboarding a new team member
An ops manager needs to verify that all department calendars are set up correctly. They ask the agent to run `list_calendars`, quickly getting a comprehensive list and ensuring no resource is missed.

### Checking historical booking patterns
You need to know how many 'Initial Consultations' you had last quarter. You instruct your agent to use `list_appointments` over a date range, getting the data summary without manual filtering.

## Benefits

- Stop clicking tabs just to check availability. Use `get_availability` and ask your agent directly for open times, saving you minutes on every client interaction.
- When a client needs to move their meeting, don't manually update the calendar. Just let your agent handle it using `reschedule_appointment`, keeping records accurate instantly.
- Need to audit what happened last month? Run `list_appointments` through your agent to get a clean summary of past bookings and details without exporting spreadsheets.
- Set up new services or check account structure by calling `list_appointment_types` or `list_calendars`. It gives you full oversight over your service offering.
- Need quick client data? The `get_appointment` tool pulls all the metadata for one booking, letting you verify details without opening a single dashboard.

## How It Works

The bottom line is you get to talk to your entire scheduling system instead of logging into it.

1. Subscribe to this MCP on Vinkius, then enter your Acuity User ID and API Key.
2. Connect the credentials to your preferred AI client (like Claude or Cursor).
3. Ask your agent a natural language question—for example, 'What's my availability for a consultation next Tuesday?'

## Frequently Asked Questions

**How do I check availability using the `get_availability` tool?**
You tell your agent exactly what you need. Just say something like: 'Show me available slots for a consultation next Tuesday.' The agent runs the tool and reports back times immediately.

**Can I use `list_appointments` to find old bookings?**
Yes, that's what it's for. You ask your agent to list appointments over a specific date range, giving you the history summary without leaving the chat window.

**What if I need to change an existing appointment? Do I use `reschedule_appointment`?**
Yes, that's the tool for it. You simply tell your agent which meeting ID you want to move and what new time slot works best.

**Do I need to run `get_me` before booking anything else?**
It’s good practice. Running `get_me` confirms that the API connection is working and provides core account information, which helps verify permissions for all subsequent actions.

**If I need to know all the available service options, how do I use `list_appointment_types`?**
You run `list_appointment_types` to get a complete manifest of services. This tool returns the name and duration for every appointment type you offer. Use this data first so your agent knows exactly what types of bookings are possible before attempting to schedule anything.

**How do I use `list_calendars` if my practice uses multiple time zones or locations?**
Use `list_calendars` to retrieve every calendar associated with your account. This is critical when your business operates across different geographies. The tool provides the unique IDs for each calendar, ensuring your agent targets the correct schedule and time zone.

**If I try to use `create_appointment` with invalid data (like a wrong date format), what should my agent do?**
The system will return an error code indicating the specific validation failure. Your agent must read this response and prompt you for corrections, like fixing the required date format or adjusting the time zone. Never assume success; always check the output first.

**What is the difference between `get_appointment` and `list_appointments`?**
`List_appointments` returns a summary list of multiple bookings, showing key details for many clients. Conversely, `get_appointment` requires a specific ID and returns the full, deep metadata only for that single booking.

**Where do I find my Acuity User ID and API Key?**
Log in to your Acuity Scheduling account, go to **Settings** > **Integrations** > **API**, and you will find both there. Copy and paste them into the fields below.

**Can the agent check real-time availability?**
Yes. Use the `get_availability` tool providing the Appointment Type ID and the target month. Your agent will return all open slots instantly.

**Is it possible to reschedule an existing appointment?**
Yes. The `reschedule_appointment` tool allows your agent to move an existing booking to a new datetime using the original Appointment ID.