Skip to main content
Glama

Confirm a Booking with the SMS Code

confirm_booking
DestructiveIdempotent

Use this after the customer supplies the six-digit SMS code from request_booking. It can create customer and job records or an office-review lead, notify the office, and send transactional customer or referral-status texts. Only status:confirmed with booked:true means the visit is scheduled. status:callback_pending with booked:false means the office must follow up and must never be described as an appointment. Replaying the same valid confirmation is safe and returns the stored result.

Input Schema

NameRequiredDescriptionDefault
codeYesThe 6-digit code the customer received by SMS after request_booking. Ask the customer for it; never guess or reuse a customer_lookup code.
booking_idYesThe booking_id (UUID) returned by request_booking for this pending booking.

Output Schema

NameRequiredDescriptionDefault
bookedYes
statusYes
messageYes
successYes
replayedNo
timezoneNo
next_stepYes
error_codeNo
needs_manualYes
service_cityNo
customer_nameNo
scheduled_endNo
business_phoneYes
review_sandboxNo
scheduled_startNo
location_summaryNo
attempts_remainingNo
business_phone_hrefYes
confirmation_numberNo
service_descriptionNo
formatted_arrival_windowNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / booking_id / description
      Added value: +"The booking_id (UUID) returned by request_booking for this pending booking."
    • addedInput schema / properties / code / description
      Added value: +"The 6-digit code the customer received by SMS after request_booking. Ask the customer for it; never guess or reuse a customer_lookup code."
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations declare readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=true; the description adds substantial context beyond that: it creates customer/job records or an office-review lead, notifies the office, sends transactional and referral-status texts, and states that replaying a valid confirmation is safe (consistent with idempotentHint). It also defines what status:confirmed/booked:true and status:callback_pending/booked:false mean operationally, which no annotation conveys.

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 trigger condition ('Use this after...') before the behavioral and status semantics, and every sentence carries distinct information. It is dense but not redundant, though the status semantics could be marginally tightened.

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

Completeness5/5

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

For a confirmation tool with an output schema, the description covers side effects, idempotency behavior, and the two outcome statuses an agent must interpret correctly. Nothing essential for correct invocation or interpretation of results is missing.

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 100%, with both booking_id and code fully documented including their format and origin, so the baseline is 3. The description adds no additional parameter syntax or constraint detail beyond what the schema already provides.

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+resource ('Confirm a Booking') and immediately ties it to the six-digit SMS code produced by request_booking. An agent can distinguish it from request_booking, request_callback, and customer_lookup without opening any schema.

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?

Explicitly gates usage on the customer supplying the six-digit SMS code from request_booking, and distinguishes this code from a customer_lookup code in the schema. It does not name explicit when-not conditions or alternative siblings, but the prerequisite and status-driven follow-up rules give clear operational guidance.

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