# Waitwhile Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## Waitwhile

Manage waitlists, bookings, customers and staff for appointment-based businesses

- Record: https://musedirectory.ai/connector/waitwhile
- Category: Productivity
- Developer: usefulapi (https://usefulapi.io/waitwhile/)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 27ms, checked 2026-10-29T10:45:49Z
- Endpoint: https://waitwhile.usefulapi.io/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T08:01:41Z)
- Source: Found in the official MCP Registry (io.usefulapi/waitwhile) https://registry.modelcontextprotocol.io/v0/servers?search=io.usefulapi%2Fwaitwhile

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.

Example request: "Show me all my appointments for today and let me know if anyone has cancelled"

How to connect: Not 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.

Tools:
- waitwhile_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.
- waitwhile_get_location: One location by id or short name (the part of its public Waitwhile URL). GET /locations/{shortNameOrId}.
- waitwhile_list_location_status: 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_status: Live status of one location: open/closed, waiting and serving counts, estimated wait. GET /location-status/{locationId}.
- waitwhile_list_visits: 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
- waitwhile_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.
- waitwhile_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}.
- waitwhile_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.
- waitwhile_first_available_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.
- waitwhile_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.
- waitwhile_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.
- waitwhile_get_customer: One customer by id: contact details, tags, per-location state and last visit. Contains personal data. GET /customers/{customerId}.
- waitwhile_list_customer_notes: The staff notes recorded on a customer (content, author, visit and location, timestamps). GET /customers/{customerId}/notes.
- waitwhile_list_services: List services (what customers book or queue for): name, duration, price, locations, resources and category structure. GET /services.
- waitwhile_get_service: One service by id. GET /services/{serviceId}.
- waitwhile_list_resources: List resources — the people, rooms, tables or equipment that serve customers: name, locations, services, availability flag and category structure. GET /resources.
- waitwhile_get_resource: One resource by id. GET /resources/{resourceId}.
- waitwhile_resources_availability: Working hours/availability of a location's resources on a date (e.g. who is working today). GET /resources/availability.
- waitwhile_list_data_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.
- waitwhile_get_data_field: One data field by id. GET /data-fields/{dataFieldId}.
- waitwhile_list_users: List the staff users of the account: name, e-mail, roles, locations. Password data and tokens are never returned. GET /users.
- waitwhile_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
- waitwhile_get_message: One message by id. Contains personal data. GET /messages/{messageId}.
- waitwhile_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).
- waitwhile_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.
- waitwhile_create_visit: 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 
- waitwhile_update_visit: 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; 
- waitwhile_cancel_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, an
- 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.

Screening checks:
- MCP handshake: pass (Answered in 9ms)
- Domain against threat feeds (Cloudflare security DNS): pass (waitwhile.usefulapi.io, usefulapi.io not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (29 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
