Scheduling Tools

8 tools for managing appointments, checking availability, and syncing calendars.

frontdesk_check_availability

Check available time slots for a given date range and service type. Accounts for staff schedules, existing bookings, buffer times, and business hours.

POSTtools/frontdesk_check_availability
ParameterTypeDescription
daterequiredstringDate to check availability for (ISO 8601).
service_typestringType of service/appointment to filter available slots.
staff_idstringCheck availability for a specific staff member.
duration_minutesnumberRequired appointment duration in minutes.Default: 30
Exampletypescript
const result = await mcp.callTool("frontdesk_check_availability", {
  date: "2025-01-20",
  service_type: "annual_checkup",
  duration_minutes: 60
});
Response
200 OK
{
  "date": "2025-01-20",
  "available_slots": [
    {
      "start": "2025-01-20T09:00:00Z",
      "end": "2025-01-20T10:00:00Z",
      "staff": { "id": "staff_01", "name": "Dr. Sarah Johnson" }
    },
    {
      "start": "2025-01-20T14:00:00Z",
      "end": "2025-01-20T15:00:00Z",
      "staff": { "id": "staff_01", "name": "Dr. Sarah Johnson" }
    },
    {
      "start": "2025-01-20T10:30:00Z",
      "end": "2025-01-20T11:30:00Z",
      "staff": { "id": "staff_02", "name": "Dr. Michael Chen" }
    }
  ],
  "timezone": "America/New_York"
}

frontdesk_book_appointment

Book a new appointment. Validates availability before confirming, sends confirmation notifications to both the patient and staff member, and creates calendar events.

POSTtools/frontdesk_book_appointment
ParameterTypeDescription
patient_namerequiredstringFull name of the patient.
patient_phonerequiredstringPatient phone number.
patient_emailstringPatient email for confirmation.
start_timerequiredstringAppointment start time (ISO 8601).
duration_minutesnumberAppointment duration.Default: 30
service_typerequiredstringType of appointment.
staff_idstringPreferred staff member.
notesstringAdditional notes for the appointment.
send_confirmationbooleanSend SMS/email confirmation.Default: true
Automatic Conflict Detection
The booking tool automatically checks for conflicts. If the requested slot is no longer available, it returns an error with the next 3 available alternatives.

frontdesk_reschedule_appointment

Reschedule an existing appointment to a new date and time. Notifies all parties and updates connected calendar integrations.

POSTtools/frontdesk_reschedule_appointment
ParameterTypeDescription
appointment_idrequiredstringThe appointment to reschedule.
new_start_timerequiredstringNew appointment start time.
reasonstringReason for rescheduling.
notify_patientbooleanSend notification to the patient.Default: true

frontdesk_cancel_appointment

Cancel an appointment and optionally notify the patient. Cancellation policies (e.g., 24-hour notice) are enforced based on workspace configuration.

POSTtools/frontdesk_cancel_appointment
ParameterTypeDescription
appointment_idrequiredstringThe appointment to cancel.
reasonrequiredstringReason for cancellation.
notify_patientbooleanSend cancellation notice.Default: true
waive_feebooleanWaive any cancellation fee.Default: false

frontdesk_list_appointments

List appointments with filtering options. Useful for getting a daily schedule view or finding upcoming appointments for a specific patient.

POSTtools/frontdesk_list_appointments
ParameterTypeDescription
datestringFilter by specific date.
date_fromstringStart of date range.
date_tostringEnd of date range.
staff_idstringFilter by staff member.
patient_phonestringFilter by patient phone.
statusstringFilter: scheduled, completed, cancelled, no_show.Default: all
limitnumberMax results.Default: 20

Search Documentation

Search for pages, tools, and guides