Xona Dental Gateway
Find Canadian dentists; send an appointment request or book with a connected practice.
| Endpoint | https://book.xonark.com/mcp (streamable-http) |
|---|---|
| Registry version | 1.1.0 |
| Now | 20 tools · grade C (77) · pin ts_cd579730543627146cbdc4088536ca5e · protocol 2025-06-18 |
| First / last listed | 2026-10-25 07:32 UTC / 2026-10-25 07:32 UTC |
| Grade over time | 2026-10-25: C (77), 20 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: search_canadian_dentists get_canadian_dental_practice answer_dental_practice_question list_dental_practice_actions prepare_dental_practice_action get_dental_action_status list_public_booking_services list_public_booking_slots choose_public_booking_time start_dental_request confirm_dental_request list_xona_booking_services list_xona_booking_slots hold_xona_booking_slot confirm_xona_booking abandon_xona_booking start_xona_appointment_access list_xona_appointments list_xona_reschedule_times change_xona_appointment
search_canadian_dentists | Search evidence-backed public profiles in the Canadian dental directory by name or place, and filter by a service, a language, published weekend or evening hours, a booking route you can use now, and a payment plan the clinic says it accepts (the Canadian Dental Care Plan). Each row says which published fact matched and when it was read. A search with order=soonest, the patient's postal code or ci params: booking, coverage, language, limit, locality, open, order, page, postal_code, province, query, service |
get_canadian_dental_practice | Get one public dental practice profile, fact evidence, citations, and current public actions. params: practice_slug* |
answer_dental_practice_question | Answer a bounded factual question from the selected practices' evidence. Unknown is returned explicitly; missing data is never inferred as no. params: practice_slugs*, topic* |
list_dental_practice_actions | List current public booking, request, form, call, and website actions for a dental practice in preference order. params: practice_slug* |
prepare_dental_practice_action | Creates a short-lived action for one capability the clinic's action options list (its scheduler page, a Xona request, a request form, a call or its website) and returns the URL of the page for it. A capability the clinic does not list is refused. A connected practice's time from list_xona_booking_slots is held with hold_xona_booking_slot, not through this tool. params: capability*, practice_slug* |
get_dental_action_status | Read the exact outcome of an expiring dental action. Handoff, request, and confirmed booking outcomes remain distinct. params: action_id* |
list_public_booking_services | Read the services a clinic's own online scheduler offers, by practice_slug: a clinic whose search row is live_schedule, or whose action option has reads_times. The answer carries booking_url, the page where the patient books this clinic; a clinic whose scheduler can't be read answers readable false with that booking_url. An answer may be up to 5 minutes old: read_at says when the clinic's schedule params: fresh, practice_slug* |
list_public_booking_slots | Read open times from a clinic's own online scheduler, by practice_slug, for one service_id between date_from and date_to (the clinic's dates, both included, at most 14 days). Each time carries starts_at, start_local (the time at the clinic), time_zone and booking_url, the page where the patient books that time (Xona's page on that service and day where Xona books the clinic's scheduler, else the c params: date_from*, date_to*, fresh, practice_slug*, preferred_time, service_id* |
choose_public_booking_time | For a public_provider_booking action: keeps one time from list_public_booking_slots (or a soonest search row's earliest) and returns continue_url, Xona's page where the patient enters their own details and presses Book. Xona then books that time in the clinic's own scheduler. It takes the action and the time (service_id, slot_id, starts_at) only, reads that time again and keeps it only if it is st params: action_id*, service_id*, slot_id*, starts_at* |
start_dental_request | Start an appointment request for Xona to send to the selected clinic (by email, or through the clinic's own website form). It takes the patient's details and preferred times. Xona emails the patient a link that shows the exact request; the request goes to the clinic only when the patient presses "Send this request" there, or enters the email's code on continue_url. The result carries consent_text params: note, patient_email*, patient_name*, patient_phone, practice_slug*, preferred_window*, service_category* |
confirm_dental_request | Report a started request's status. It never sends: waiting_for_patient until the patient presses "Send this request" on Xona's page, then the stored result: sent, delivery unknown or failed, expired, or stopped by the patient. A sent request is never a confirmed booking. params: action_id* |
list_xona_booking_services | List the services a practice that connected its schedule to Xona books online. Use it where list_dental_practice_actions marks the Xona booking route as completes_in_conversation. params: practice_slug* |
list_xona_booking_slots | List open times at a connected practice for one service between date_from and date_to (inclusive, at most 8 weeks out). Returns the closest ten to preferred_time (else a balanced spread) plus the earliest open time, with a reason when empty. Each slot has a slot_fingerprint and date for hold_xona_booking_slot. params: date_from*, date_to*, doctor_id, practice_slug*, preferred_time, service_id* |
hold_xona_booking_slot | Hold one open time and text the patient a link to it. The page the link opens shows the time and the details above a Book this appointment button. When the patient presses it the appointment is booked, or, at a practice that confirms bookings itself, sent to the practice as a request. params: date*, date_of_birth*, first_name*, guardian_name, last_name*, note, patient_phone*, practice_slug*, service_id*, slot_fingerprint* |
confirm_xona_booking | Get the result once the patient has tapped the text link and pressed Book this appointment. Until then it returns waiting_for_patient. Xona finds an existing patient itself; when it cannot tell, it returns the practice's booking page instead of guessing. If the booking stopped before it was written, the first call tries it once more. Calling again returns the same outcome. params: action_id* |
abandon_xona_booking | Release the held time and drop the patient's details when the patient no longer wants it, at any step before it is booked. It never cancels a booked appointment. Calling again returns the same result. params: action_id* |
start_xona_appointment_access | Text a patient one link to see, move or cancel the appointments they already have at a practice connected to Xona, for a conversation with no booking action_id that still works. If the mobile number, name and date of birth match a patient there, Xona texts them the link; after they tap it and press Show my appointments, list_xona_appointments reads their appointments. The answer is the same whethe params: date_of_birth*, first_name*, last_name*, patient_phone*, practice_slug* |
list_xona_appointments | Read the named patient's upcoming appointments at the practice, live from its schedule, after the patient tapped the text link. Works with the action_id of a booking made in this conversation (for 30 minutes after the tap, and for that appointment until its day) or of start_xona_appointment_access. Before the tap it says it is still waiting. params: action_id* |
list_xona_reschedule_times | List open times one of the patient's appointments can move to, for its own service and provider, between date_from and date_to. appointment_ref comes from list_xona_appointments. params: action_id*, appointment_ref*, date_from*, date_to* |
change_xona_appointment | Move or cancel one of the patient's appointments. Xona texts the patient a link to a page that shows the exact change. When they press its button (or type the code from the text on book.xonark.com/code) the practice's schedule changes, or, at a practice that confirms changes itself, the practice receives the request. Calling again with the same arguments returns the result, read live from the prac params: action_id*, appointment_ref*, date, kind*, slot_fingerprint |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.