MCP ServerWorks with Claude

Run the front desk from your AI assistant.

Connect Zdrovia to Claude and ask it what you'd ask your office manager. Find a slot, book it, move it, see how yesterday went, check what's running low. Every change shows you a preview first, and your charts never leave Zdrovia.

Staff tools come with the Small Practice and Team Practice plans. Patient booking is free for every clinic.

Zdrovia connected
Can you fit Maya Brooks in for a Botox touch-up with Dr. Patel next week? Afternoons only.
get_clinic_contextsearch_patientsfind_available_slotsbook_appointment
Dr. Patel's earliest afternoon opening is Tuesday Oct 6 at 2:30 PM (30 min, Treatment Room 2). Here's the booking before I save it:
Preview · not saved yetNo conflicts
Patient
Maya Brooks · b. 1988
Service
Botox touch-up · $180.00
With
Dr. Anika Patel · Room 2
When
Tue Oct 6, 2:30–3:00 PM
Shall I book it?
Yes, book it
36 tools
calendar, money, inventory
Preview first
no write without your yes
Charts stay put
clinical data is never exposed
Booking is free
public server, every plan
Just ask

The questions you'd normally click through five screens to answer

"How did yesterday go?"
"Who's Dr. Patel seeing Thursday?"
"Find the next 60-minute facial slot with Sam, mornings"
"Move Maya's 3pm to the same time next week"
"What's running low, and what expires this month?"
"Who owes us money past 30 days?"
"Put Leo on the waitlist for laser, Fridays only"
"Block off Priya's vacation Oct 12 to 16"
Reporting

Yesterday's numbers in one sentence

Ask how the day went and get appointments by status, invoiced against collected, new unpaid invoices, and new reviews, in one answer. Dates like "yesterday" and "last month" are worked out on our side in your clinic's timezone, so the assistant can't get midnight wrong.

  • Revenue invoiced by issue date, or collected by payment date
  • Group by day, practitioner, service, or payment source
  • Tax, tips, and voids broken out, with the previous period for comparison
  • Receivables aging at 0 to 30, 31 to 60, and 60+ days
  • Practitioner schedules, waitlist, and review summaries
get_daily_summary
"How did yesterday go?"
Mon Sep 28 · resolved in your clinic's timezone
Appointments28 booked
Completed 23No-show 2Cancelled 3
Invoiced
$6,420
+12% vs. prior Mon
Collected
$5,985
cards, cash, gift cards
New unpaid
3 invoices
$435 outstanding
New reviews
4 · ★ 4.8
one 3-star to read
Patients appear as counts only. No names, no charts.
cancel_appointmentPreview
AppointmentLaser, full legs · Thu 10:00 AM
PatientJ. Okafor
Deposit held$75.00
Late-cancel fee$50.00 · won't charge unless asked
Waitlist2 people will be notified
Nothing has changed. Send back confirm: true to apply.
Cancelled, no fee charged
Patient emailed · waitlist notified
Preview, then confirm

It shows you the change. You say yes. Then it happens.

Every tool that changes something runs twice. The first call only looks: it resolves names, checks the slot is still free, and lists any conflicts, fees, or messages that would go out. Nothing is saved until you've seen that preview and the assistant calls again with your go-ahead.

  • Bookings are checked against real availability, leave, and breaks before they're offered
  • Cancellation fees default to off. Charging one has to be asked for
  • Time off lists the appointments it would collide with
  • The same side effects as the app: reminder emails, waitlist alerts, invoices on completion
  • Tools that send a patient a message say so in the preview
What it can do

36 tools for running the clinic

Read tools answer questions and change nothing. Scheduling and inventory tools make changes, and every one of them previews before it writes.

Clinic & calendar

Read

Hours, rooms, staff, services, the day's calendar, anyone's schedule, and the earliest real openings for a service.

get_clinic_contextsearch_patientslist_stafflist_serviceslist_roomsget_calendarget_appointmentfind_available_slotsget_staff_schedulelist_waitlist

Scheduling

Writes

Book, rebook, and cancel. Check in, complete, no-show. Waitlist offers, time off, and breaks. Every one previews first.

book_appointmentbook_recurring_appointmentreschedule_appointmentcancel_appointmentcheck_in_appointmentcomplete_appointmentmark_no_showadd_to_waitlistoffer_waitlist_slotconvert_waitlist_to_bookingadd_staff_time_offadd_staff_break

Money & reviews

Read

Revenue invoiced or collected, grouped by day, staff, service, or payment source. Unpaid invoices, receivables aging, and your reviews.

get_daily_summaryget_revenue_summarylist_invoicesget_outstanding_balancesget_reviews_summary

Inventory & fulfillment

Writes

Stock by lot, low-stock and expiry reports, receiving deliveries, waste and adjustments, quarantine, and the pickup queue.

search_productsget_stock_levelsget_low_stock_reportlist_expiring_lotsreceive_stockadjust_stockquarantine_lotlist_fulfillment_queueupdate_fulfillment_status
What it never touches

Operations in. Clinical data out.

The line isn't a setting you have to remember to switch on. Those parts of Zdrovia simply have no tools, so there's nothing for an assistant to call, however it's asked.

Every tool runs as the signed-in staff member, inside their own clinic, and checks that each id it's given belongs to that clinic. Patient portal accounts can't use it at all.

Charts and notes

Journals, Smart Blocks, templates, graphs, and outcome dashboards.

Forms and files

Intake forms, submissions, uploads, photos, and attachments.

The patient record

Only identity lookups: name, date of birth, masked contact. No history, no treatments, no insurance.

Messages

Your patient conversations stay in Zdrovia.

Moving money

No card charges, no refunds, no Stripe. An assistant can read revenue. It can't take or give any.

Creating patients

Write tools take a patient id. They never guess who you meant from a name.

For your patients

Be bookable from your patients' assistants, free

There's a second, public server with no staff tools on it at all, and it's open to every clinic on Zdrovia, Solo plan included. Anyone's assistant can search the Zdrovia directory, read your services and hours, find an open time, and book it. No account, no sign-in, no setup on your side. It sees only what your public booking page already shows.

  • Offers the same open times your booking page does, checked the same way
  • Booking needs a six-digit code emailed to the patient, so nobody books in someone else's name
  • Codes expire in ten minutes, work once, and never sign anyone in
  • Services that take a deposit hand the patient your booking page to pay by card
  • Rate limited per email, per caller, and per clinic
A patient's assistant, start to finishEvery plan
  1. 1
    search_clinics
    "Laser hair removal near Kitchener"
  2. 2
    get_clinic
    Hours, services, prices, practitioners
  3. 3
    find_available_times
    Open times for one service over two weeks
  4. 4
    request_booking
    Holds the time and emails the patient a code
  5. 5
    confirm_booking
    The patient reads back the code. Booked.
Public server URL
https://api.zdrovia.ca/public/mcp
Small Practice & Team Practice

One URL, one sign-in.

https://api.zdrovia.ca/mcp
1

Add Zdrovia as a connector

In Claude, or any assistant that supports remote MCP servers, add a custom connector and paste the Zdrovia server URL.

2

Sign in with your staff account

You're sent to Zdrovia to sign in and approve access. The assistant gets a token for you and your clinic. It never sees your password.

3

Ask in plain language

Start with anything on the calendar. The assistant pulls your clinic's timezone first, so "tomorrow at 3" means your tomorrow.

The staff server needs a Small Practice or Team Practice plan. The public booking server is free on every plan, Solo included, and patients never need an account.