bookingkit MCP by usefulapi
List events, open dates, orders, payments, vouchers and coupons in bookingkit.
Should I use this
Quality & Safety
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": {
"bookingkit": {
"url": "https://bookingkit.usefulapi.io/mcp"
}
}
}Remote endpoints
https://bookingkit.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (14)
🟢bookingkit_list_vendors(limit, offset, fields, accept, match)
List the vendors (bookingkit customers: tour, activity and attraction providers) the API client can access. A vendor client sees only its own vendor. bookingkit API: GET /v3/vendors.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Number of results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Comma separated list of properties to return.",
"type": "string"
},
"accept": {
"description": "Comma separated list of ids to return only.",
"type": "string"
},
"match": {
"description": "Search text in vendor name/email.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_get_vendor(vendor_id)
Get one vendor by id. bookingkit API: GET /v3/vendors/{id}.
Input Schema
{
"type": "object",
"properties": {
"vendor_id": {
"type": "string",
"minLength": 1,
"description": "The vendor id."
}
},
"required": [
"vendor_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_list_events(vendor_id, category, type, available_from, delta_since, ...)
List events (the bookable experiences, tours and activities) with prices, durations and categories. Optionally limit to one vendor. bookingkit API: GET /v3/events or GET /v3/vendors/{vendor_id}/events.
Input Schema
{
"type": "object",
"properties": {
"vendor_id": {
"description": "Only events of this vendor id.",
"type": "string"
},
"category": {
"description": "Only events in this category id (see bookingkit_list_categories).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"type": {
"description": "Filter by event type.",
"type": "string",
"enum": [
"BOOKING",
"REQUEST",
"ALL"
]
},
"available_from": {
"description": "Only events with at least one date on or after this time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$"
},
"delta_since": {
"description": "Only events changed since this time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$"
},
"match": {
"description": "Search text in event name.",
"type": "string"
},
"limit": {
"description": "Number of results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Comma separated list of properties to return.",
"type": "string"
},
"accept": {
"description": "Comma separated list of ids to return only.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_get_event(event_id)
Get one event (experience) by id: description, price categories, durations, booking rules. bookingkit API: GET /v3/events/{id}.
Input Schema
{
"type": "object",
"properties": {
"event_id": {
"type": "string",
"minLength": 1,
"description": "The event id."
}
},
"required": [
"event_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_list_event_dates(event_id, start_date, end_date, available, accept_vendors, ...)
List bookable dates with free capacity. Give event_id for one event, else all events. Use available=true to see only dates with free places. bookingkit API: GET /v3/events/{id}/dates or GET /v3/dates.
Input Schema
{
"type": "object",
"properties": {
"event_id": {
"description": "Only dates of this event id.",
"type": "string"
},
"start_date": {
"description": "Dates on or after this time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$"
},
"end_date": {
"description": "Dates on or before this time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$"
},
"available": {
"description": "true = only dates with at least one free place.",
"type": "boolean"
},
"accept_vendors": {
"description": "Comma separated vendor ids.",
"type": "string"
},
"delta_since": {
"description": "Only dates changed since this time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$"
},
"limit": {
"description": "Number of results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Comma separated list of properties to return.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_list_orders(vendor_id, status, start_date, end_date, start_event_date, ...)
List orders (bookings) with customer, tickets and status. Filter by order date, event date, status or order code. Optionally limit to one vendor. bookingkit API: GET /v3/orders or GET /v3/vendors/{id}/orders.
Input Schema
{
"type": "object",
"properties": {
"vendor_id": {
"description": "Only orders of this vendor id.",
"type": "string"
},
"status": {
"description": "Order status.",
"type": "string",
"enum": [
"ACCEPTED",
"CANCELED",
"PENDING",
"DECLINED",
"OPEN",
"ALL"
]
},
"start_date": {
"description": "Orders placed on or after this time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$"
},
"end_date": {
"description": "Orders placed on or before this time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$"
},
"start_event_date": {
"description": "Orders with a ticket for a date on or after this time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$"
},
"end_event_date": {
"description": "Orders with a ticket for a date on or before this time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$"
},
"accept_code": {
"description": "Comma separated order codes (booking reference codes).",
"type": "string"
},
"match": {
"description": "Search text in customer name/email.",
"type": "string"
},
"delta_since": {
"description": "Only orders created or changed since this time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$"
},
"order": {
"description": "Sort: date, name or vendor_id; prefix - for descending (e.g. -date).",
"type": "string"
},
"limit": {
"description": "Number of results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Comma separated list of properties to return.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_get_order(order_id)
Get one order by id: customer, tickets, price, status, additional fields. bookingkit API: GET /v3/orders/{id}.
Input Schema
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"minLength": 1,
"description": "The order id."
}
},
"required": [
"order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_list_order_payments(order_id)
List the payments recorded for one order. bookingkit API: GET /v3/orders/{id}/payments.
Input Schema
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"minLength": 1,
"description": "The order id."
}
},
"required": [
"order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_list_order_tickets(order_id)
List the tickets (one per booked event date and price category) of one order. bookingkit API: GET /v3/orders/{id}/tickets.
Input Schema
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"minLength": 1,
"description": "The order id."
}
},
"required": [
"order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_list_categories(limit, offset, fields)
List event categories. Use the ids to filter bookingkit_list_events. bookingkit API: GET /v3/categories.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Number of results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Comma separated list of properties to return.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_list_products(available, accept_vendors, limit, offset, fields)
List additional products (extras such as merchandise or add-ons) sold with bookings. bookingkit API: GET /v3/products.
Input Schema
{
"type": "object",
"properties": {
"available": {
"description": "true = only available products.",
"type": "boolean"
},
"accept_vendors": {
"description": "Comma separated vendor ids.",
"type": "string"
},
"limit": {
"description": "Number of results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Comma separated list of properties to return.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_list_vouchers(limit, offset, fields, accept)
List gift vouchers with code, value, status and redemption data. bookingkit API: GET /v3/vouchers.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Number of results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Comma separated list of properties to return.",
"type": "string"
},
"accept": {
"description": "Comma separated list of ids to return only.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_list_coupons(limit, offset, fields, accept)
List discount coupons. bookingkit API: GET /v3/coupons.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Number of results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Comma separated list of properties to return.",
"type": "string"
},
"accept": {
"description": "Comma separated list of ids to return only.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bookingkit_list_users(limit, offset, fields)
List the users (staff accounts) of the vendor. bookingkit API: GET /v3/users.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Number of results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Comma separated list of properties to return.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence