io.usefulapi/zenbooker · v1.0.0 · finance-and-payments
Zenbooker MCP by usefulapi is healthy: it completed an MCP handshake in 1453 ms and exposes 21 tools.
Read Zenbooker jobs, customers, invoices and timeslots; add customers and job notes.
Endpoint: https://zenbooker.usefulapi.io/mcp (streamable-http)
Repository · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 21 |
| Latency | 1453 ms |
| Last checked (UTC) | 2026-10-21T10:30:59.347Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-21T10:30:59.347Z | Healthy | 1453 |
zenbooker_list_jobs | List jobs (booked appointments), by start time by default, with filters: customer id, assigned team member id, territory id, recurring booking id, status, canceled flag, creation time and scheduled start window. Returns { results, count, has_more, next_cursor }; pass next_cursor as cursor for the ne |
zenbooker_get_job | One job by id: appointment time, status, customer, service address, services and fields, assigned providers, notes and invoice summary. GET /v1/jobs/{id}. |
zenbooker_add_job_note | WRITE: add an internal note (text) to a job. Notes are appended, never replaced, and cannot be deleted through this server, so check the job first. POST /v1/jobs/{id}/notes. |
zenbooker_list_recurring_bookings | List recurring bookings (repeating job series), by status (active or canceled), customer id, assigned team member id, territory id or creation time. Max 40 per page. Returns { results, count, has_more, next_cursor }. GET /v1/recurring. |
zenbooker_get_recurring_booking | One recurring booking by id: first job date, job count, time slot, status, territory, service, pricing and its job ids. GET /v1/recurring/{id}. |
zenbooker_list_customers | List or search customers by name, email or phone, by creation time, or by default address near a place (location + radius in miles). Returns { results, count, has_more, next_cursor }. GET /v1/customers. |
zenbooker_get_customer | One customer by id: contact details, notes, addresses, job and recurring booking ids and linked Stripe customer. GET /v1/customers/{id}. |
zenbooker_create_customer | WRITE: create a new customer record in Zenbooker (name required; phone and email optional). It does not look for an existing customer, so search with zenbooker_list_customers first to avoid duplicates. POST /v1/customers. |
zenbooker_list_invoices | List invoices, optionally by status (draft, unpaid, partial_paid, paid, void), customer id, territory id or creation time. Each invoice has line items, totals, amount paid and due and its transactions. Returns { results, count, has_more, next_cursor }. GET /v1/invoices. |
zenbooker_get_invoice | One invoice by id: recipient, line items, discounts, tax, totals, amount paid and due, status and transactions. GET /v1/invoices/{id}. |
zenbooker_list_transactions | List payment transactions, optionally by type (stripe_payment, external_transaction), payment method, status (succeeded, failed, voided), customer id, territory id, creation time or payment date. Returns { results, count, has_more, next_cursor }. GET /v1/transactions. |
zenbooker_get_transaction | One payment transaction by id: status, type, method, amount, invoice and customer ids, Stripe references. GET /v1/transactions/{id}. |
zenbooker_list_services | List the services a business offers, with pricing method, base price and duration, option sections and recurring frequencies. GET /v1/services. |
zenbooker_get_service | One service by id: pricing, duration, option sections and their options. GET /v1/services/{id}. |
zenbooker_list_territories | List the service territories (areas a business serves) with timezone, service area, providers and operating hours. Use the ids to filter jobs and invoices or to look up time slots. GET /v1/territories. |
zenbooker_get_territory | One service territory by id. GET /v1/territories/{id}. |
zenbooker_list_team_members | List team members (staff and service providers) with role, status, assigned territories, skill tags and work hours. Use the ids to filter jobs by assigned provider. GET /v1/team_members. |
zenbooker_get_team_member | One team member by id: contact details, role, status, territories, skill tags and work hours. GET /v1/team_members/{id}. |
zenbooker_list_service_requests | List incoming service requests (booking requests and quote requests) with status, customer, territory, duration, requested dates, services and pricing. Returns { results, count, has_more, next_cursor }. GET /v1/service_requests. |
zenbooker_check_service_area | Check whether a location is inside the business's service area: returns in_service_area, the matching territory and other territories that serve it (or the closest territory when it is outside every area). Give a postal code, an address, or lat + lng. GET /v1/scheduling/service_area_check. |
zenbooker_get_timeslots | Available booking time slots for a service territory, grouped by day (days[].timeslots[] with start, end and id). Needs the territory id (zenbooker_list_territories or zenbooker_check_service_area) and the service duration in minutes. GET /v1/scheduling/timeslots. |