bookingkit MCP by usefulapi

List events, open dates, orders, payments, vouchers and coupons in bookingkit.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,900Tokens (tool definitions)
~1.6 KBTypical response size
Significant attention impact (2.27% 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": {
    "bookingkit": {
      "url": "https://bookingkit.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://bookingkit.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (14)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded14 tools