Waitwhile MCP by usefulapi

io.usefulapi/waitwhile

Read Waitwhile visits, bookings, customers, services and analytics; add, update and cancel visits.

Yes, your AI can use this right now.Answered a live MCP handshake in 175 ms with no sign-in needed and exposes 29 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://waitwhile.usefulapi.io/mcp

29 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
waitwhile_list_locationsread-only

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.

waitwhile_get_locationread-only

One location by id or short name (the part of its public Waitwhile URL). GET /locations/{shortNameOrId}.

waitwhile_list_location_statusread-only

Live 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_statusread-only

Live status of one location: open/closed, waiting and serving counts, estimated wait. GET /location-status/{locationId}.

waitwhile_list_visitsread-only

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 contac

waitwhile_search_visitsread-only

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.

waitwhile_get_visitread-only

One 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_slotsread-only

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.

waitwhile_first_available_slotsread-only

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.

waitwhile_list_customersread-only

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.

waitwhile_search_customersread-only

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.

waitwhile_get_customerread-only

One customer by id: contact details, tags, per-location state and last visit. Contains personal data. GET /customers/{customerId}.

waitwhile_list_customer_notesread-only

The staff notes recorded on a customer (content, author, visit and location, timestamps). GET /customers/{customerId}/notes.

waitwhile_list_servicesread-only

List services (what customers book or queue for): name, duration, price, locations, resources and category structure. GET /services.

waitwhile_get_serviceread-only

One service by id. GET /services/{serviceId}.

waitwhile_list_resourcesread-only

List resources — the people, rooms, tables or equipment that serve customers: name, locations, services, availability flag and category structure. GET /resources.

waitwhile_get_resourceread-only

One resource by id. GET /resources/{resourceId}.

waitwhile_resources_availabilityread-only

Working hours/availability of a location's resources on a date (e.g. who is working today). GET /resources/availability.

waitwhile_list_data_fieldsread-only

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.

waitwhile_get_data_fieldread-only

One data field by id. GET /data-fields/{dataFieldId}.

waitwhile_list_usersread-only

List the staff users of the account: name, e-mail, roles, locations. Password data and tokens are never returned. GET /users.

waitwhile_list_messagesread-only

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.

waitwhile_get_messageread-only

One message by id. Contains personal data. GET /messages/{messageId}.

waitwhile_visit_analyticsread-only

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).

waitwhile_list_audit_entriesread-only

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.

waitwhile_create_visitcan modify

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

waitwhile_update_visitcan modify

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

waitwhile_cancel_visitcan modify

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 ma

waitwhile_add_customer_note

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.

Alternatives in Databases & Data

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”