Skip to main content
Glama

Xona Dental Gateway

Search Canadian dentists

search_canadian_dentists
Read-onlyIdempotent

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 city and the service returns live rows that already carry each clinic's earliest time, its services and booking_url, the page where the patient books that time; opening it starts the booking there, with no call in the conversation. The tool a row's next_step names reads more times. No login or clinic membership is required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
openNoPublished hours: open that day, or closing at/after 18:00 on some day
pageNoPage of results, from 1; each page holds limit rows
limitNo
orderNoroute (default) orders by booking route; soonest orders one place's practices by when they can be seen, and needs that place: its locality (and province when the name is in more than one), or a postal_code such as M5V or M5V 1B3. Practices whose live schedule Xona reads come first, each page's read now and ordered by their earliest open time for the search's service (cleaning, exam or emergency; cleaning when none is given), then open now, then by when each opens by its own website's hours. Each row then carries when: state (live_schedule, open_now, opens_today, opens_later, unknown), text, time_zone and, for live_schedule, next_step naming the tools that read more times. Every row carries booking_url, the page where the patient books that clinic. A live row the search read also carries earliest (the time, its service_id, start_local, the id that books it and its own booking_url; [] when none in the next 7 days), services (the clinic's own list) and read (outcome time, none or not_read). live_unread counts the live clinics on later pages. Opening hours are not appointment times.
queryNo
bookingNoA route the agent can use now: the clinic's online booking page, its request form, an appointment request Xona delivers, a phone number, or any of these
serviceNoA service the clinic's own site lists: cleaning, implants, invisalign, emergency, kids, root canal, whitening …
coverageNoA payment plan the clinic says it accepts, on its own website or in a correction its owner made: cdcp is the Canadian Dental Care Plan. Each row quotes the clinic's own words and the day they were read
languageNoA language the clinic's own site lists
localityNo
provinceNo
postal_codeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYes
resultsYes
next_stepNo
projectionNo
live_unreadNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / order / description
      Previous value: -"route (default) orders by booking route; soonest orders one place's practices by when they can be seen, and needs that place: its locality (and province when the name is in more than one), or a postal_code such as M5V or M5V 1B3. Practices whose live schedule Xona reads come first, each page's read now and ordered by their earliest open time for the search's service (cleaning, exam or emergency; cleaning when none is given), then open now, then by when each opens by its own website's hours. Each row then carries when: state (live_schedule, open_now, opens_today, opens_later, unknown), text, time_zone and, for live_schedule, next_step naming the tools that read more times and book one. A live row the search read also carries earliest (the time, its service_id, start_local and the id that books it; [] when none in the next 7 days), services (the clinic's own list) and read (outcome time, none or not_read). live_unread counts the live clinics on later pages. Opening hours are not appointment times."New value: +"route (default) orders by booking route; soonest orders one place's practices by when they can be seen, and needs that place: its locality (and province when the name is in more than one), or a postal_code such as M5V or M5V 1B3. Practices whose live schedule Xona reads come first, each page's read now and ordered by their earliest open time for the search's service (cleaning, exam or emergency; cleaning when none is given), then open now, then by when each opens by its own website's hours. Each row then carries when: state (live_schedule, open_now, opens_today, opens_later, unknown), text, time_zone and, for live_schedule, next_step naming the tools that read more times. Every row carries booking_url, the page where the patient books that clinic. A live row the search read also carries earliest (the time, its service_id, start_local, the id that books it and its own booking_url; [] when none in the next 7 days), services (the clinic's own list) and read (outcome time, none or not_read). live_unread counts the live clinics on later pages. Opening hours are not appointment times."
  2. Changed4 schema fields changed
    • changedInput schema / properties / order / description
      Previous value: -"route (default) orders by booking route; soonest orders one place's practices by when they can be seen, and needs that place: its locality and province, or a postal_code forward sortation area such as M5V: practices whose live schedule Xona reads first, then open now, then by when each opens by its own website's hours. Each row then carries when: state (live_schedule, open_now, opens_today, opens_later, unknown), text, time_zone and, for live_schedule, next_step naming the tools that give real times. Opening hours are not appointment times."New value: +"route (default) orders by booking route; soonest orders one place's practices by when they can be seen, and needs that place: its locality (and province when the name is in more than one), or a postal_code such as M5V or M5V 1B3. Practices whose live schedule Xona reads come first, each page's read now and ordered by their earliest open time for the search's service (cleaning, exam or emergency; cleaning when none is given), then open now, then by when each opens by its own website's hours. Each row then carries when: state (live_schedule, open_now, opens_today, opens_later, unknown), text, time_zone and, for live_schedule, next_step naming the tools that read more times and book one. A live row the search read also carries earliest (the time, its service_id, start_local and the id that books it; [] when none in the next 7 days), services (the clinic's own list) and read (outcome time, none or not_read). live_unread counts the live clinics on later pages. Opening hours are not appointment times."
    • addedInput schema / properties / page
      Added value: +{
      +  "description": "Page of results, from 1; each page holds limit rows",
      +  "maximum": 200,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / live_unread
      Added value: +{
      +  "type": "integer"
      +}
    • addedOutput schema / properties / next_step
      Added value: +{
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / order / description
      Previous value: -"route (default) orders by booking route; soonest orders one place's practices by when they can be seen, and needs that place's locality and province: practices whose live schedule Xona reads first, then open now, then by when each opens by its own website's hours. Each row then carries when: state (live_schedule, open_now, opens_today, opens_later, unknown), text and time_zone. Opening hours are not appointment times; for a live_schedule practice, list_xona_booking_slots gives real times."New value: +"route (default) orders by booking route; soonest orders one place's practices by when they can be seen, and needs that place: its locality and province, or a postal_code forward sortation area such as M5V: practices whose live schedule Xona reads first, then open now, then by when each opens by its own website's hours. Each row then carries when: state (live_schedule, open_now, opens_today, opens_later, unknown), text, time_zone and, for live_schedule, next_step naming the tools that give real times. Opening hours are not appointment times."
  4. Changed2 schema fields changed
    • addedInput schema / properties / coverage
      Added value: +{
      +  "description": "A payment plan the clinic says it accepts, on its own website or in a correction its owner made: cdcp is the Canadian Dental Care Plan. Each row quotes the clinic's own words and the day they were read",
      +  "enum": [
      +    "cdcp"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / order
      Added value: +{
      +  "description": "route (default) orders by booking route; soonest orders one place's practices by when they can be seen, and needs that place's locality and province: practices whose live schedule Xona reads first, then open now, then by when each opens by its own website's hours. Each row then carries when: state (live_schedule, open_now, opens_today, opens_later, unknown), text and time_zone. Opening hours are not appointment times; for a live_schedule practice, list_xona_booking_slots gives real times.",
      +  "enum": [
      +    "route",
      +    "soonest"
      +  ],
      +  "type": "string"
      +}
  5. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources