Server definition
- Hash
- sha256:dec624c31801adf9e3aca2188b84191c15b148faa20476e78b5e30a301446ad1
- What it is
- What a remote MCP server returned when asked what it offers: 8 tools
The blob, as servednamed by its sha256
{
"instructions": "Bota is the AI sales agent of car-rental companies. Use list_rental_companies first, then list_offices and search_availability (real prices, identical to the company's own web chat). Keep the session_id returned by every call and pass it back. Companies with booking_via_agents=true let you complete the booking with select_offer → provide_customer_details (only after the customer accepted the terms) → confirm_booking; for the others, present the offers and the company's contact. The demo company is safe for testing. Machine guide: https://www.bota-chat.com/api/public/provider-api-guide",
"tools": [
{
"description": "Send a free-text message to the company's Bota agent within a session (questions about conditions, insurance, extras, changes…). Bota answers in the customer's language with the company's approved information. For companies with booking_via_agents=true the conversation can complete a booking.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"company_id": {
"description": "Company id from list_rental_companies.",
"type": "string"
},
"language": {
"description": "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.",
"type": "string"
},
"message": {
"maxLength": 2000,
"type": "string"
},
"session_id": {
"description": "Session id returned by a previous call for this company. Omit on the first call; ALWAYS pass it back on the next ones so Bota keeps the conversation (offers, selection, customer details).",
"type": "string"
}
},
"required": [
"company_id",
"message"
],
"type": "object"
},
"name": "chat",
"outputSchema": null
},
{
"description": "Confirm the booking summarised by Bota. Pass the confirmation_token returned by the previous call (it 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).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"company_id": {
"description": "Company id from list_rental_companies.",
"type": "string"
},
"confirmation_token": {
"description": "confirmation_token from the response that showed the booking summary.",
"type": "string"
},
"language": {
"description": "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.",
"type": "string"
},
"session_id": {
"description": "Session id returned by a previous call for this company. Omit on the first call; ALWAYS pass it back on the next ones so Bota keeps the conversation (offers, selection, customer details).",
"type": "string"
}
},
"required": [
"company_id",
"session_id",
"confirmation_token"
],
"type": "object"
},
"name": "confirm_booking",
"outputSchema": null
},
{
"description": "Rental offices (pickup/return locations) of a company: name, city, address, opening hours, timezone, coordinates. Use the office NAME in search_availability.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"company_id": {
"description": "Company id from list_rental_companies.",
"type": "string"
},
"language": {
"description": "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.",
"type": "string"
}
},
"required": [
"company_id"
],
"type": "object"
},
"name": "list_offices",
"outputSchema": null
},
{
"description": "List the car-rental companies that sell through Bota. Returns id, name, website, active channels, whether bookings can be completed from this server (booking_via_agents) and whether it is the demo company. Start here.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_rental_companies",
"outputSchema": null
},
{
"description": "Submit the driver's details for the booking in progress. Only call it after the customer has explicitly accepted the company's terms (terms_accepted must be true). Bota then shows the summary to confirm.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"company_id": {
"description": "Company id from list_rental_companies.",
"type": "string"
},
"email": {
"format": "email",
"type": "string"
},
"first_name": {
"maxLength": 80,
"type": "string"
},
"flight_number": {
"maxLength": 20,
"type": "string"
},
"language": {
"description": "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.",
"type": "string"
},
"last_name": {
"maxLength": 120,
"type": "string"
},
"notes": {
"maxLength": 500,
"type": "string"
},
"phone": {
"maxLength": 30,
"type": "string"
},
"session_id": {
"description": "Session id returned by a previous call for this company. Omit on the first call; ALWAYS pass it back on the next ones so Bota keeps the conversation (offers, selection, customer details).",
"type": "string"
},
"terms_accepted": {
"type": "boolean"
}
},
"required": [
"company_id",
"session_id",
"first_name",
"last_name",
"email",
"terms_accepted"
],
"type": "object"
},
"name": "provide_customer_details",
"outputSchema": null
},
{
"description": "Search 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; keep the session_id to select one.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"company_id": {
"description": "Company id from list_rental_companies.",
"type": "string"
},
"driver_age": {
"maximum": 99,
"minimum": 18,
"type": "integer"
},
"language": {
"description": "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.",
"type": "string"
},
"pickup_date": {
"description": "YYYY-MM-DD, office-local.",
"type": "string"
},
"pickup_office": {
"description": "Pickup office name (from list_offices) or id.",
"type": "string"
},
"pickup_time": {
"description": "HH:MM, office-local. Default 10:00.",
"type": "string"
},
"promo_code": {
"type": "string"
},
"return_date": {
"description": "YYYY-MM-DD, office-local.",
"type": "string"
},
"return_office": {
"description": "Return office name or id when different (one-way).",
"type": "string"
},
"return_time": {
"description": "HH:MM, office-local. Default 10:00.",
"type": "string"
},
"session_id": {
"description": "Session id returned by a previous call for this company. Omit on the first call; ALWAYS pass it back on the next ones so Bota keeps the conversation (offers, selection, customer details).",
"type": "string"
}
},
"required": [
"company_id",
"pickup_office",
"pickup_date",
"return_date"
],
"type": "object"
},
"name": "search_availability",
"outputSchema": null
},
{
"description": "Add optional extras (child seat, additional driver, coverage…) to the booking in progress using the extra ids returned after select_offer, or pass an empty list to continue without extras. Requires booking_via_agents=true.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"company_id": {
"description": "Company id from list_rental_companies.",
"type": "string"
},
"extras": {
"description": "Extra ids to add; empty array = no extras.",
"items": {
"type": "string"
},
"type": "array"
},
"language": {
"description": "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.",
"type": "string"
},
"session_id": {
"description": "Session id returned by a previous call for this company. Omit on the first call; ALWAYS pass it back on the next ones so Bota keeps the conversation (offers, selection, customer details).",
"type": "string"
}
},
"required": [
"company_id",
"session_id",
"extras"
],
"type": "object"
},
"name": "select_extras",
"outputSchema": null
},
{
"description": "Choose one of the numbered offers returned by search_availability (same session). Bota then asks for extras or driver details as needed. Requires booking_via_agents=true.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"company_id": {
"description": "Company id from list_rental_companies.",
"type": "string"
},
"language": {
"description": "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.",
"type": "string"
},
"offer_number": {
"minimum": 1,
"type": "integer"
},
"session_id": {
"description": "Session id returned by a previous call for this company. Omit on the first call; ALWAYS pass it back on the next ones so Bota keeps the conversation (offers, selection, customer details).",
"type": "string"
}
},
"required": [
"company_id",
"session_id",
"offer_number"
],
"type": "object"
},
"name": "select_offer",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:dec624c31801adf9e3aca2188b84191c15b148faa20476e78b5e30a301446ad1 | sha256sum