booboooking Appointment Booking
Book appointments with service providers on booboooking.com — no token required.
Should I use this
Quality & Safety
Findings (1)
- LOWin booboooking_find_next_available
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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-httpWhat it can do
Tool inventory
Tools (6)
🟢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
Evidence