Live on production

An AI talks.You get booked.

BookingMaven speaks the Model Context Protocol. Connect an assistant and it finds the business, checks real openings, and books. No app, no form.

https://mcp.bookingmaven.com/mcp
No API key
Booking works as a guest, no sign-in required.
Streamable HTTP
MCP 2025-11-25, stateless, one POST per request.
Live inventory
Same slot ledger every booking page uses.

Connect in one step

Claude Code

claude mcp add --transport http bookingmaven https://mcp.bookingmaven.com/mcp

Claude.ai and Claude Desktop

Add a custom connector in Settings, then paste the endpoint URL. No authentication fields are needed.

https://mcp.bookingmaven.com/mcp

Any MCP client (JSON config)

{
  "mcpServers": {
    "bookingmaven": {
      "type": "http",
      "url": "https://mcp.bookingmaven.com/mcp"
    }
  }
}

How a booking happens

Four tool calls take an agent from "find me a barber" to a confirmed appointment.

  1. 1
    search_businesses

    The agent finds businesses near the customer.

  2. 2
    get_business

    It picks a business and reads services, prices, and staff.

  3. 3
    get_availability

    It checks real open slots for the requested date.

  4. 4
    book_appointment

    It books the slot. The business and customer are notified.

Bookings are idempotent: a timed-out request retried with the same idempotency key never double‑books. And book_appointment returns a booking_id and lookup_token, so the agent can check, reschedule, or cancel the booking later.

Examples

Once connected, just talk to your assistant. Things like:

"Find me a barbershop in San Jose and book a haircut Friday afternoon."

"What times does Clipper King have open this Saturday?"

"Reschedule my Friday appointment to Tuesday morning instead."

"Cancel my Tuesday booking."

Four calls, request to confirmed

Each tool's output feeds the next. The first three responses are captured from the live server; the booking response shows the documented shape.

Request
{
  "method": "tools/call",
  "params": {
    "name": "search_businesses",
    "arguments": { "location": "San Jose, CA" }
  }
}
Responsecount: 2
{
  "businesses": [
    { "slug": "clipper-king",
      "name": "Clipper King",
      "category": "barbershop",
      "city": "San Jose",
      "booking_url":
        ".../business/clipper-king" },
    { "slug": "bombastic-tattoos", ... }
  ],
  "count": 2
}

Or hit it straight from your terminal

The server is stateless, so a single tools/call works with no handshake. This exact request runs against live data:

curl -X POST https://mcp.bookingmaven.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{
    "name":"search_businesses",
    "arguments":{"location":"San Jose, CA","category":"barbershop"}}}'

The eleven tools

Find and book

The core flow. No sign-in needed.

search_businesses

Search for businesses by location. Returns booking URLs, ratings, and descriptions.

  • locationrequiredCity, city + state, or zip code. E.g. 'Brooklyn NY', 'Austin, TX', '90210'.
  • categoryoptionalFilter by business type (see accepted categories below).
  • limitoptionalMax results, 1 to 20. Defaults to 10.
get_business

Full details for one business: services with IDs and prices, staff, and hours.

  • business_slugrequiredThe business slug from search_businesses results (slug also accepted).
get_availability

Open appointment slots for a business on a specific date, as ISO timestamps.

  • business_slugrequiredThe business slug from search_businesses results.
  • daterequiredDate to check, in YYYY-MM-DD format.
  • staff_idoptionalSpecific staff member ID. Omit to check any available staff.
  • timezoneoptionalIANA timezone, e.g. 'America/New_York'. Defaults to business local time.
book_appointment

Reserve a slot. Idempotent: retrying with the same key never double-books. Returns a booking_id and lookup_token for managing the booking later.

  • business_slugrequiredThe business slug from search_businesses results.
  • service_idrequiredThe service ID from get_business results.
  • start_timerequiredISO 8601 start, from get_availability.
  • end_timerequiredISO 8601 end, from get_availability.
  • customer_namerequiredCustomer full name.
  • customer_emailrequiredCustomer email address.
  • idempotency_keyrequiredUnique key (e.g. a UUID). Reuse the same key to retry safely.
  • customer_phoneoptionalCustomer phone number.
  • staff_idoptionalStaff member ID. Omit to auto-assign.
  • notesoptionalSpecial requests or notes for the business.

Manage a booking

Everything after the booking, using the booking_id and lookup_token from book_appointment. No account needed.

get_booking

Look up the current status and time of a booking.

  • booking_idrequiredThe booking_id returned from book_appointment.
  • lookup_tokenrequiredThe lookup_token returned from book_appointment.
reschedule_appointment

Move a booking to a new time. The new slot is checked for conflicts.

  • booking_idrequiredThe booking_id returned from book_appointment.
  • lookup_tokenrequiredThe lookup_token returned from book_appointment.
  • new_start_timerequiredISO 8601 start for the new slot, from get_availability.
  • new_end_timerequiredISO 8601 end for the new slot, from get_availability.
cancel_appointment

Cancel a booking. Safe to retry.

  • booking_idrequiredThe booking_id returned from book_appointment.
  • lookup_tokenrequiredThe lookup_token returned from book_appointment.

Accounts and signup

Optional. Bookings work as a guest; these link them to accounts.

create_account

Returns a pre-filled signup link so the customer can activate an account that links their past bookings.

  • emailrequiredCustomer email (same one used for booking).
  • namerequiredCustomer full name.
  • phoneoptionalCustomer phone number.
list_my_bookingssigned-in

List all appointments booked with your email, upcoming and past.

No parameters. Requires connecting with a signed-in, verified-email account.

link_accountsigned-in

Link guest bookings made with your email to your signed-in account.

No parameters. Requires connecting with a signed-in, verified-email account.

start_business_signup

Returns a signup link for a business owner to get their booking page, with optional pre-filled details.

  • business_nameoptionalName of the business.
  • categoryoptionalType of business (see accepted categories below).
  • emailoptionalBusiness owner email.

Categories accepted by category filters

barbershophair_salontattoo_piercingnail_salonmobile_servicesfitness_trainingcar_detailingspa_wellnessyogapersonal_trainer

Your booking page is already agent‑ready

Every BookingMaven business can take bookings through the MCP server automatically. One calendar, filled from your booking page, your website embed, and now AI assistants.