Waitwhile MCP by usefulapi
Server Details
Read Waitwhile visits, bookings, customers, services and analytics; add, update and cancel visits.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Score is being calculated.
Available Tools
29 toolswaitwhile_add_customer_noteAdd a customer noteInspect
WRITE: add one staff note to a customer's record (optionally tied to a visit and location). Adds only; nothing is edited or sent to the customer. POST /customers/{customerId}/notes.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The note text. | |
| visit_id | No | ||
| customer_id | Yes | Customer id. | |
| location_id | No |
waitwhile_cancel_visitCancel a visitDestructiveIdempotentInspect
WRITE: cancel ONE visit (a waitlist entry or booking). Waitwhile sets its state to COMPLETE and adds the CANCELLED tag; the visit is kept, not deleted. By default the request asks Waitwhile to suppress the customer message; this may only stop the immediate cancellation notice, 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/{visitId}/cancel.
| Name | Required | Description | Default |
|---|---|---|---|
| visit_id | Yes | Visit id. | |
| send_notifications | No | Default 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. |
waitwhile_create_visitAdd a customer to the waitlist or create a bookingDestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Booking start in the location's local time, YYYY-MM-DDThh:mm. Omit to join the waitlist. | |
| name | No | Customer name. | |
| No | Customer e-mail. | ||
| phone | No | Customer phone, E.164 (+16005551234). | |
| duration | No | Booking duration in seconds. | |
| last_name | No | ||
| first_name | No | ||
| party_size | No | ||
| location_id | Yes | Location id (see waitwhile_list_locations). | |
| service_ids | No | Services the customer wants. | |
| resource_ids | No | Preferred resources (staff, rooms). | |
| send_notifications | No | Default 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. |
waitwhile_first_available_slotsFirst available booking slotsRead-onlyInspect
The first available booking slots of a location (optionally for a party size, services and resources) from a date. Use it to propose appointment times. GET /visits/first-available-slots.
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | No | Local end, YYYY-MM-DDThh:mm. | |
| from_date | No | Local start, YYYY-MM-DDThh:mm. | |
| party_size | No | ||
| location_id | Yes | Location id. | |
| service_ids | No | ||
| resource_ids | No | ||
| max_num_slots | No | Max number of slots to return. | |
| service_duration | No | Service duration in seconds. |
waitwhile_get_customerGet customerRead-onlyInspect
One customer by id: contact details, tags, per-location state and last visit. Contains personal data. GET /customers/{customerId}.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Customer id. |
waitwhile_get_data_fieldGet data fieldRead-onlyInspect
One data field by id. GET /data-fields/{dataFieldId}.
| Name | Required | Description | Default |
|---|---|---|---|
| data_field_id | Yes | Data field id. |
waitwhile_get_locationGet locationRead-onlyInspect
One location by id or short name (the part of its public Waitwhile URL). GET /locations/{shortNameOrId}.
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes | Location id or short name. |
waitwhile_get_location_statusGet location status (live waitlist)Read-onlyInspect
Live status of one location: open/closed, waiting and serving counts, estimated wait. GET /location-status/{locationId}.
| Name | Required | Description | Default |
|---|---|---|---|
| location_id | Yes | Location id. |
waitwhile_get_messageGet messageRead-onlyInspect
One message by id. Contains personal data. GET /messages/{messageId}.
| Name | Required | Description | Default |
|---|---|---|---|
| message_id | Yes | Message id. |
waitwhile_get_resourceGet resourceRead-onlyInspect
One resource by id. GET /resources/{resourceId}.
| Name | Required | Description | Default |
|---|---|---|---|
| resource_id | Yes | Resource id. |
waitwhile_get_serviceGet serviceRead-onlyInspect
One service by id. GET /services/{serviceId}.
| Name | Required | Description | Default |
|---|---|---|---|
| service_id | Yes | Service id. |
waitwhile_get_visitGet visitRead-onlyInspect
One visit (waitlist entry or booking) by id: customer, state, tags, services, resources, party size, position, estimated wait and all timestamps. GET /visits/{visitId}.
| Name | Required | Description | Default |
|---|---|---|---|
| visit_id | Yes | Visit id. |
waitwhile_list_audit_entriesList audit entriesRead-onlyInspect
The account's audit log: who changed what and when (visits, customers, locations, services, resources, users, messages). Filter by type, event, entity, location or date. GET /audit-entries.
| Name | Required | Description | Default |
|---|---|---|---|
| desc | No | Newest first. | |
| type | No | ||
| event | No | Audit event type. | |
| limit | No | Results per page, 1-100 (default 20). | |
| to_date | No | ISO 8601 date or date-time (e.g. 2026-10-01 or 2026-10-01T00:00:00Z). | |
| entity_id | No | Id of the changed object. | |
| from_date | No | ISO 8601 date or date-time (e.g. 2026-10-01 or 2026-10-01T00:00:00Z). | |
| location_id | No | ||
| start_after | No | Cursor: pass the previous reply's next_start_after to get the next page. |
waitwhile_list_booking_slotsList booking slotsRead-onlyInspect
Booking slots of a location for a date range with the free spots per resource and service, so you can see when an appointment can be booked. Dates are local to the location, YYYY-MM-DDThh:mm. GET /visits/availability.
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | No | Local end, YYYY-MM-DDThh:mm. | |
| from_date | No | Local start, YYYY-MM-DDThh:mm. | |
| location_id | Yes | Location id. | |
| service_ids | No | Only slots for these services. | |
| resource_ids | No | Only slots for these resources. | |
| show_min_spots | No | Only slots with at least this many free spots. | |
| service_duration | No | Service duration in seconds, to size the slots. |
waitwhile_list_customer_notesList customer notesRead-onlyInspect
The staff notes recorded on a customer (content, author, visit and location, timestamps). GET /customers/{customerId}/notes.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Customer id. |
waitwhile_list_customersList customersRead-onlyInspect
List customers (name, phone, e-mail, tags, last visit per location, created/updated). Cursor-paged, 20 per page by default; filter by location, external id or created/updated date. Contains personal data. GET /customers.
| Name | Required | Description | Default |
|---|---|---|---|
| desc | No | Newest first. | |
| limit | No | Results per page, 1-100 (default 20). | |
| to_date | No | ISO 8601 date or date-time (e.g. 2026-10-01T00:00:00Z), or epoch milliseconds. | |
| from_date | No | ISO 8601 date or date-time (e.g. 2026-10-01T00:00:00Z), or epoch milliseconds. | |
| external_id | No | ||
| location_id | No | Only customers with visits at this location. | |
| start_after | No | Cursor: pass the previous reply's next_start_after to get the next page. |
waitwhile_list_data_fieldsList data fields (intake form fields)Read-onlyInspect
List the custom data fields (intake/booking form questions) with type, options and where they apply. Use the ids to read answers on visits. GET /data-fields.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Prefix match on name or display name. | |
| limit | No | Results per page, 1-100 (default 20). | |
| external_id | No | ||
| location_id | No | Only items offered at these locations. | |
| start_after | No | Cursor: pass the previous reply's next_start_after to get the next page. |
waitwhile_list_locationsList locationsRead-onlyInspect
List the account's locations (businesses/sites): id, name, short name, address, time zone, opening hours and waitlist/booking settings. Use the ids to filter visits, services and resources. GET /locations.
| Name | Required | Description | Default |
|---|---|---|---|
| desc | No | Newest first. | |
| limit | No | Results per page, 1-100 (default 20). | |
| external_id | No | Only the location with this external id. | |
| start_after | No | Cursor: pass the previous reply's next_start_after to get the next page. | |
| country_code | No | Two-letter country code. |
waitwhile_list_location_statusList location status (live waitlist)Read-onlyInspect
Live status of every location: open/closed, number of people waiting and being served, current estimated wait time, and booking counters. GET /location-status.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page, 1-100 (default 20). | |
| start_after | No | Cursor: pass the previous reply's next_start_after to get the next page. |
waitwhile_list_messagesList messagesRead-onlyInspect
List the SMS/e-mail messages Waitwhile sent to and received from customers: channel, recipient, body, delivery state (PENDING, BLOCKED, FAILED, DELIVERED, UNCONFIRMED, RECEIVED) and error. Filter by location, visit, customer, state or date. Contains personal data. This only reads; it cannot send. GET /messages.
| Name | Required | Description | Default |
|---|---|---|---|
| desc | No | Newest first. | |
| limit | No | Results per page, 1-100 (default 20). | |
| state | No | ||
| to_date | No | ISO 8601 date or date-time (e.g. 2026-10-01T00:00:00Z), or epoch milliseconds. | |
| visit_id | No | ||
| from_date | No | ISO 8601 date or date-time (e.g. 2026-10-01T00:00:00Z), or epoch milliseconds. | |
| customer_id | No | ||
| location_id | No | ||
| start_after | No | Cursor: pass the previous reply's next_start_after to get the next page. | |
| external_customer_id | No |
waitwhile_list_resourcesList resources (staff, rooms, tables)Read-onlyInspect
List resources — the people, rooms, tables or equipment that serve customers: name, locations, services, availability flag and category structure. GET /resources.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Prefix match on name or display name. | |
| No | Only the resource with this e-mail. | ||
| limit | No | Results per page, 1-100 (default 20). | |
| parent_id | No | Only children of this category. | |
| external_id | No | ||
| is_category | No | Only resource categories (true) or only resources (false). | |
| location_id | No | Only items offered at these locations. | |
| start_after | No | Cursor: pass the previous reply's next_start_after to get the next page. |
waitwhile_list_servicesList servicesRead-onlyInspect
List services (what customers book or queue for): name, duration, price, locations, resources and category structure. GET /services.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Prefix match on name or display name. | |
| limit | No | Results per page, 1-100 (default 20). | |
| parent_id | No | Only children of this category. | |
| external_id | No | ||
| is_category | No | Only service categories (true) or only services (false). | |
| location_id | No | Only items offered at these locations. | |
| start_after | No | Cursor: pass the previous reply's next_start_after to get the next page. |
waitwhile_list_usersList users (staff)Read-onlyInspect
List the staff users of the account: name, e-mail, roles, locations. Password data and tokens are never returned. GET /users.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Prefix match on name or e-mail. | |
| role | No | Only users with these roles. | |
| limit | No | Results per page, 1-100 (default 20). | |
| external_id | No | ||
| location_id | No | Only users with access to these locations. | |
| start_after | No | Cursor: pass the previous reply's next_start_after to get the next page. |
waitwhile_list_visitsList visits (waitlist entries and bookings)Read-onlyInspect
List visits: waitlist entries (people in line) and bookings (appointments), with customer, state (PENDING, DRAFT, BOOKED, WAITING, SERVING, COMPLETE), tags (e.g. NO-SHOW, CANCELLED, ARRIVED), services, resources, party size, position and timestamps. Filter by location, state, tag, customer, service, resource, booking date (local time) or created/updated date. Cursor-paged. Contains customer contact details. GET /visits.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | ||
| desc | No | Newest first. | |
| limit | No | Results per page, 1-100 (default 20). | |
| state | No | ||
| to_date | No | Visits created up to this date-time (ISO 8601 or epoch ms). | |
| from_date | No | Visits created from this date-time (ISO 8601 or epoch ms). | |
| service_id | No | ||
| customer_id | No | ||
| location_id | No | Only visits at this location. | |
| resource_id | No | ||
| start_after | No | Cursor: pass the previous reply's next_start_after to get the next page. | |
| to_booking_date | No | Bookings starting at or before this local date-time, YYYY-MM-DDThh:mm. | |
| from_booking_date | No | Bookings starting at or after this local date-time, YYYY-MM-DDThh:mm. | |
| external_customer_id | No |
waitwhile_resources_availabilityResource availabilityRead-onlyInspect
Working hours/availability of a location's resources on a date (e.g. who is working today). GET /resources/availability.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date (yyyy-mm-dd) or ISO 8601 date-time; default today. | |
| location_id | Yes | Location id. | |
| resource_ids | No | Only these resources. |
waitwhile_search_customersSearch customersRead-onlyInspect
Search customers by a prefix match on name, phone, e-mail or customer id; optionally narrowed by location, visit state or tag. Page-numbered. Contains personal data. GET /customers/search.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Prefix match on name, phone, e-mail or customer id. | |
| tag | No | ||
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| limit | No | Results per page, 1-100 (default 20). | |
| state | No | ||
| location_id | No |
waitwhile_search_visitsSearch visitsRead-onlyInspect
Search visits by a prefix match on customer name, phone, e-mail or customer id, optionally filtered by location, state, tag and excluded tags. Page-numbered. Contains customer contact details. GET /visits/search.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Prefix match on name, phone, e-mail or customer id. | |
| tag | No | ||
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| limit | No | Results per page, 1-100 (default 20). | |
| state | No | ||
| location_id | No | ||
| exclude_tags | No | Leave out visits carrying any of these tags. |
waitwhile_update_visitUpdate a visit (state, tags, time, party)DestructiveIdempotentInspect
WRITE: change ONE visit — its state (e.g. WAITING to SERVING to COMPLETE, or BOOKED), add/remove tags (e.g. ARRIVED, CONFIRMED, NO-SHOW), booking date/duration or party size. Only the fields you pass change. By default the request asks Waitwhile to suppress the customer message; this may only stop the immediate status message, 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. Use waitwhile_cancel_visit to cancel. POST /visits/{visitId}.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | New booking start, local time YYYY-MM-DDThh:mm. | |
| state | No | New state. | |
| add_tags | No | Tags to add. | |
| duration | No | New booking duration in seconds. | |
| visit_id | Yes | Visit id. | |
| party_size | No | ||
| remove_tags | No | Tags to remove. | |
| send_notifications | No | Default 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. |
waitwhile_visit_analyticsVisit analyticsRead-onlyInspect
Aggregated visit statistics for a period: visits, waitlisted, bookings, served, no-shows, cancellations, wait and serve duration quantiles, and breakdowns by location, resource, service, party size, user, day of week and hour of day. GET /analytics/visits (JSON).
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | No | Period end (ISO 8601 or epoch ms). | |
| from_date | No | Period start (ISO 8601 or epoch ms). | |
| location_id | No | Only this location (default: all). |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
29 tool updates
- First observed
waitwhile_add_customer_note - First observed
waitwhile_cancel_visit - First observed
waitwhile_create_visit - First observed
waitwhile_first_available_slots - First observed
waitwhile_get_customer - First observed
waitwhile_get_data_field - First observed
waitwhile_get_location - First observed
waitwhile_get_location_status - First observed
waitwhile_get_message - First observed
waitwhile_get_resource - First observed
waitwhile_get_service - First observed
waitwhile_get_visit - First observed
waitwhile_list_audit_entries - First observed
waitwhile_list_booking_slots - First observed
waitwhile_list_customer_notes - First observed
waitwhile_list_customers - First observed
waitwhile_list_data_fields - First observed
waitwhile_list_location_status - First observed
waitwhile_list_locations - First observed
waitwhile_list_messages - First observed
waitwhile_list_resources - First observed
waitwhile_list_services - First observed
waitwhile_list_users - First observed
waitwhile_list_visits - First observed
waitwhile_resources_availability - First observed
waitwhile_search_customers - First observed
waitwhile_search_visits - First observed
waitwhile_update_visit - First observed
waitwhile_visit_analytics
Related MCP Connectors
Read appointments, types, calendars and availability; create, cancel or reschedule bookings.
Browse OfficeRnD members, bookings, memberships, invoices and tickets, with optional write access.
Read calls, contacts, users, teams and numbers; tag calls and create or update contacts.
Read WhatConverts leads, calls, forms, accounts and profiles; add leads and update lead value.
151
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables read-only access to customer and recurring-billing state from Recurly, including accounts, subscriptions, invoices, and payment outcomes.54 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides tools to read and write Workiz CRM/Field Service data (jobs, leads, team, time off) enabling Claude to manage records via natural language.-
- AlicenseNot gradedqualityBmaintenanceEnables reading campaign, segment, and message-delivery data from the Customer.io Journeys App API, including campaign metrics, audience segments, and recipient-level message outcomes.21 npmMIT
- AlicenseAqualityCmaintenanceEnables MCP clients to search availability, read services, resources, bookings and customers, and, when writes are enabled, reserve slots, create or cancel bookings, and add or update customers.10MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.