Servidor MCP

Transfers & Car Rentals

io.github.t1mom777/transfers-car-rentals
Viajes y hospitalidad Público y accesible MCP 2025-11-25

Qué hace este MCP

Lists airport transfers, private drivers, and Fiji rental vehicles and generates non-binding quote previews without booking or payment.

get_destination_details
Get airport-transfer destination details
Get one route's provider, directions, prices, vehicle classes, required fields, quote template, landing page, booking URL, and payment boundary.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['market', 'route_code'], 'properties': {'market': {'enum': ['FJ', 'LK', 'MU', 'CR', 'US'], 'type': 'string'}, 'route_code': {'type': 'string', 'pattern': '^[a-z0-9_]+$', 'maxLength': 80, 'minLength': 2}, 'agent_source': {'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 80, 'description': 'Calling agent or integration, for example chatgpt, claude, gemini, or partner-name.'}, 'agent_session_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 120, 'description': 'Privacy-safe per-conversation identifier. It is hashed before analytics storage.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['market', 'route_code', 'airport', 'destination', 'quote_request_template', 'booking_url', 'landing_page'], 'properties': {'market': {'type': 'string'}, 'airport': {'type': 'object'}, 'route_code': {'type': 'string'}, 'booking_url': {'type': 'string'}, 'destination': {'type': 'string'}, 'landing_page': {'type': 'string'}, 'quote_request_template': {'type': 'object'}}, 'additionalProperties': True}
list_destinations
List airport-transfer destinations
List every published transfer route with exact route codes, airports, landing pages, booking URLs, pricing basis, and transaction rules.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'market': {'enum': ['FJ', 'LK', 'MU', 'CR', 'US'], 'type': 'string'}, 'airport': {'type': 'string', 'maxLength': 3, 'minLength': 3}, 'agent_source': {'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 80, 'description': 'Calling agent or integration, for example chatgpt, claude, gemini, or partner-name.'}, 'agent_session_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 120, 'description': 'Privacy-safe per-conversation identifier. It is hashed before analytics storage.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['count', 'destinations'], 'properties': {'count': {'type': 'integer'}, 'destinations': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
list_markets
List transfer and rental markets
List active countries, airports, services, and representative providers.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'agent_source': {'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 80, 'description': 'Calling agent or integration, for example chatgpt, claude, gemini, or partner-name.'}, 'agent_session_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 120, 'description': 'Privacy-safe per-conversation identifier. It is hashed before analytics storage.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['default_market', 'markets'], 'properties': {'markets': {'type': 'array', 'items': {'type': 'object'}}, 'default_market': {'type': 'string'}}, 'additionalProperties': False}
list_providers
List representative providers
List transfer or vehicle-rental providers by two-letter country code.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'country': {'type': 'string', 'maxLength': 2, 'minLength': 2}, 'service': {'enum': ['airport_transfer', 'vehicle_rental', 'private_driver'], 'type': 'string'}, 'agent_source': {'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 80, 'description': 'Calling agent or integration, for example chatgpt, claude, gemini, or partner-name.'}, 'agent_session_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 120, 'description': 'Privacy-safe per-conversation identifier. It is hashed before analytics storage.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['providers'], 'properties': {'providers': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
list_rental_vehicles
List published Fiji rental vehicles
List the current published vehicle-rental fleet for an active market. Inventory is not confirmed.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', 'properties': {'market': {'type': 'string', 'default': 'FJ'}, 'agent_source': {'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 80, 'description': 'Calling agent or integration, for example chatgpt, claude, gemini, or partner-name.'}, 'agent_session_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 120, 'description': 'Privacy-safe per-conversation identifier. It is hashed before analytics storage.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['market', 'partner', 'pricing_source', 'availability', 'vehicles', 'checked_at'], 'properties': {'market': {'type': 'string'}, 'partner': {'type': 'object'}, 'vehicles': {'type': 'array', 'items': {'type': 'object'}}, 'checked_at': {'type': 'string'}, 'availability': {'type': 'string'}, 'pricing_source': {'type': 'string'}}, 'additionalProperties': False}
preview_private_driver_quote
Preview a private-driver quote
Calculate a non-binding, non-persisted private-driver price range. Review the saved quote for payment eligibility and supplier-assignment status.
Solo lectura
Esquema de entrada
{'type': 'object', 'title': 'PrivateDriverQuoteRequest', 'required': ['vehicle_class', 'days'], 'properties': {'days': {'type': 'integer', 'title': 'Days', 'maximum': 30, 'minimum': 1}, 'market': {'type': 'string', 'title': 'Market', 'default': 'LK', 'maxLength': 2, 'minLength': 2}, 'pickup': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'title': 'Pickup', 'default': None}, 'dropoff': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'title': 'Dropoff', 'default': None}, 'passengers': {'anyOf': [{'type': 'integer', 'maximum': 20, 'minimum': 1}, {'type': 'null'}], 'title': 'Passengers', 'default': None}, 'agent_source': {'anyOf': [{'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 80, 'minLength': 1}, {'type': 'null'}], 'title': 'Agent Source', 'default': None}, 'vehicle_class': {'enum': ['sedan', 'standard_car', 'van', 'six_seater_van', 'luxury_suv'], 'type': 'string', 'title': 'Vehicle Class'}, 'datetime_local': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Datetime Local', 'default': None}, 'quote_currency': {'type': 'string', 'const': 'USD', 'title': 'Quote Currency', 'default': 'USD'}, 'agent_session_id': {'anyOf': [{'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}], 'title': 'Agent Session Id', 'default': None}, 'estimated_distance_km': {'anyOf': [{'type': 'number', 'maximum': 5000, 'minimum': 0}, {'type': 'null'}], 'title': 'Estimated Distance Km', 'default': None}}}
Esquema de salida
{'type': 'object', 'required': ['market', 'status', 'preview', 'persisted', 'booking_eligible_from_preview', 'next_action'], 'properties': {'market': {'type': 'string'}, 'status': {'type': 'string'}, 'preview': {'type': 'boolean', 'const': True}, 'persisted': {'type': 'boolean', 'const': False}, 'next_action': {'type': 'string'}, 'booking_eligible_from_preview': {'type': 'boolean', 'const': False}}, 'additionalProperties': True}
preview_rental_quote
Preview a Fiji vehicle-rental quote
Calculate a non-binding, non-persisted rental quote. Availability and payment remain with the representative rental company.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', 'title': 'RentalQuoteRequest', 'required': ['vehicle_slug', 'pickup_at', 'return_at', 'driver_age'], 'properties': {'market': {'type': 'string', 'title': 'Market', 'default': 'FJ', 'maxLength': 2, 'minLength': 2}, 'pickup_at': {'type': 'string', 'title': 'Pickup At', 'format': 'date-time'}, 'return_at': {'type': 'string', 'title': 'Return At', 'format': 'date-time'}, 'driver_age': {'type': 'integer', 'title': 'Driver Age', 'maximum': 85, 'minimum': 21}, 'agent_source': {'anyOf': [{'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 80, 'minLength': 1}, {'type': 'null'}], 'title': 'Agent Source', 'default': None}, 'vehicle_slug': {'type': 'string', 'title': 'Vehicle Slug', 'maxLength': 100, 'minLength': 1}, 'quote_currency': {'type': 'string', 'title': 'Quote Currency', 'default': 'FJD', 'maxLength': 3, 'minLength': 3}, 'pickup_location': {'type': 'string', 'title': 'Pickup Location', 'default': 'Nadi International Airport', 'maxLength': 200, 'minLength': 2}, 'return_location': {'type': 'string', 'title': 'Return Location', 'default': 'Nadi International Airport', 'maxLength': 200, 'minLength': 2}, 'agent_session_id': {'anyOf': [{'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}], 'title': 'Agent Session Id', 'default': None}}}
Esquema de salida
{'type': 'object', 'required': ['market', 'status', 'preview', 'persisted', 'booking_eligible_from_preview', 'next_action'], 'properties': {'market': {'type': 'string'}, 'status': {'type': 'string'}, 'preview': {'type': 'boolean', 'const': True}, 'persisted': {'type': 'boolean', 'const': False}, 'next_action': {'type': 'string'}, 'booking_eligible_from_preview': {'type': 'boolean', 'const': False}}, 'additionalProperties': True}
preview_transfer_quote
Preview an airport transfer quote
Calculate a non-binding, non-persisted transfer quote. This tool cannot hold, book, message, cancel, or charge.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$defs': {'Luggage': {'type': 'object', 'title': 'Luggage', 'required': ['checked', 'carry_on'], 'properties': {'checked': {'type': 'integer', 'title': 'Checked', 'minimum': 0}, 'carry_on': {'type': 'integer', 'title': 'Carry On', 'minimum': 0}}}, 'TransferLocation': {'type': 'object', 'title': 'TransferLocation', 'required': ['type'], 'properties': {'iata': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Iata', 'default': None}, 'type': {'enum': ['airport', 'hotel', 'address'], 'type': 'string', 'title': 'Type'}, 'address': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Address', 'default': None}, 'hotel_place_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Hotel Place Id', 'default': None}, 'google_place_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Google Place Id', 'default': None}}}}, 'title': 'QuoteRequest', 'required': ['pickup', 'dropoff', 'datetime_local', 'passengers', 'luggage', 'vehicle_class'], 'properties': {'market': {'type': 'string', 'title': 'Market', 'default': 'FJ', 'maxLength': 2, 'minLength': 2}, 'pickup': {'$ref': '#/$defs/TransferLocation'}, 'dropoff': {'$ref': '#/$defs/TransferLocation'}, 'luggage': {'$ref': '#/$defs/Luggage'}, 'children': {'type': 'integer', 'title': 'Children', 'default': 0, 'minimum': 0}, 'passengers': {'type': 'integer', 'title': 'Passengers', 'maximum': 20, 'minimum': 1}, 'route_code': {'anyOf': [{'type': 'string', 'pattern': '^[a-z0-9_]+$', 'maxLength': 80, 'minLength': 2}, {'type': 'null'}], 'title': 'Route Code', 'default': None}, 'child_seats': {'type': 'integer', 'title': 'Child Seats', 'default': 0, 'maximum': 6, 'minimum': 0}, 'distance_km': {'anyOf': [{'type': 'number', 'minimum': 0}, {'type': 'null'}], 'title': 'Distance Km', 'default': None}, 'agent_source': {'anyOf': [{'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 80, 'minLength': 1}, {'type': 'null'}], 'title': 'Agent Source', 'default': None}, 'flight_number': {'anyOf': [{'type': 'string', 'pattern': '^[a-zA-Z0-9 .-]+$', 'maxLength': 30}, {'type': 'null'}], 'title': 'Flight Number', 'default': None}, 'vehicle_class': {'enum': ['sedan', 'suv', 'van', 'car_4', 'van_4', 'van_8', 'van_12', 'luxury_car', 'coaster_22', 'shared_coach', 'standard_car', 'golf_car', 'executive_minibus', 'family_minibus', 'deluxe_suv', 'luxury_family', 'luxury_suv'], 'type': 'string', 'title': 'Vehicle Class'}, 'datetime_local': {'type': 'string', 'title': 'Datetime Local'}, 'quote_currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Quote Currency', 'default': None}, 'agent_session_id': {'anyOf': [{'type': 'string', 'pattern': '^[a-zA-Z0-9._:-]+$', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}], 'title': 'Agent Session Id', 'default': None}, 'customer_preferred_currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Customer Preferred Currency', 'default': None}}}
Esquema de salida
{'type': 'object', 'required': ['market', 'status', 'preview', 'persisted', 'booking_eligible_from_preview', 'next_action'], 'properties': {'market': {'type': 'string'}, 'status': {'type': 'string'}, 'preview': {'type': 'boolean', 'const': True}, 'persisted': {'type': 'boolean', 'const': False}, 'next_action': {'type': 'string'}, 'booking_eligible_from_preview': {'type': 'boolean', 'const': False}}, 'additionalProperties': True}
Modificado
list_rental_vehicles
25 de September de 2026 a las 02:58
Modificado
preview_private_driver_quote
23 de September de 2026 a las 02:49
Modificado
get_destination_details
23 de September de 2026 a las 02:49
Modificado
list_destinations
23 de September de 2026 a las 02:49
Añadido
preview_rental_quote
17 de September de 2026 a las 12:52
Añadido
list_rental_vehicles
17 de September de 2026 a las 12:52
Añadido
preview_private_driver_quote
17 de September de 2026 a las 12:52
Añadido
preview_transfer_quote
17 de September de 2026 a las 12:52
Añadido
get_destination_details
17 de September de 2026 a las 12:52
Añadido
list_destinations
17 de September de 2026 a las 12:52
Añadido
list_providers
17 de September de 2026 a las 12:52
Añadido
list_markets
17 de September de 2026 a las 12:52