Waitwhile MCP by usefulapi
io.usefulapi/waitwhile · v1.0.0
Read Waitwhile visits, bookings, customers, services and analytics; add, update and cancel visits.
MCPremoteno credentialsCRM & salesEmailMessaging
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 29 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 83/100
What it does: 29 tools · 25 read, 4 write (incl. delete/pay) · CRM & sales, Email, Messaging
Test call waitwhile_list_locations: needs a key: HTTP 401 (1,013 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +5
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://waitwhile.usefulapi.io/mcpTools
29 tools listed at last check
waitwhile_list_locationsList 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.waitwhile_get_locationOne location by id or short name (the part of its public Waitwhile URL). GET /locations/{shortNameOrId}.waitwhile_list_location_statusLive status of every location: open/closed, number of people waiting and being served, current estimated wait time, and booking counters. GET /location-status.waitwhile_get_location_statusLive status of one location: open/closed, waiting and serving counts, estimated wait. GET /location-status/{locationId}.waitwhile_list_visitsList 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,waitwhile_search_visitsSearch 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.waitwhile_get_visitOne visit (waitlist entry or booking) by id: customer, state, tags, services, resources, party size, position, estimated wait and all timestamps. GET /visits/{visitId}.waitwhile_list_booking_slotsBooking 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.waitwhile_first_available_slotsThe 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.waitwhile_list_customersList 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.waitwhile_search_customersSearch 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.waitwhile_get_customerOne customer by id: contact details, tags, per-location state and last visit. Contains personal data. GET /customers/{customerId}.waitwhile_list_customer_notesThe staff notes recorded on a customer (content, author, visit and location, timestamps). GET /customers/{customerId}/notes.waitwhile_list_servicesList services (what customers book or queue for): name, duration, price, locations, resources and category structure. GET /services.waitwhile_get_serviceOne service by id. GET /services/{serviceId}.waitwhile_list_resourcesList resources — the people, rooms, tables or equipment that serve customers: name, locations, services, availability flag and category structure. GET /resources.waitwhile_get_resourceOne resource by id. GET /resources/{resourceId}.waitwhile_resources_availabilityWorking hours/availability of a location's resources on a date (e.g. who is working today). GET /resources/availability.waitwhile_list_data_fieldsList 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.waitwhile_get_data_fieldOne data field by id. GET /data-fields/{dataFieldId}.waitwhile_list_usersList the staff users of the account: name, e-mail, roles, locations. Password data and tokens are never returned. GET /users.waitwhile_list_messagesList 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. GEwaitwhile_get_messageOne message by id. Contains personal data. GET /messages/{messageId}.waitwhile_visit_analyticsAggregated 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).waitwhile_list_audit_entriesThe 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.waitwhile_create_visitWRITE: 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 (waitwhile_update_visitWRITE: 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 twaitwhile_cancel_visitWRITE: 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 reminderwaitwhile_add_customer_noteWRITE: 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.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/waitwhile)