Manage waitlists, bookings, customers and staff for appointment-based businesses
Read and manage Waitwhile visits, bookings, customers, services and analytics. Create or update appointments, add customers to waitlists, cancel bookings, and track live location status and availability.
Try asking Muse: "Show me all my appointments for today and let me know if anyone has cancelled"
Source: Found in the official MCP Registry (io.usefulapi/waitwhile) · First listed October 29, 2026
Each bar is one check, every 15 minutes. Green means it answered. Last checked 1 h ago.
What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.
Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.
musedirectory.ai is not part of Meta. More about how Muse handles your information
Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.
https://waitwhile.usefulapi.io/mcpNot in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
Waitwhile is a remote MCP server, so any assistant that can add a custom connector by link can use it. Same link, same tools.
In ChatGPT, open Settings, then Connectors (called Apps & Connectors on some accounts).
Under Advanced settings, switch on Developer mode. That is what lets you add a connector by link.
Choose Create, give it a name, paste the link as the MCP server URL, and save. If it needs a sign-in, ChatGPT asks for it here.
Start a chat, open the tools menu, pick the connector, and ask. ChatGPT asks before it runs a tool the first time.
Custom connectors need a paid ChatGPT plan, and on Team, Enterprise and Edu accounts only an admin can add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in ChatGPT
In Claude, open Settings, then Connectors.
Choose Add custom connector, give it a name, and paste the link.
If it needs a sign-in, Claude sends you to it. Then turn the connector on in a chat from the tools menu and ask.
Custom connectors are available on paid Claude plans; on Team and Enterprise accounts an admin may need to add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in Claude
https://waitwhile.usefulapi.io/mcpResponse time at the last check: 27ms. Worked in 100% of checks over 30 days.
Screened, no issues found
Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.
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, tagwaitwhile_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 readswaitwhile_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 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; waitwhile_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, anwaitwhile_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.https://waitwhile.usefulapi.io/mcpNot in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Waitwhile to help me. It is a free service with an MCP server at https://waitwhile.usefulapi.io/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.
At the last check (October 29, 2026, 10:45 UTC) the endpoint was working, answering in 27ms. Over the last 7 days it answered 100% of health checks. It is checked every 15 minutes.
It was screened on October 29, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.
It exposes 29 tools, including waitwhile_list_locations, waitwhile_get_location, waitwhile_list_location_status, waitwhile_get_location_status. For example, you could ask Muse: "Show me all my appointments for today and let me know if anyone has cancelled"
This listing was added from public sources (Found in the official MCP Registry (io.usefulapi/waitwhile)). If you build Waitwhile, claim it to correct the details and get your badge.
Paste this on your site or README. It always shows the latest check.
<a href="https://musedirectory.ai/connector/waitwhile"><img src="https://musedirectory.ai/badge/waitwhile.svg" alt="Waitwhile on musedirectory.ai" width="236" height="40"></a>