
Zenoti
Connects Claude to the Zenoti spa and wellness management platform through their REST API. Exposes tools for the full booking lifecycle: search and create guest profiles, book services through a consolidated 4-step workflow, manage appointment status and check-ins, and handle invoices and payments. Returns context-efficient responses with human-readable formatting instead of raw IDs. You'd reach for this to build AI-powered front desk operations, automated booking assistants, or conversational interfaces for spa scheduling. Requires a Zenoti API key from their admin dashboard with appropriate module permissions. Built to minimize token usage and guide agents through multi-step workflows like availability checks and reservation confirmations.
- tools
- 37
- auth
- Secret needed
- transport
- STDIO
- env vars
- 3
- last updated
- Aug 7, 2026
Tools
37 toolsPublic tool metadata for what this MCP can expose to an agent.
zenoti-centers-listList organization centers (find center GUIDs)
List organization centers (find center GUIDs)
No parameter schema in public metadata yet.
zenoti-services-listServices of a center (compact by default, `verbose` for raw)
Services of a center (compact by default, `verbose` for raw)
No parameter schema in public metadata yet.
zenoti-services-getFull service details
Full service details
No parameter schema in public metadata yet.
zenoti-therapists-listTherapists of a center, optionally filtered to a service
Therapists of a center, optionally filtered to a service
No parameter schema in public metadata yet.
zenoti-employee-schedulesWho is on shift for a date range (date-scoped staffing)
Who is on shift for a date range (date-scoped staffing)
No parameter schema in public metadata yet.
zenoti-guests-searchSearch by name/email/phone/code/tags (≥1 criterion required)
Search by name/email/phone/code/tags (≥1 criterion required)
No parameter schema in public metadata yet.
zenoti-guests-createCreate a guest profile
Create a guest profile
No parameter schema in public metadata yet.
zenoti-guests-getGuest details by GUID
Guest details by GUID
No parameter schema in public metadata yet.
zenoti-guests-updateUpdate fields — does a safe read-merge-write (Zenoti replaces the whole object on update)
Update fields — does a safe read-merge-write (Zenoti replaces the whole object on update)
No parameter schema in public metadata yet.
zenoti-guests-appointmentsAppointment history for a guest
Appointment history for a guest
No parameter schema in public metadata yet.
zenoti-guests-notes-listGuest notes and profile alerts
Guest notes and profile alerts
No parameter schema in public metadata yet.
zenoti-guests-notes-addGuest notes and profile alerts
Guest notes and profile alerts
No parameter schema in public metadata yet.
zenoti-guests-membershipsGuest's memberships (status, credits, dues)
Guest's memberships (status, credits, dues)
No parameter schema in public metadata yet.
zenoti-guests-packagesGuest's packages/series with remaining redemptions
Guest's packages/series with remaining redemptions
No parameter schema in public metadata yet.
zenoti-appointments-listCenter appointments for a date range (compact by default)
Center appointments for a date range (compact by default)
No parameter schema in public metadata yet.
zenoti-appointments-getAppointment details (`appointment_id`)
Appointment details (`appointment_id`)
No parameter schema in public metadata yet.
zenoti-appointments-checkinCheck-in state (`appointment_group_id`)
Check-in state (`appointment_group_id`)
No parameter schema in public metadata yet.
zenoti-appointments-undo-checkinCheck-in state (`appointment_group_id`)
Check-in state (`appointment_group_id`)
No parameter schema in public metadata yet.
zenoti-appointments-noshowMark no-show (`appointment_group_id`)
Mark no-show (`appointment_group_id`)
No parameter schema in public metadata yet.
zenoti-appointments-progressStart/open/complete service (`appointment_id`)
Start/open/complete service (`appointment_id`)
No parameter schema in public metadata yet.
zenoti-appointments-cancelCancel a booking (by `invoice_id`)
Cancel a booking (by `invoice_id`)
No parameter schema in public metadata yet.
zenoti-appointments-rescheduleStart a reschedule (creates a booking draft tied to the invoice)
Start a reschedule (creates a booking draft tied to the invoice)
No parameter schema in public metadata yet.
zenoti-availability-slotsCreates a booking draft for guest+service+date and returns `booking_id` plus open slots
Creates a booking draft for guest+service+date and returns `booking_id` plus open slots
No parameter schema in public metadata yet.
zenoti-booking-reserveHold a chosen slot (holds are short-lived)
Hold a chosen slot (holds are short-lived)
No parameter schema in public metadata yet.
zenoti-booking-confirmFinalize; the response includes the invoice
Finalize; the response includes the invoice
No parameter schema in public metadata yet.
zenoti-invoices-getInvoice with line items, payments, and optional dues/fees
Invoice with line items, payments, and optional dues/fees
No parameter schema in public metadata yet.
zenoti-invoices-pay-customRecord a cash/custom payment (financial action)
Record a cash/custom payment (financial action)
No parameter schema in public metadata yet.
zenoti-invoices-pay-cardCharge the guest's card on file (financial action)
Charge the guest's card on file (financial action)
No parameter schema in public metadata yet.
zenoti-invoices-closeClose a fully-paid invoice
Close a fully-paid invoice
No parameter schema in public metadata yet.
zenoti-invoices-emailEmail the receipt/invoice to the guest
Email the receipt/invoice to the guest
No parameter schema in public metadata yet.
zenoti-invoices-confirm-visitConfirm (or undo-confirm) the visit — a scheduling status, despite living on the invoice
Confirm (or undo-confirm) the visit — a scheduling status, despite living on the invoice
No parameter schema in public metadata yet.
zenoti-reports-salesWhat was sold over a date range
What was sold over a date range
No parameter schema in public metadata yet.
zenoti-reports-collectionsMoney received over a date range
Money received over a date range
No parameter schema in public metadata yet.
zenoti-forms-listForms and submitted form data of an appointment
Forms and submitted form data of an appointment
No parameter schema in public metadata yet.
zenoti-forms-getForms and submitted form data of an appointment
Forms and submitted form data of an appointment
No parameter schema in public metadata yet.
zenoti-guest-forms-listForms on a guest profile
Forms on a guest profile
No parameter schema in public metadata yet.
zenoti-feedback-submitInsert externally collected guest feedback
Insert externally collected guest feedback
No parameter schema in public metadata yet.
Sponsors
Configuration
ZENOTI_API_KEY*secretZenoti API key from Admin → Settings → Apps (backend app)
ZENOTI_API_URLZenoti API base URL (default https://api.zenoti.com)
ZENOTI_CENTER_IDDefault center GUID used when tools omit center_id (recommended)
Readme
Zenoti MCP Server
A Model Context Protocol (MCP) server for the Zenoti spa/wellness/medspa management platform. Exposes appointments, guests, service booking, invoices, catalog, and forms as tools an AI agent can call.
Hosted version available
Do not want to manage credentials, hosting, and updates yourself? DOCK is the managed version of this server: encrypted per-practice auth, audit logs, draft-first write actions, and a workflow library. Founding practices lock lifetime pricing: Front Desk $49/mo (Zenoti), Billing Desk $99/mo (Tebra, BAA included), Full Practice $129/mo (both). https://dockhq.vercel.app
Installation
npm install -g zenoti-mcp-server
Or run from source:
git clone https://github.com/tacit-code/zenoti-mcp-server.git
cd zenoti-mcp-server
npm install
npm run build
Configuration
Details
- Repository
- github.com/tacit-code/zenoti-mcp-server
- Package
zenoti-mcp-server- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active