Skip to main content
Glama

Xona Dental Gateway

Start a dental appointment request

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 and continue_url; confirm_dental_request reports the status. Use it where list_dental_practice_actions marks xona_email_appointment_request as completes_in_conversation.

Input Schema

NameRequiredDescriptionDefault
noteNo
patient_nameYesThe patient's name as they typed it
patient_emailYesThe patient's own email; the link to send the request goes there
patient_phoneNoThe patient's phone as they typed it; required when the clinic's website form needs one
practice_slugYes
preferred_windowYesWhen the patient is free, in their words
service_categoryYes

Output Schema

NameRequiredDescriptionDefault
actionYes
practiceYes
next_stepYes
consent_textYes
verificationYes
consent_versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / note
      Added value: +{
      +  "maxLength": 500,
      +  "type": "string"
      +}
    • changedInput schema / properties / patient_email / description
      Previous value: -"The patient's own email; the code goes there"New value: +"The patient's own email; the link to send the request goes there"
    • addedInput schema / properties / patient_phone
      Added value: +{
      +  "description": "The patient's phone as they typed it; required when the clinic's website form needs one",
      +  "maxLength": 32,
      +  "type": "string"
      +}
    • addedInput schema / properties / preferred_window
      Added value: +{
      +  "description": "When the patient is free, in their words",
      +  "maxLength": 160,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / service_category
      Added value: +{
      +  "enum": [
      +    "checkup_cleaning",
      +    "children",
      +    "cosmetic",
      +    "implants",
      +    "new_patient",
      +    "orthodontics",
      +    "other",
      +    "tooth_pain"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "practice_slug",
      -  "patient_name",
      -  "patient_email"
      -]New value: +[
      +  "practice_slug",
      +  "patient_name",
      +  "patient_email",
      +  "service_category",
      +  "preferred_window"
      +]
  2. First observed

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (readOnlyHint=false, idempotentHint=false): it discloses that nothing reaches the clinic until the patient presses "Send this request" or enters the email code on continue_url, that the response carries consent_text and continue_url, and that confirmation happens later. That two-phase consent flow is exactly the behavioral context an agent needs to avoid telling the patient the request was sent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose, then mechanism, then result/routing in four tight sentences. The consent_text/continue_url sentence is partly redundant with the output schema, but it anchors the flow explanation so it still earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values needn't be detailed, and annotations cover the mutation/safety profile. The description supplies the two-step consent model and the upstream condition, leaving only minor gaps such as what happens on failure or whether repeated calls create duplicate requests (idempotentHint=false).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 57%; the description only summarises "the patient's details and preferred times", while practice_slug, service_category, and note carry no extra meaning. Schema descriptions already explain patient_name, patient_email, patient_phone, and preferred_window, so the description adds little beyond the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — starting a dental appointment request that Xona forwards to a chosen clinic by email or web form — which is unambiguous against siblings like confirm_dental_request or start_xona_appointment_access. The channel detail further pins down what the tool actually produces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit activation condition: use it where list_dental_practice_actions marks xona_email_appointment_request as completes_in_conversation. It also routes status-checking to confirm_dental_request. What's missing is a when-not clause (e.g. what to do when the action is not marked completes_in_conversation).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources