Bota — car rental availability and bookings
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Real availability, prices and bookings of car rental companies (rent-a-car), by conversation.
| Author | com.bota-chat |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 186 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Bota — car rental availability and bookings": {
"url": "https://mcp.bota-chat.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (10)
list_rental_companiesread-onlyCar rental companies that use Bota and rent directly through it. Returns id, name, website, active channels, whether bookings can be completed here (booking_via_agents) and whether it is the demo company.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
list_officesread-onlyRental offices (pickup/return locations) of a company: name, city, address, opening hours, timezone, coordinates.
Parameters:
company_id(required) — string — Rental company id.language— string — Language of the conversation, BCP-47 (es, en, pt-BR, fr, de, it…). Defaults to 'en'. Bota also answers in the language the customer writes.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_availabilityread-onlySearch available vehicles with real prices for a company, office and dates. Prices are identical to the company's own web chat (mandatory charges, one-way and time rules included). Returns numbered offers and the session_id of this booking session.
Parameters:
company_id(required) — string — Rental company id.pickup_office(required) — string — Pickup office name or id.pickup_date(required) — string — YYYY-MM-DD, office-local.return_date(required) — string — YYYY-MM-DD, office-local.driver_age(required) — integer — Main driver's age. The price and the available cars depend on it.language— string — Language of the conversation, BCP-47 (es, en, pt-BR, fr, de, it…). Defaults to 'en'. Bota also answers in the language the customer writes.promo_code— stringsession_id— string — Booking session id returned by a previous call for this company (offers, selection, customer details). Omitted, a new session starts.pickup_time— string — HH:MM, office-local. Default 10:00.return_time— string — HH:MM, office-local. Default 10:00.return_office— string — Return office name or id when different (one-way).
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
ask_companyread-onlyAsk the company a free-text question (requirements, deposit, insurance, documents, opening hours, pickup instructions…). Bota answers in the customer's language with the company's approved information. Read-only: it never starts, changes or completes a booking.
Parameters:
company_id(required) — string — Rental company id.question(required) — stringlanguage— string — Language of the conversation, BCP-47 (es, en, pt-BR, fr, de, it…). Defaults to 'en'. Bota also answers in the language the customer writes.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
select_offerSelects one of the numbered offers of the booking session. Returns the extras available for it, or the driver details the company needs. Only for companies with booking_via_agents=true.
Parameters:
company_id(required) — string — Rental company id.session_id(required) — string — Booking session id returned by a previous call for this company (offers, selection, customer details). Omitted, a new session starts.offer_number(required) — integerlanguage— string — Language of the conversation, BCP-47 (es, en, pt-BR, fr, de, it…). Defaults to 'en'. Bota also answers in the language the customer writes.
Hints: read-only no · destructive no · idempotent not declared · open-world yes
select_extrasAdds optional extras (child seat, additional driver, coverage…) to the booking in progress by extra id; an empty list continues without extras. Only for companies with booking_via_agents=true.
Parameters:
company_id(required) — string — Rental company id.session_id(required) — string — Booking session id returned by a previous call for this company (offers, selection, customer details). Omitted, a new session starts.extras(required) — array — Extra ids to add; empty array = no extras.language— string — Language of the conversation, BCP-47 (es, en, pt-BR, fr, de, it…). Defaults to 'en'. Bota also answers in the language the customer writes.
Hints: read-only no · destructive no · idempotent not declared · open-world yes
provide_customer_detailsSubmits the driver's details for the booking in progress and returns the booking summary with its confirmation_token. terms_accepted records that the customer accepted the company's terms and must be true.
Parameters:
company_id(required) — string — Rental company id.session_id(required) — string — Booking session id returned by a previous call for this company (offers, selection, customer details). Omitted, a new session starts.first_name(required) — stringlast_name(required) — stringemail(required) — stringterms_accepted(required) — booleannotes— stringphone— string — With country code (+1…). Required by most companies.language— string — Language of the conversation, BCP-47 (es, en, pt-BR, fr, de, it…). Defaults to 'en'. Bota also answers in the language the customer writes.flight_number— string
Hints: read-only no · destructive no · idempotent not declared · open-world yes
confirm_bookingdestructiveConfirms the summarised booking with its confirmation_token, which proves the customer saw that exact summary. Creates the reservation in the company's reservation system and returns the confirmation code (and a payment link when the company requires prepayment). An on-request booking comes back pending the company's confirmation and without a code yet.
Parameters:
company_id(required) — string — Rental company id.session_id(required) — string — Booking session id returned by a previous call for this company (offers, selection, customer details). Omitted, a new session starts.confirmation_token(required) — string — confirmation_token from the response that showed the booking summary.language— string — Language of the conversation, BCP-47 (es, en, pt-BR, fr, de, it…). Defaults to 'en'. Bota also answers in the language the customer writes.
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_booking_statusread-onlyLook up a booking made through Bota: status (confirmed, cancelled…), vehicle, office, dates and total. Needs the booking reference and the email it was made with.
Parameters:
company_id(required) — string — Rental company id.booking_reference(required) — string — Booking reference from the customer's confirmation email.email(required) — string — Email the booking was made with. Required to prove the customer owns it.language— string — Language of the conversation, BCP-47 (es, en, pt-BR, fr, de, it…). Defaults to 'en'. Bota also answers in the language the customer writes.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
cancel_bookingdestructiveCancels a booking made through Bota. Without confirm it only returns the booking and whether it can be cancelled; with confirm=true it cancels it. Cancellation fees, if any, follow the company's terms.
Parameters:
company_id(required) — string — Rental company id.booking_reference(required) — string — Booking reference from the customer's confirmation email.email(required) — string — Email the booking was made with. Required to prove the customer owns it.confirm— boolean — true cancels the booking; omitted or false only previews it.language— string — Language of the conversation, BCP-47 (es, en, pt-BR, fr, de, it…). Defaults to 'en'. Bota also answers in the language the customer writes.
Hints: read-only no · destructive yes · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.