Zenoti MCP server
com.jamesrosingmd/zenoti·v1.1.0MCP server for Zenoti spa/wellness/medspa — guests, appointments, bookings, invoices
0 stars37 downloads/wk
Reviews
Write oneNobody has reviewed Zenoti yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Zenoti tools (37, 8 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
zenoti-appointments-cancelwrite actionCancel a service booking. Zenoti cancels by INVOICE id (each confirmed booking has
zenoti-appointments-checkinMark a guest as arrived/checked in. Requires the appointment GROUP id
zenoti-appointments-getRetrieve full details of one appointment by its appointment_id (not group id).
zenoti-appointments-listList appointments of a center for a date range. Returns compact rows by default
zenoti-appointments-noshowMark an appointment as no-show. Requires the appointment GROUP id.
zenoti-appointments-progresswrite actionUpdate service progress for one appointment (start / open / complete). Uses the
zenoti-appointments-rescheduleStart rescheduling an existing booking to a new date: creates a reschedule booking
zenoti-appointments-undo-checkinRevert a checked-in appointment to its prior status. Requires the appointment GROUP id.
zenoti-availability-slotsFind open appointment slots for a service on a date. Creates a Zenoti booking draft
zenoti-booking-confirmConfirm a reserved booking. This finalizes the appointment and creates the invoice
zenoti-booking-reserveHold a specific slot on a booking draft (from zenoti-availability-slots). slot_time
zenoti-centers-listList all centers (locations) of the organization. Use this to find the center GUID
zenoti-employee-schedulesWork schedules of center employees for a date range — who is on shift when. Use this
zenoti-feedback-submitwrite actionInsert guest feedback collected outside Zenoti (e.g. a survey tool) for an
zenoti-forms-getRetrieve submitted form data for an appointment. Uploaded files, signatures, and
zenoti-forms-listList the forms attached to an appointment (uses appointment_id, not group id).
zenoti-guest-forms-listList forms on a guest profile (intake/consent forms not tied to one appointment).
zenoti-guests-appointmentsAppointment history (and upcoming appointments) for one guest, paginated.
zenoti-guests-createwrite actionCreate a new guest profile in a center. Provide at least an email or mobile number
zenoti-guests-getRetrieve a guest profile by guest GUID.
zenoti-guests-membershipsA guest's memberships (status, credits, dues).
zenoti-guests-notes-addAdd a note to a guest profile.
zenoti-guests-notes-listList notes on a guest profile (clinical notes, profile alerts). Set
zenoti-guests-packagesA guest's purchased packages/series (e.g. a 6-session laser course) with remaining
zenoti-guests-searchSearch guests by any combination of name, email, phone, username, code, zip, or tags.
zenoti-guests-updatewrite actionUpdate fields on a guest profile. Fetches the current profile first and merges your
zenoti-invoices-closeClose an invoice. Zenoti only allows closing after the balance is zero (fully paid).
zenoti-invoices-confirm-visitMark an appointment visit as confirmed (or undo that) using the booking's invoice id.
zenoti-invoices-emailwrite actionEmail the invoice (receipt/confirmation) to the guest's email on file.
zenoti-invoices-getRetrieve an invoice with its line items and payments. invoice_item_id values from
zenoti-invoices-pay-cardwrite actionCharge the guest's saved card for an invoice via Zenoti online payments. FINANCIAL
zenoti-invoices-pay-customwrite actionRecord a payment on an invoice using a custom payment method — this is also how
zenoti-reports-collectionsCollections (money received) report for a center over a date range of at most 7
zenoti-reports-salesSales report for a center over a date range of at most 7 days (what was sold:
zenoti-services-getFull details of one service at a center (pricing, duration, add-ons).
zenoti-services-listList services offered by a center, paginated (size max 100). Returns compact rows
zenoti-therapists-listList therapists of a center. Pass service_id to list only therapists qualified to
Public scan report
scanner v0.1.9 · 2026-09-23 · same rubric, same numbers if you re-run it
- Code scan12 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 47 days ago12/15
- Maintainer identitynamespace and repository owner differ; GitHub account older than a year6/10
How Zenoti compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 75/100
- higher than 45% of 48,255 servers
- Tools
- 37
- the typical server has 7
- Tools that change things
- 22%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 37
- more than 28% of 12,191 servers with a package
What its tools let an agent do: 29 read · 8 change
Install Zenoti in Claude Code, Cursor or VS Code
Runs npx -y zenoti-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add zenoti -- npx -y zenoti-mcp-server
What the publisher says
From the Zenoti repository's README, as published. We do not edit it. Read it on GitHub
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-serverOr run from source:
git clone https://github.com/tacit-code/zenoti-mcp-server.git
cd zenoti-mcp-server
npm install
npm run buildConfiguration
Claude Desktop / Claude Code config:
{
"mcpServers": {
"zenoti": {
"command": "npx",
"args": ["-y", "zenoti-mcp-server"],
"env": {
"ZENOTI_API_KEY": "your_api_key",
"ZENOTI_CENTER_ID": "your_center_guid"
}
}
}
}The server starts even without credentials and returns a readable configuration error on each tool call, so a misconfigured client shows the problem instead of crash-looping.
Tools
Catalog
Guests
Appointments
Booking flow
- zenoti-availability-slots — creates a booking draft for guest+service+date and returns booking_id plus open slots
- zenoti-booking-reserve — hold a chosen slot (holds are short-lived)
- zenoti-booking-confirm — finalize; the response includes the invoice
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Zenoti: common questions
- Is Zenoti MCP server safe?
- Mostly: it is graded B (75/100). Read the Zenoti safety report
- How do I install Zenoti?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Zenoti need an API key?
- Yes. The registry entry asks for
ZENOTI_API_KEY. - Is Zenoti maintained?
- The last commit was 89 days ago (2026-08-07). The latest release is v1.1.0.
- How does Zenoti compare with other MCP servers?
- safety score 75/100 (higher than 45% of 48,255 servers); tools 37 (the typical server has 7); tools that change things 22% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.