Zenbooker MCP by usefulapi

io.usefulapi/zenbooker

Read Zenbooker jobs, customers, invoices and timeslots; add customers and job notes.

Yes, your AI can use this right now.Answered a live MCP handshake in 335 ms with no sign-in needed and exposes 21 tools.
Is this your server? Claim the listing. Verified adds a vendor-confirmed mark on this page and matching app pages.
Claim with Verified — $49/moWant it in front of people comparing Finance & Payments tools? Feature it — $149/mo

Connect it

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

21 tools, pulled live

Pulled straight from the server with tools/list on 2026-10-27.
zenbooker_list_jobsread-only

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 next page. GET /v1/jobs.

zenbooker_get_jobread-only

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_notecan modify

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_bookingsread-only

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_bookingread-only

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_customersread-only

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_customerread-only

One customer by id: contact details, notes, addresses, job and recurring booking ids and linked Stripe customer. GET /v1/customers/{id}.

zenbooker_create_customercan modify

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_invoicesread-only

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_invoiceread-only

One invoice by id: recipient, line items, discounts, tax, totals, amount paid and due, status and transactions. GET /v1/invoices/{id}.

zenbooker_list_transactionsread-only

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_transactionread-only

One payment transaction by id: status, type, method, amount, invoice and customer ids, Stripe references. GET /v1/transactions/{id}.

zenbooker_list_servicesread-only

List the services a business offers, with pricing method, base price and duration, option sections and recurring frequencies. GET /v1/services.

zenbooker_get_serviceread-only

One service by id: pricing, duration, option sections and their options. GET /v1/services/{id}.

zenbooker_list_territoriesread-only

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_territoryread-only

One service territory by id. GET /v1/territories/{id}.

zenbooker_list_team_membersread-only

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_memberread-only

One team member by id: contact details, role, status, territories, skill tags and work hours. GET /v1/team_members/{id}.

zenbooker_list_service_requestsread-only

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_arearead-only

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_timeslotsread-only

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.

Alternatives in Finance & Payments

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