Waitwhile MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.23.4Updated Nov 7, 2026

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

The publisher's own server: Ably MCP by usefulapi

Overview

AI-generated overview

Hosted Waitwhile connector that lets an assistant read waitlists, bookings, customers and analytics, and create, update or cancel visits.

What you can do
  • List locations, live wait status, services, resources and resource availability
  • List, search and read visits (waitlist entries and bookings), booking slots and first available slots
  • List, search and read customers, their staff notes, custom intake data fields and staff users
  • Read sent and received SMS/e-mail messages and the account audit log
  • Pull aggregated visit analytics with breakdowns by location, resource, service and time
  • Create, update and cancel visits and add customer notes (write tools)
When to use it
Useful when you want an assistant to answer operational questions about a Waitwhile account — who is waiting now, which bookings are coming up, how many visits and no-shows a period had — or to add, move and cancel visits and leave customer notes without opening the dashboard.
Requirements
Remote MCP endpoint; no local install. Connect with only the server URL and sign in through OAuth with your own Waitwhile credentials; do not add an Authorization header or API key. A free plan allows 50 tool calls per month; paid plans raise the limit.
Before you install
Write tools create, change and cancel real visits and add customer notes; create is not idempotent, so a repeated call makes a second visit. Customer, message and visit data include personal contact details. Cancelling a visit keeps it but marks it COMPLETE with a CANCELLED tag, and message suppression may not stop scheduled reminders. Paid plans are billed through a payment link, and cancellation gives no refund for the current period.

Installation

In SourceWeft

  1. Open Waitwhile MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fwaitwhile/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "waitwhile-by-usefulapi": {
      "type": "http",
      "url": "https://waitwhile.usefulapi.io/mcp"
    }
  }
}

README

Waitwhile MCP by usefulapi

Use Waitwhile from Claude, Cursor, or any MCP client — waitlist visits, bookings, customers, locations, services, resources and analytics, plus visit management. Hosted, no local install: connect with your own Waitwhile credentials.

Live endpoint: https://waitwhile.usefulapi.io/mcp · Homepage: https://usefulapi.io/waitwhile

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://waitwhile.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http waitwhile https://waitwhile.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "waitwhile": {      "url": "https://waitwhile.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Waitwhile credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/waitwhile/

Tools

ToolTypeWhat it does
waitwhile_list_locationsreadList locations
waitwhile_get_locationreadGet location
waitwhile_list_location_statusreadList location status (live waitlist)
waitwhile_get_location_statusreadGet location status (live waitlist)
waitwhile_list_visitsreadList visits (waitlist entries and bookings)
waitwhile_search_visitsreadSearch visits
waitwhile_get_visitreadGet visit
waitwhile_list_booking_slotsreadList booking slots
waitwhile_first_available_slotsreadFirst available booking slots
waitwhile_list_customersreadList customers
waitwhile_search_customersreadSearch customers
waitwhile_get_customerreadGet customer
waitwhile_list_customer_notesreadList customer notes
waitwhile_list_servicesreadList services
waitwhile_get_servicereadGet service
waitwhile_list_resourcesreadList resources (staff, rooms, tables)
waitwhile_get_resourcereadGet resource
waitwhile_resources_availabilityreadResource availability
waitwhile_list_data_fieldsreadList data fields (intake form fields)
waitwhile_get_data_fieldreadGet data field
waitwhile_list_usersreadList users (staff)
waitwhile_list_messagesreadList messages
waitwhile_get_messagereadGet message
waitwhile_visit_analyticsreadVisit analytics
waitwhile_list_audit_entriesreadList audit entries
waitwhile_create_visitwriteAdd a customer to the waitlist or create a booking
waitwhile_update_visitwriteUpdate a visit (state, tags, time, party)
waitwhile_cancel_visitwriteCancel a visit
waitwhile_add_customer_notewriteAdd a customer note
waitwhile_usage_statusmetaUsage status (free-tier meter)
waitwhile_request_featuremetaRequest a missing feature
waitwhile_upgrademetaUpgrade to Pro or Pro+
waitwhile_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per account)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with waitwhile_upgrade (it returns a Stripe Checkout link). Cancel any time with waitwhile_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running waitwhile_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Waitwhile.

Source: servers/waitwhile/README.md at commit 4046075

Tools

29

waitwhile_list_locations

List locations

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.

Parametersdesclimitexternal_idstart_aftercountry_code

waitwhile_get_location

Get location

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

Parameterslocationrequired

waitwhile_list_location_status

