booboooking Appointment Booking

Book appointments with service providers on booboooking.com — no token required.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
77%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'booboooking_find_next_available' name length outside 3-30 rangein booboooking_find_next_available

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,434Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (1.12% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "booboooking": {
      "url": "https://booboooking.com/api/slot/mcp"
    }
  }
}

Remote endpoints

https://booboooking.com/api/slot/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢booboooking_list_services(provider)

List available services for a provider on booboooking.com. Returns service names, IDs, duration, and price. Call this first to find the service ID needed for availability and booking.

Input Schema

{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "description": "Provider identifier (e.g. \"radnaimark\", \"tomi\")"
    }
  },
  "required": [
    "provider"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢booboooking_check_availability(provider, service_id, start_date, days_ahead)

Check available time slots for a provider and service on booboooking.com. Returns available dates with slots — each slot has a "time" field (use this for booboooking_book) and a "display" field (show this to the user). Use this before booking.

Input Schema

{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "description": "Provider identifier"
    },
    "service_id": {
      "type": "string",
      "description": "Service ID from booboooking_list_services (the \"id\" field)"
    },
    "start_date": {
      "description": "Start date in YYYYMMDD format (default: today)",
      "type": "string"
    },
    "days_ahead": {
      "description": "How many days to check (default: 14, max: 30)",
      "type": "number"
    }
  },
  "required": [
    "provider",
    "service_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪booboooking_book(provider, service_id, date, time, customer_name, ...)

Book an appointment on booboooking.com (free OR paid services — payment is always in cash at the appointment, no online payment). For customer_name and customer_email, use the signed-in user's profile from your host app — do NOT ask them to retype. Always ask for customer_phone separately (it is not in the sign-in profile). customer_phone MUST be in international E.164 format starting with `+` and country code (e.g. `+36201234567`), no spaces/dashes — convert local-format numbers before calling this tool or the booking will fail validation. On success the response includes `id` and `pin` (MUST remember paired, for cancellation) and optionally `cash_due: { amount, currency }` — if present, remind the user to bring that amount in cash.

Input Schema

{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "description": "Provider identifier"
    },
    "service_id": {
      "type": "string",
      "description": "Service ID from booboooking_list_services"
    },
    "date": {
      "type": "string",
      "description": "Date in YYYYMMDD format (e.g. \"20260415\")"
    },
    "time": {
      "type": "string",
      "description": "Start time in HH:MM format (e.g. \"09:30\") — use the \"time\" field from booboooking_check_availability results"
    },
    "customer_name": {
      "description": "Customer full name",
      "type": "string"
    },
    "customer_email": {
      "description": "Customer email address",
      "type": "string"
    },
    "customer_phone": {
      "description": "Customer phone number in international E.164 format, e.g. \"+36201234567\" — convert local-format numbers (e.g. \"06201234567\") before calling this tool.",
      "type": "string",
      "pattern": "^\\+[1-9]\\d{6,14}$"
    }
  },
  "required": [
    "provider",
    "service_id",
    "date",
    "time"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴booboooking_cancel(provider, reservation_id, pin)

Cancel a reservation on booboooking.com. Requires the reservation_id AND pin that were returned from the original booboooking_book call — both are needed as proof of booking ownership. If the user asks to cancel but you do not have the pin in your conversation state, you MUST ask them for it — you cannot cancel without it. Never invent or guess a pin.

Input Schema

{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "description": "Provider identifier (same as the one used for booking)"
    },
    "reservation_id": {
      "type": "string",
      "description": "The `id` returned from the original booking (24-hex MongoDB ObjectId)"
    },
    "pin": {
      "type": "string",
      "description": "The PIN returned from the original booking"
    }
  },
  "required": [
    "provider",
    "reservation_id",
    "pin"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢booboooking_find_next_available(provider, service_id, from_date, count, search_days)

Search forward for the next available appointment slots for a provider and service on booboooking.com. Returns up to `count` openings sorted chronologically. Useful when you need "the next available appointment" without a specific date in mind.

Input Schema

{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "description": "Provider identifier"
    },
    "service_id": {
      "type": "string",
      "description": "Service ID from booboooking_list_services"
    },
    "from_date": {
      "description": "Start search from this date in YYYYMMDD format (default: today)",
      "type": "string"
    },
    "count": {
      "description": "Number of openings to return (default: 3, max: 10)",
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    },
    "search_days": {
      "description": "Days to search ahead (default: 30, max: 60)",
      "type": "integer",
      "minimum": 1,
      "maximum": 60
    }
  },
  "required": [
    "provider",
    "service_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢booboooking_get_booking(reservation_id, pin, provider)

Retrieve a booking by its reservation ID. Requires the PIN from the original booking response to prove ownership. Returns full booking details including payment state if the reservation was created via the payment flow.

Input Schema

{
  "type": "object",
  "properties": {
    "reservation_id": {
      "type": "string",
      "description": "The reservation ID returned from booboooking_book (24-char hex MongoDB ObjectId)"
    },
    "pin": {
      "type": "string",
      "description": "The PIN returned from the original booboooking_book call"
    },
    "provider": {
      "type": "string",
      "description": "Provider identifier (same as used for booking)"
    }
  },
  "required": [
    "reservation_id",
    "pin",
    "provider"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools