tacit-code avatar

Zenoti

tacit-code/zenoti-mcp-server

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 tools

Public 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*secret

Zenoti API key from Admin → Settings → Apps (backend app)

ZENOTI_API_URL

Zenoti API base URL (default https://api.zenoti.com)

ZENOTI_CENTER_ID

Default 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


View the full README on GitHub

Details

Repository
github.com/tacit-code/zenoti-mcp-server
Package
zenoti-mcp-server
Transport
STDIO
Auth
Required
Registry
MCP registry, active