io.usefulapi/bookeo

Bookeo MCP by usefulapi

Check Bookeo availability and manage bookings, holds and customers; read payments.

1.11.1
Version
remote
Transport
21
Tools

Security review

Partly reviewed

Reviewed 1h ago.

  • tools: 21 tools scanned
  • metadata: scanned
  • mediumReviewRemote tools take credentials as input

    Whatever an agent passes to a remote tool leaves the machine. Never send connection strings, tokens or passwords to a third-party MCP server unless it is the service those credentials belong to.

    bookeo_get_api_key_info

Tools (21)

  • bookeo_get_api_key_info

    Show which Bookeo account the credentials belong to and which permissions were granted (e.g. bookings_rw_all, customers_r_all, availability_r). A cheap way to confirm the setup works. Bookeo: GET /settings/apikeyinfo.

  • bookeo_get_business

    Get the business's name, contact details, address, website and description. Bookeo: GET /settings/business.

  • bookeo_list_products

    List the bookable products (tours, classes, courses, appointments) with their ids, type (fixed, fixedCourse, flexibleTime), duration, participant limits per people category, default rates and options. Bookeo: GET /settings/products.

  • bookeo_list_people_categories

    List the participant categories the account uses (default Adults/Children/Infants plus custom ones like Students), with their ids and seats taken. Needed for peopleNumbers. Bookeo: GET /settings/peoplecategories.

  • bookeo_list_resources

    List resource types and their resources (guides, instructors, rooms, boats...) with ids. Bookeo: GET /settings/resources.

  • bookeo_get_availability_slots

    List available slots (eventId, start/end, seats available) for fixed and fixedCourse products in a time window of at most 31 days. Not for flexibleTime products — use bookeo_search_matching_slots for those. Bookeo: GET /availability/slots.

  • bookeo_search_matching_slots

    Find slots that can take a given party (participant counts per category, options, resources), with an estimated price. Works for all product types, including flexibleTime appointments. Window max 31 days. To page through results pass only pageNavigationToken (+ pageNumber). Read-only. Bookeo: POST /availability/matchingslots, GET /availability/matchingslots/{pageNavigationToken}.

  • bookeo_list_bookings

    List bookings by start time (startTime+endTime) and/or by last change (lastUpdatedStartTime+lastUpdatedEndTime) — at least one pair is required, each spanning at most 31 days. Optionally filter by product, include canceled bookings, and expand customer/participant details. Bookeo: GET /bookings.

  • bookeo_get_booking

    Get one booking by its booking number: product, times, participants, options, price, paid amount, status (canceled/accepted/noShow). Bookeo: GET /bookings/{bookingNumber}.

  • bookeo_list_booking_payments

    List the payments (and refunds, as negative amounts) received for one booking. Bookeo: GET /bookings/{bookingNumber}/payments.

  • bookeo_list_customers

    List or search customers — by name, firstName, lastName or emailAddress — optionally only members/non-members or those created since a date. Bookeo: GET /customers.

  • bookeo_get_customer

    Get one customer: contact details, next/previous booking, number of bookings, cancellations and no-shows, membership and store credit. Bookeo: GET /customers/{id}.

  • bookeo_list_customer_bookings

    List one customer's bookings, optionally between two dates. Bookeo: GET /customers/{id}/bookings.

  • bookeo_list_payments

    List payments received in a time period, optionally by payment method. Refunds are included with a negative amount. Bookeo: GET /payments.

  • bookeo_get_payment

    Get one payment: amount, method, reason, received time, customer and gateway transaction id. Bookeo: GET /payments/{id}.

  • bookeo_create_hold

    Temporarily reserve the seats/resources for a draft booking (default 300 s, max 600 s) and get the FINAL price, taxes and amount payable. The recommended step before bookeo_create_booking: pass the returned hold id as previousHoldId there. Holds expire automatically. Bookeo: POST /holds.

  • bookeo_create_booking

    Create a confirmed booking for an existing customer (customerId) or a new one (customer). fixed/fixedCourse products need an eventId from the availability tools; flexibleTime products take eventId or startTime. Pass previousHoldId to convert a hold. Does NOT record any payment. Reversible with bookeo_cancel_booking. Bookeo: POST /bookings.

  • bookeo_update_booking

    Change an existing booking — reschedule (eventId or startTime/endTime), change participant counts, options, resources or external reference. Fetches the current booking and sends it back with only your changes applied (Bookeo's PUT takes the full booking). Bookeo: GET then PUT /bookings/{bookingNumber}.

  • bookeo_cancel_booking

    Cancel a booking. It stays in the system (visible with includeCanceled) but frees its seats. The account's cancellation policy is NOT applied, so no cancellation fee is charged. Bookeo: DELETE /bookings/{bookingNumber}.

  • bookeo_create_customer

    Create a customer record. Not needed before booking — bookeo_create_booking can create the customer inline. Bookeo: POST /customers.

  • bookeo_update_customer

    Update a customer's contact details. Fetches the current record and sends it back with only your changes applied (Bookeo's PUT takes the full customer). Bookeo: GET then PUT /customers/{id}.