io.usefulapi/bookeo
REMOTE · BOOKEO.USEFULAPI.IO · SCANNED OCT 4
Check Bookeo availability and manage bookings, holds and customers; read payments.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security89
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 4415 tokens (~210/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management13
- Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage96
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 87% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the io.usefulapi/bookeo MCP server?
io.usefulapi/bookeo is a hosted endpoint at https://bookeo.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · bookeo.usefulapi.io
claude mcp add --transport http io-usefulapi-bookeo 'https://bookeo.usefulapi.io/mcp'
{
"mcpServers": {
"io-usefulapi-bookeo": {
"url": "https://bookeo.usefulapi.io/mcp"
}
}
} {
"servers": {
"io-usefulapi-bookeo": {
"type": "http",
"url": "https://bookeo.usefulapi.io/mcp"
}
}
} [mcp_servers.io-usefulapi-bookeo] url = "https://bookeo.usefulapi.io/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"io-usefulapi-bookeo": {
"type": "remote",
"url": "https://bookeo.usefulapi.io/mcp",
"enabled": true
}
}
} openclaw mcp add io-usefulapi-bookeo --url 'https://bookeo.usefulapi.io/mcp' --transport streamable-http
mcp_servers:
io-usefulapi-bookeo:
url: "https://bookeo.usefulapi.io/mcp" {
"McpServers": {
"io-usefulapi-bookeo": {
"Transport": "http",
"Url": "https://bookeo.usefulapi.io/mcp"
}
}
} assistant mcp add io-usefulapi-bookeo -t streamable-http -u 'https://bookeo.usefulapi.io/mcp'
{
"mcpServers": {
"io-usefulapi-bookeo": {
"type": "http",
"url": "https://bookeo.usefulapi.io/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Oct 26 +1
- Server version: 1.3.0 → 1.5.1 functional
- 1 Oct 26 +5
- HTTPS: unverified → pass ▲ security
- Stability: unverified → 0.03 ▲ functional
- Server version: 1.0.0 → 1.3.0 functional
- 30 Sept 26 +41
- Authorization: unverified → pass ▲ security
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- First check of Authorization: partial security
- MCP protocol: unverified → fail ▼ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Tool coverage: 87 functional
- First check of Schema quality: fail functional
- First check of Schema quality: excellent functional
- First check of Destructive annotations: pass functional
- First check of Schema quality: fail functional
- 29 Sept 26 28
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Oct 2026 · Probed https://bookeo.usefulapi.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=usefulapi.io | CN=WE1,O=Google Trust Services,C=US | 13 Sept 2026 | 12 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | d9be3287b0fde9630e825ba1f79bff3f |
| SANs: usefulapi.io, *.usefulapi.io | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of bookeo.usefulapi.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| usefulapi.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer realm="OAuth", resource_metadata="https://bookeo.usefulapi.io/.well-known/oauth-protected-resource/mcp"
Bearer realm="OAuth", resource_metadata="https://bookeo.usefulapi.io/.well-known/oauth-protected-resource/mcp" Protected resource metadata
| Document | https://bookeo.usefulapi.io/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://bookeo.usefulapi.io/mcp |
| Authorisation server | https://bookeo.usefulapi.io |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://bookeo.usefulapi.io/mcp | Verified | 200 | |
| http (plaintext) | http://bookeo.usefulapi.io/mcp | HTTPS enforced | 301 | https://bookeo.usefulapi.io/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
bookeo_cancel_booking Cancel a booking ~153
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}.
| Name | Type | Req | Description |
|---|---|---|---|
| bookingNumber | string | yes | The booking number. |
| cancelRemainingSeries | boolean | – | If part of a recurring series, also cancel all following bookings. |
| notifyCustomer | boolean | – | Email the customer about the cancellation. |
| notifyUsers | boolean | – | Email/SMS the business's staff. |
| reason | string | – | Why — included in the customer's cancellation email, if sent. |
| trackInCustomerHistory | boolean | – | Count this in the customer's cancellation stats. |
No output schema declared.
No examples provided.
bookeo_create_booking Create a booking ~536
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.
| Name | Type | Req | Description |
|---|---|---|---|
| customer | object | – | A NEW customer to create together with the booking. Use customerId instead for an existing customer. |
| customerId | string | – | Id of an EXISTING customer (see bookeo_list_customers). |
| endTime | string | – | Optional forced end time for flexibleTime products (otherwise Bookeo computes the duration) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
| eventId | string | – | Slot id from bookeo_get_availability_slots / bookeo_search_matching_slots. REQUIRED for fixed and fixedCourse products; optional for flexibleTime (use startTime instead). |
| externalRef | string | – | Your own reference for this booking (max 64 chars). |
| mode | string | – | Set to "backend" to act as a manager, relaxing customer-facing limits (time in advance, participant limits, change windows). |
| notifyCustomer | boolean | – | Send the customer a confirmation email. |
| notifyUsers | boolean | – | Email/SMS the business's staff. |
| options | array | – | Product options (see bookeo_list_products). |
| peopleNumbers | array | yes | Participant counts per people category. |
| previousHoldId | string | – | Hold id from bookeo_create_hold; it is released on success. |
| privateEvent | boolean | – | Reserve the entire event, if the product allows it. |
| productId | string | yes | Product id (see bookeo_list_products). |
| promotionCodeInput | string | – | Promotion code(s), comma-separated. |
| resources | array | – | Resources (e.g. a specific guide or instructor) — for flexibleTime products. |
| sendCustomerReminders | boolean | – | Send the customer reminders before the booking. |
| sendCustomerThankyou | boolean | – | Send the customer a thank-you after the booking. |
| startTime | string | – | Start time, for flexibleTime products when no eventId is given — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
No output schema declared.
No examples provided.
bookeo_create_customer Create a customer ~149
Create a customer record. Not needed before booking — bookeo_create_booking can create the customer inline. Bookeo: POST /customers.
| Name | Type | Req | Description |
|---|---|---|---|
| acceptSmsReminders | boolean | – | – |
| dateOfBirth | string | – | RFC 3339 full-date, e.g. 1990-04-23. |
| emailAddress | string | – | – |
| firstName | string | yes | – |
| gender | string | – | – |
| languageCode | string | – | Preferred language, e.g. en_US (underscore, not dash). |
| lastName | string | yes | – |
| middleName | string | – | – |
| phoneNumbers | array | – | – |
| streetAddress | object | – | – |
No output schema declared.
No examples provided.
bookeo_create_hold Hold seats (price check) ~451
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.
| Name | Type | Req | Description |
|---|---|---|---|
| customer | object | – | A NEW customer to create together with the booking. Use customerId instead for an existing customer. |
| customerId | string | – | Id of an EXISTING customer (see bookeo_list_customers). |
| endTime | string | – | Optional forced end time for flexibleTime products (otherwise Bookeo computes the duration) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
| eventId | string | – | Slot id from bookeo_get_availability_slots / bookeo_search_matching_slots. REQUIRED for fixed and fixedCourse products; optional for flexibleTime (use startTime instead). |
| externalRef | string | – | Your own reference for this booking (max 64 chars). |
| holdDurationSeconds | integer | – | How long to hold, in seconds (default 300, max 600). |
| options | array | – | Product options (see bookeo_list_products). |
| peopleNumbers | array | yes | Participant counts per people category. |
| previousHoldId | string | – | A previous hold in the same session, replaced by this one. |
| privateEvent | boolean | – | Reserve the entire event, if the product allows it. |
| productId | string | yes | Product id (see bookeo_list_products). |
| promotionCodeInput | string | – | Promotion code(s), comma-separated. |
| resources | array | – | Resources (e.g. a specific guide or instructor) — for flexibleTime products. |
| startTime | string | – | Start time, for flexibleTime products when no eventId is given — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
No output schema declared.
No examples provided.
bookeo_get_api_key_info Get API key info ~60
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
bookeo_get_availability_slots Get availability slots ~319
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.
| Name | Type | Req | Description |
|---|---|---|---|
| endTime | string | – | Search window end, max 31 days after start (required unless paging) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
| itemsPerPage | integer | – | Items per page, 1-300 (Bookeo default 50). |
| mode | string | – | Set to "backend" to act as a manager, relaxing customer-facing limits (time in advance, participant limits, change windows). |
| pageNavigationToken | string | – | Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated. |
| pageNumber | integer | – | Page to fetch (1-based). Used together with pageNavigationToken. |
| productId | string | – | Only this product. Omit for all fixed/fixedCourse products bookable by customers. |
| startTime | string | – | Search window start (required unless paging) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
No output schema declared.
No examples provided.
bookeo_get_booking Get a booking ~90
Get one booking by its booking number: product, times, participants, options, price, paid amount, status (canceled/accepted/noShow). Bookeo: GET /bookings/{bookingNumber}.
| Name | Type | Req | Description |
|---|---|---|---|
| bookingNumber | string | yes | The booking number (always a string). |
| expandCustomer | boolean | – | Include full customer details. |
| expandParticipants | boolean | – | Include full participant details. |
No output schema declared.
No examples provided.
bookeo_get_business Get the business ~33
Get the business's name, contact details, address, website and description. Bookeo: GET /settings/business.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
bookeo_get_customer Get a customer ~56
Get one customer: contact details, next/previous booking, number of bookings, cancellations and no-shows, membership and store credit. Bookeo: GET /customers/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The customer id. |
No output schema declared.
No examples provided.
bookeo_get_payment Get a payment ~48
Get one payment: amount, method, reason, received time, customer and gateway transaction id. Bookeo: GET /payments/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The payment id. |
No output schema declared.
No examples provided.
bookeo_list_booking_payments List a booking's payments ~127
List the payments (and refunds, as negative amounts) received for one booking. Bookeo: GET /bookings/{bookingNumber}/payments.
| Name | Type | Req | Description |
|---|---|---|---|
| bookingNumber | string | yes | The booking number. |
| itemsPerPage | integer | – | Items per page, 1-100 (Bookeo default 50). |
| pageNavigationToken | string | – | Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated. |
| pageNumber | integer | – | Page to fetch (1-based). Used together with pageNavigationToken. |
No output schema declared.
No examples provided.
bookeo_list_bookings List bookings ~467
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.
| Name | Type | Req | Description |
|---|---|---|---|
| endTime | string | – | Only bookings starting on/before this (max 31 days after startTime) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
| expandCustomer | boolean | – | Include full customer details. |
| expandParticipants | boolean | – | Include full participant details. |
| includeCanceled | boolean | – | Include canceled bookings (default false). |
| itemsPerPage | integer | – | Items per page, 1-100 (Bookeo default 50). |
| lastUpdatedEndTime | string | – | Only bookings changed/created on/before this (max 31 days) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
| lastUpdatedStartTime | string | – | Only bookings changed/created on/after this (pair with lastUpdatedEndTime) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
| pageNavigationToken | string | – | Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated. |
| pageNumber | integer | – | Page to fetch (1-based). Used together with pageNavigationToken. |
| productId | string | – | Only bookings for this product. |
| startTime | string | – | Only bookings starting on/after this (pair with endTime) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
No output schema declared.
No examples provided.
bookeo_list_customer_bookings List a customer's bookings ~169
List one customer's bookings, optionally between two dates. Bookeo: GET /customers/{id}/bookings.
| Name | Type | Req | Description |
|---|---|---|---|
| beginDate | string | – | Only bookings on/after this date (YYYY-MM-DD). |
| endDate | string | – | Only bookings on/before this date (YYYY-MM-DD). |
| expandParticipants | boolean | – | Include full participant details. |
| id | string | yes | The customer id. |
| itemsPerPage | integer | – | Items per page, 1-100 (Bookeo default 50). |
| pageNavigationToken | string | – | Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated. |
| pageNumber | integer | – | Page to fetch (1-based). Used together with pageNavigationToken. |
No output schema declared.
No examples provided.
bookeo_list_customers List customers ~240
List or search customers — by name, firstName, lastName or emailAddress — optionally only members/non-members or those created since a date. Bookeo: GET /customers.
| Name | Type | Req | Description |
|---|---|---|---|
| createdSince | string | – | Only customers created since this time — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
| currentMembers | boolean | – | Include current members (default true). |
| currentNonMembers | boolean | – | Include non-members (default true). |
| itemsPerPage | integer | – | Items per page, 1-100 (Bookeo default 50). |
| pageNavigationToken | string | – | Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated. |
| pageNumber | integer | – | Page to fetch (1-based). Used together with pageNavigationToken. |
| searchField | string | – | Field searchText applies to (default name). |
| searchText | string | – | Text to search for. Omit to list all. |
No output schema declared.
No examples provided.
bookeo_list_payments List payments ~257
List payments received in a time period, optionally by payment method. Refunds are included with a negative amount. Bookeo: GET /payments.
| Name | Type | Req | Description |
|---|---|---|---|
| endTime | string | – | Period end — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
| itemsPerPage | integer | – | Items per page, 1-300 (Bookeo default 50). |
| pageNavigationToken | string | – | Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated. |
| pageNumber | integer | – | Page to fetch (1-based). Used together with pageNavigationToken. |
| paymentMethod | string | – | Only this payment method (Bookeo spells cheque "checque"). |
| paymentMethodOther | string | – | Custom method name — required when paymentMethod is "other". |
| startTime | string | – | Period start — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
No output schema declared.
No examples provided.
bookeo_list_people_categories List people categories ~54
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
bookeo_list_products List products ~169
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.
| Name | Type | Req | Description |
|---|---|---|---|
| itemsPerPage | integer | – | Items per page, 1-100 (Bookeo default 50). |
| lang | string | – | Language for names/descriptions, e.g. en-US. |
| pageNavigationToken | string | – | Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated. |
| pageNumber | integer | – | Page to fetch (1-based). Used together with pageNavigationToken. |
| type | string | – | Only this product type. Omit for all. |
No output schema declared.
No examples provided.
bookeo_list_resources List resources ~112
List resource types and their resources (guides, instructors, rooms, boats...) with ids. Bookeo: GET /settings/resources.
| Name | Type | Req | Description |
|---|---|---|---|
| itemsPerPage | integer | – | Items per page, 1-100 (Bookeo default 50). |
| pageNavigationToken | string | – | Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated. |
| pageNumber | integer | – | Page to fetch (1-based). Used together with pageNavigationToken. |
No output schema declared.
No examples provided.
bookeo_search_matching_slots Search matching slots ~395
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}.
| Name | Type | Req | Description |
|---|---|---|---|
| endTime | string | – | Search window end, max 31 days after start (required for a new search) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
| itemsPerPage | integer | – | Items per page, 1-300 (Bookeo default 50). |
| mode | string | – | Set to "backend" to act as a manager, relaxing customer-facing limits (time in advance, participant limits, change windows). |
| options | array | – | Product options (see bookeo_list_products). |
| pageNavigationToken | string | – | To fetch another page of a previous search: its info.pageNavigationToken. The other search fields are then ignored. |
| pageNumber | integer | – | Page to fetch (1-based). Used together with pageNavigationToken. |
| peopleNumbers | array | – | Participant counts per people category (required for a new search). |
| productId | string | – | Product id (required for a new search). |
| resources | array | – | Resources (e.g. a specific guide or instructor) — for flexibleTime products. |
| startTime | string | – | Search window start (required for a new search) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
No output schema declared.
No examples provided.
bookeo_update_booking Update a booking ~357
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}.
| Name | Type | Req | Description |
|---|---|---|---|
| bookingNumber | string | yes | The booking number. |
| endTime | string | – | New end time (flexibleTime) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
| eventId | string | – | New slot id (reschedule a fixed/fixedCourse booking). |
| externalRef | string | – | – |
| mode | string | – | Set to "backend" to act as a manager, relaxing customer-facing limits (time in advance, participant limits, change windows). |
| notifyCustomer | boolean | – | Email the customer about the change. |
| notifyUsers | boolean | – | Email/SMS the business's staff about the change. |
| options | array | – | Product options (see bookeo_list_products). |
| peopleNumbers | array | – | New participant counts per category (replaces the current ones). |
| promotionCodeInput | string | – | – |
| resources | array | – | Resources (e.g. a specific guide or instructor) — for flexibleTime products. |
| startTime | string | – | New start time (flexibleTime) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone. |
No output schema declared.
No examples provided.
bookeo_update_customer Update a customer ~173
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}.
| Name | Type | Req | Description |
|---|---|---|---|
| acceptSmsReminders | boolean | – | – |
| dateOfBirth | string | – | RFC 3339 full-date, e.g. 1990-04-23. |
| emailAddress | string | – | – |
| firstName | string | – | – |
| gender | string | – | – |
| id | string | yes | The customer id. |
| languageCode | string | – | Preferred language, e.g. en_US (underscore, not dash). |
| lastName | string | – | – |
| middleName | string | – | – |
| phoneNumbers | array | – | – |
| streetAddress | object | – | – |
No output schema declared.
No examples provided.
What is the io.usefulapi/bookeo MCP server?
io.usefulapi/bookeo is an MCP server listed in the public MCP registry as io.usefulapi/bookeo. Check Bookeo availability and manage bookings, holds and customers; read payments. This page covers its hosted endpoint (https://bookeo.usefulapi.io/mcp).
Is the io.usefulapi/bookeo MCP server safe to use?
io.usefulapi/bookeo scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.usefulapi/bookeo MCP server expose?
io.usefulapi/bookeo exposes 21 tools: bookeo_get_api_key_info, bookeo_get_business, bookeo_list_products, bookeo_list_people_categories, bookeo_list_resources, and 16 more. Their descriptions and schemas cost roughly 4,415 tokens of context every time the server is loaded.
Does the io.usefulapi/bookeo MCP server require authentication?
Yes. io.usefulapi/bookeo asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the io.usefulapi/bookeo MCP server still maintained?
io.usefulapi/bookeo is still listed as active in the MCP registry. We last reached this channel on 4 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.