Skip to main content
Glama

Waitwhile MCP by usefulapi

Add a customer to the waitlist or create a booking

waitwhile_create_visit
Destructive

WRITE: create ONE visit at a location. Without a date it adds the customer to the waitlist; with a local date-time (YYYY-MM-DDThh:mm) it creates a booking. Needs a location and at least a name, phone or e-mail. Not idempotent: calling it twice creates two visits. Visit notes are not supported here (the field is deprecated): use waitwhile_add_customer_note. By default the request asks Waitwhile to suppress the customer message; this may only stop the immediate confirmation, and scheduled reminders/follow-ups can still go out per the location's settings. With send_notifications=true Waitwhile may text/e-mail this ONE customer. POST /visits.

Input Schema

NameRequiredDescriptionDefault
dateNoBooking start in the location's local time, YYYY-MM-DDThh:mm. Omit to join the waitlist.
nameNoCustomer name.
emailNoCustomer e-mail.
phoneNoCustomer phone, E.164 (+16005551234).
durationNoBooking duration in seconds.
last_nameNo
first_nameNo
party_sizeNo
location_idYesLocation id (see waitwhile_list_locations).
service_idsNoServices the customer wants.
resource_idsNoPreferred resources (staff, rooms).
send_notificationsNoDefault false: the request asks Waitwhile not to send the immediate confirmation/status message. This may not stop everything: scheduled reminders and follow-ups can still go out according to the location's own settings. Set true to let Waitwhile send its normal messages to the customer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare idempotentHint=false and destructiveHint=true, but the description adds real value beyond them: the concrete consequence ('calling it twice creates two visits'), the notification caveat that suppression may only stop the immediate message while scheduled reminders still fire, and the requirement of at least a name/phone/e-mail. It doesn't describe the response shape, but with openWorldHint and destructiveHint already covering safety, this is strong supplemental context.

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-loaded with the 'WRITE:' marker and the core create semantics, and every sentence carries information. It is slightly long, and the notification-suppression caveat is stated twice (description and the send_notifications schema field), which is mild redundancy rather than padding.

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?

For a 12-parameter mutation with no output schema, the description covers the conditional branches, the required-field reality, the non-idempotency consequence, and notification behavior. It could say more about what the created visit returns or about service_ids/resource_ids interplay, but nothing essential to a correct call is missing.

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

Parameters4/5

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

At 75% schema coverage the schema carries most parameter detail, but the description adds one thing the schema omits: although only location_id is required, practically 'at least a name, phone or e-mail' is needed. The date format (YYYY-MM-DDThh:mm) and the send_notifications flag nuance are also reinforced in prose.

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?

Opens with 'WRITE: create ONE visit at a location' — a specific verb and resource — then splits the two behaviors (waitlist vs booking) by presence of a date. This cleanly distinguishes it from siblings like waitwhile_update_visit, waitwhile_cancel_visit, and waitwhile_add_customer_note.

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

Usage Guidelines5/5

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

Explicitly states the two mutually exclusive modes ('Without a date it adds the customer to the waitlist; with a local date-time it creates a booking') and routes the excluded case to the correct alternative ('Visit notes are not supported here... use waitwhile_add_customer_note'). It also warns that repeated calls create duplicates, which is actionable 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.