MCP App Store
by KeenEthics

Overview

Carhopp finds and compares rental cars at airports, train stations, and cities worldwide. Search live prices from major agencies and local suppliers, filter by category (economy, SUV, van, premium), transmission, price, and free cancellation, then check rental conditions and continue to the provider's secure booking page. Ask things like "rent a car in Barcelona next weekend" or "cheap automatic SUV at CDG airport".

Tools

build_booking_url

ChatGPT
Internal continuation step: generate the server-built booking URL for an offer the user has explicitly chosen to book. Only call after the user has selected a specific offer and asked to proceed to booking or checkout; the widget surfaces the link via openExternal on explicit user click. Requires searchId, offerId, and sourceHost. Do not call this to search, compare, or browse cars (use search_car_rentals for that), and never generate a booking link before the user has picked an offer.

get_car_rental_details

ChatGPT
Use this when the user has already seen rental-car offers and wants full details on a specific one — rental conditions, deposit, insurance/coverage, mileage policy, cancellation terms, fuel policy, or a same-class supplier comparison (e.g. 'what's the deposit on that one?', 'is insurance included?', 'show me details'). Requires searchId and offerId from a prior search_car_rentals result. Data-only: chain render_car_details with the same searchId+offerId to display the detail widget. Does not search new inventory and does not book.

get_rental_locations

ChatGPT
Use this FIRST to resolve a free-text place — city, airport, train station, or hotel — into a specific pickup or drop-off location id before searching for cars (e.g. 'Barcelona', 'Lisbon airport', 'near Dubai Marina', 'alquiler en Málaga'). Returns matching locations with type, country, and coordinates so search_car_rentals uses the correct location. Use this whenever the pickup place is ambiguous or could be either a city or an airport. Data-only: it does not render a widget and does not book.

list_car_rentals

ChatGPT
Internal pagination step for the rental-car widget: returns a window of the cached search pool for a prior search_car_rentals result, applying the widget's current filters and sort over the whole pool. Requires searchId; accepts filters, sort, offset, and limit. Data-only — does not render a widget and does not search new inventory. Not selected from user intent; the widget calls it on scroll or filter.

refine_car_rentals

ChatGPT
Use this — NOT search_car_rentals — when rental-car results are already displayed in this conversation and the user narrows or re-orders the same trip: 'only SUVs', 'automatic only', 'under 300', 'cheapest first', 'with free cancellation'. Same pickup/drop-off and dates as the shown search, plus the new filters or sort. Returns data only and renders NO widget (re-rendering the widget is not supported by the host); summarize the top matching offers in text and remind the user they can also apply filters with the controls on the results card above. For a genuinely new trip (different location or dates) use search_car_rentals.

render_car_details

ChatGPT
Internal render step: display the car-details widget for an offer already fetched via get_car_rental_details, using the same searchId and offerId. Not a data tool — call get_car_rental_details first.

render_error_state

ChatGPT
Internal render step: display the error-state widget after a recoverable failure. Provide an error code, a user-facing message, and an optional retry hint. Not selected from user intent.

search_car_rentals

ChatGPT
Use this when the user wants to rent or hire a car, find a rental car / car hire, or compare car-rental prices to pick up at an airport, city, train station, or hotel for a date range. Triggers include phrasings like 'rent a car in Barcelona next weekend', 'cheap automatic SUV at Lisbon airport', 'I need a vehicle for a week in Italy', 'car for a family of 5 with luggage space', 'cheapest car rental with free cancellation', plus non-English equivalents: 'alquiler de coches' (ES), 'location de voiture' (FR), 'Mietwagen' (DE), 'noleggio auto' (IT). Searches live rental cars across major agencies and local suppliers (not peer-to-peer host-owned cars) and returns multiple comparable offers with daily and total price, supplier rating, transmission, seats, bags, category (economy/compact/SUV/van/premium), fuel policy, and coverage/cancellation badges, then renders the comparison widget. Honors optional filters (transmission, category, min seats, min bags, max price, supplier, trust badges) and sort (recommended, price_asc, rating_desc) — include them right away when the user's request carries criteria ('cheap automatic SUV'). Call this at most ONCE per trip: if results for this trip are already displayed and the user merely narrows or re-orders them ('only SUVs', 'under 300', 'cheapest first'), call refine_car_rentals instead — a repeated widget render is not supported by the host and shows an empty card. Resolve an ambiguous pickup place with get_rental_locations first. Not for flights, hotels, taxis/ride-hailing, or buying a car.

Capabilities

Interactive

Example Prompts

Click any prompt to copy it.

App Stats

8

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily