Skip to main content
Glama

Xona Dental Gateway

Check a dental appointment request

confirm_dental_request
Read-onlyIdempotent

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.

Input Schema

NameRequiredDescriptionDefault
action_idYes

Output Schema

NameRequiredDescriptionDefault
actionYes
outcomeYes
next_stepYes
receipt_urlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • removedInput schema / properties / consent_version
      Removed value: -{
      -  "enum": [
      -    "gateway-2026-09-11"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / note
      Removed value: -{
      -  "maxLength": 500,
      -  "type": "string"
      -}
    • removedInput schema / properties / preferred_window
      Removed value: -{
      -  "description": "When the patient is free, in their words",
      -  "maxLength": 160,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / service_category
      Removed value: -{
      -  "enum": [
      -    "checkup_cleaning",
      -    "children",
      -    "cosmetic",
      -    "implants",
      -    "new_patient",
      -    "orthodontics",
      -    "other",
      -    "tooth_pain"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / verification_code
      Removed value: -{
      -  "pattern": "^[0-9]{6}$",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "action_id",
      -  "verification_code",
      -  "service_category",
      -  "preferred_window",
      -  "consent_version"
      -]New value: +[
      +  "action_id"
      +]
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds real behavioral value beyond that: it never sends anything, it enumerates the possible statuses, and it clarifies that 'sent' does not mean booked. It omits any note on authorization or error behavior.

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?

It is a single dense sentence that front-loads the purpose before the status enumeration. The colon-plus-quote construction ('It never sends: waiting_for_patient until the patient presses...') is slightly awkward to parse but every clause carries information.

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?

An output schema exists, so return values need no explanation, yet the description usefully explains the status semantics that an agent must interpret. With annotations covering the safety profile, the remaining gap is only the lack of routing versus get_dental_action_status.

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 0% for the single action_id parameter, so the schema contributes nothing. The description partially compensates by tying the parameter to a 'started request' (i.e., an id from start_dental_request), but it gives no format, length, or source detail.

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

Purpose4/5

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

The description states a specific verb and resource: 'Report a started request's status.' The closing caveat 'A sent request is never a confirmed booking' distinguishes it from confirm_xona_booking, so an agent can tell it apart from the confirmation sibling. It stops short of differentiating from get_dental_action_status, which appears to overlap.

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

Usage Guidelines3/5

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

The description implies usage ('a started request's status') and effectively rules out using it to confirm a booking, but it never states when to call this versus get_dental_action_status or confirm_xona_booking. No explicit when/when-not routing is provided.

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