List location status (live waitlist)

Live status of every location: open/closed, number of people waiting and being served, current estimated wait time, and booking counters. GET /location-status.

Parameterslimitstart_after

waitwhile_get_location_status

Get location status (live waitlist)

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

Parameterslocation_idrequired

waitwhile_list_visits

List visits (waitlist entries and bookings)

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.

Parameterstagdesclimitstateto_datefrom_dateservice_idcustomer_idlocation_idresource_idstart_afterto_booking_date+2 more

waitwhile_search_visits

Search visits

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.

Parametersqrequiredtagpagelimitstatelocation_idexclude_tags

waitwhile_get_visit

Get visit

One visit (waitlist entry or booking) by id: customer, state, tags, services, resources, party size, position, estimated wait and all timestamps. GET /visits/{visitId}.

Parametersvisit_idrequired

waitwhile_list_booking_slots

List booking slots

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.

Parametersto_datefrom_datelocation_idrequiredservice_idsresource_idsshow_min_spotsservice_duration

waitwhile_first_available_slots

First available booking slots

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.

Parametersto_datefrom_dateparty_sizelocation_idrequiredservice_idsresource_idsmax_num_slotsservice_duration

waitwhile_list_customers

List customers

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.

Parametersdesclimitto_datefrom_dateexternal_idlocation_idstart_after

waitwhile_search_customers

Search customers

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.

Parametersqrequiredtagpagelimitstatelocation_id

waitwhile_get_customer

Get customer

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

Parameterscustomer_idrequired

waitwhile_list_customer_notes

List customer notes

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

Parameterscustomer_idrequired

waitwhile_list_services

List services

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

Parametersqlimitparent_idexternal_idis_categorylocation_idstart_after

waitwhile_get_service

Get service

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

Parametersservice_idrequired

waitwhile_list_resources

List resources (staff, rooms, tables)

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

Parametersqemaillimitparent_idexternal_idis_categorylocation_idstart_after

waitwhile_get_resource

Get resource

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

Parametersresource_idrequired

waitwhile_resources_availability

Resource availability

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

Parametersdatelocation_idrequiredresource_ids

waitwhile_list_data_fields

List data fields (intake form fields)

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.

Parametersqlimitexternal_idlocation_idstart_after

waitwhile_get_data_field

Get data field

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

Parametersdata_field_idrequired

waitwhile_list_users

List users (staff)

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

Parametersqrolelimitexternal_idlocation_idstart_after

waitwhile_list_messages

List messages

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.

Parametersdesclimitstateto_datevisit_idfrom_datecustomer_idlocation_idstart_afterexternal_customer_id

waitwhile_get_message

Get message

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

Parametersmessage_idrequired

waitwhile_visit_analytics

Visit analytics

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

Parametersto_datefrom_datelocation_id

waitwhile_list_audit_entries

List audit entries

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.

Parametersdesctypeeventlimitto_dateentity_idfrom_datelocation_idstart_after

waitwhile_create_visit

Add a customer to the waitlist or create a booking

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.

Parametersdatenameemailphonedurationlast_namefirst_nameparty_sizelocation_idrequiredservice_idsresource_idssend_notifications

waitwhile_update_visit

Update a visit (state, tags, time, party)

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

Parametersdatestateadd_tagsdurationvisit_idrequiredparty_sizeremove_tagssend_notifications

waitwhile_cancel_visit

Cancel a visit

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.

Parametersvisit_idrequiredsend_notifications

waitwhile_add_customer_note

Add a 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.

Parameterscontentrequiredvisit_idcustomer_idrequiredlocation_id

Version history

19
  1. v1.23.4LatestNov 7, 2026
  2. v1.22.3Nov 5, 2026
  3. v1.22.2Nov 5, 2026
  4. v1.22.1Nov 4, 2026
  5. v1.22.0Nov 3, 2026
  6. v1.21.1Nov 3, 2026
  7. v1.20.0Nov 1, 2026
  8. v1.18.0Oct 31, 2026
  9. v1.17.0Oct 31, 2026
  10. v1.16.2Oct 30, 2026
  11. v1.16.0Oct 30, 2026
  12. v1.11.0Oct 26, 2026
  13. v1.8.3Oct 25, 2026
  14. v1.8.0Oct 25, 2026
  15. v1.7.0Oct 24, 2026
  16. v1.4.0Oct 23, 2026
  17. v1.3.4Oct 22, 2026
  18. v1.3.3Oct 21, 2026
  19. v1.0.0Oct 12, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations