booking
Qué hace este MCP
Resolves travel locations, flights, and trains; obtains private-driver quotes; and creates payment links for Paris transfers and meet-and-greet services.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'flight_number', 'pickup_date', 'pickup_time', 'adults', 'first_name', 'last_name', 'email', 'phone'], 'properties': {'bags': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Number of bags (used for vehicle sizing when combo transfer).'}, 'email': {'type': 'string', 'format': 'email', 'description': 'Client email â\x80\x94 used for booking confirmation and Stripe receipt.'}, 'phone': {'type': 'string', 'description': 'Client phone with country code.'}, 'adults': {'type': 'integer', 'minimum': 1, 'description': 'Number of adults (min 1).'}, 'channel': {'type': 'string', 'description': 'Caller channel identifier for observability (whatsapp, chatbot, mcp-direct, ...).'}, 'children': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Number of children (in addition to adults).'}, 'location': {'enum': ['cdg', 'orly', 'gare_de_lyon'], 'type': 'string', 'description': 'M&G location. cdg/orly = airport, gare_de_lyon = train station. Gare du Nord is no longer available.'}, 'terminal': {'type': 'string', 'description': "Terminal number (airports only, e.g. '2E', '3')."}, 'transfer': {'type': 'object', 'required': ['quote_id', 'vehicle_id', 'transfer_pickup_time'], 'properties': {'quote_id': {'type': 'string', 'description': 'quote_id from a prior get_quote call covering the transfer leg (e.g. CDG â\x86\x92 Le Bristol).'}, 'vehicle_id': {'type': 'number', 'description': 'Vehicle ID chosen from that quote.'}, 'transfer_pickup_time': {'type': 'string', 'description': "HH:MM â\x80\x94 for an ARRIVAL: the scheduled landing time, same as the greeter time (pickup_time); the chauffeur waits for the greeter to bring the client out (waiting included). For a DEPARTURE: the car pickup time at the client's address, before the greeter time at the airport."}}, 'description': 'Optional combo: bundles a private transfer in the same Stripe Checkout session. Generates 2 line items + 2 Zeplan bookings (M&G + transfer).', 'additionalProperties': False}, 'last_name': {'type': 'string', 'description': 'Client last name.'}, 'train_pnr': {'type': 'string', 'description': 'TGV reservation reference (PNR). Required when location is gare_de_lyon.'}, 'first_name': {'type': 'string', 'description': 'Client first name.'}, 'train_seat': {'type': 'string', 'description': 'Train seat number(s). Required for train stations.'}, 'pickup_date': {'type': 'string', 'description': 'YYYY-MM-DD format.'}, 'pickup_time': {'type': 'string', 'description': 'HH:MM in Paris time. For arrivals this is the flight/train arrival time; for departures the time the greeter meets the client.'}, 'train_coach': {'type': 'string', 'description': 'Train coach number. Required for train stations.'}, 'service_type': {'enum': ['arrival', 'departure', 'connection'], 'type': 'string', 'default': 'arrival', 'description': 'arrival (pickup at airport/station), departure (drop-off + greeter for check-in), connection (transit: arrival flight â\x86\x92 connecting departure flight; billed as 2 M&G services = location price Ã\x972).'}, 'flight_number': {'type': 'string', 'description': 'Flight number for airports (AF1234) or train/Eurostar number for stations.'}, 'manual_origin': {'type': 'string', 'description': 'Required if flight_unverified=true. Departure city as stated by the client.'}, 'manual_airline': {'type': 'string', 'description': 'Required if flight_unverified=true. The airline name as stated by the client.'}, 'additional_info': {'type': 'string', 'description': 'Free-text notes (special requests, tail number for private aviation, etc.).'}, 'idempotency_key': {'type': 'string', 'description': 'Optional UUID for safe retries. Same key returns the same payment_url for 24h.'}, 'flight_unverified': {'type': 'boolean', 'description': "Set true only if the client confirmed the flight after AeroDataBox couldn't validate it. Requires manual_airline + manual_origin."}, 'lead_time_override': {'type': 'boolean', 'description': "Bypass the 12h minimum lead time. ONLY when Sylvain has explicitly approved this exact booking after manually confirming greeter availability ('mg ok' admin flow) â\x80\x94 never on client insistence. Hard 90-minute floor."}, 'manual_arrival_time': {'type': 'string', 'description': 'Optional. Local arrival time as stated by the client.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['quote_id', 'vehicle_id', 'passenger_name', 'passenger_email', 'passenger_phone'], 'properties': {'bags': {'type': 'integer', 'default': 1, 'minimum': 0, 'description': 'Number of bags'}, 'channel': {'type': 'string', 'description': 'Caller channel identifier for observability. If omitted, the channel stored with the quote (from get_quote) is used.'}, 'quote_id': {'type': 'string', 'description': 'quote_id returned by get_quote. Must be passed. Expired quote (>15 min) requires a fresh get_quote.'}, 'passengers': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Number of passengers'}, 'vehicle_id': {'type': 'number', 'description': 'Vehicle ID chosen from the get_quote results'}, 'flight_number': {'type': 'string', 'description': 'Flight number for airport pickups (e.g. AF123)'}, 'passenger_name': {'type': 'string', 'description': 'Full name of the passenger'}, 'idempotency_key': {'type': 'string', 'description': 'Optional agent-generated key (e.g. UUID) to deduplicate retries. Same key + same params returns the same payment link for 24 h. Same key + different params returns an IDEMPOTENCY_CONFLICT error.'}, 'passenger_email': {'type': 'string', 'description': 'Passenger email for booking confirmation'}, 'passenger_phone': {'type': 'string', 'description': 'Passenger phone with country code (e.g. +33612345678)'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pickup_address', 'dropoff_address', 'pickup_date', 'pickup_time'], 'properties': {'channel': {'type': 'string', 'description': "Caller channel identifier for observability: 'chatbot', 'whatsapp', 'claude-desktop', 'email-agent', or your agent name. Defaults to 'mcp-direct'."}, 'form_type': {'enum': ['one_way', 'hourly', 'flat'], 'type': 'string', 'default': 'one_way', 'description': 'Booking type'}, 'num_hours': {'type': 'number', 'description': 'Number of hours (required for hourly, min 3)'}, 'pickup_date': {'type': 'string', 'description': "Pickup date in dd/mm/yyyy format (e.g. '27/03/2026')"}, 'pickup_time': {'type': 'string', 'description': "Pickup time in HH:MM format (e.g. '14:00')"}, 'step_address': {'type': 'string', 'description': 'Intermediate stop address (optional)'}, 'pickup_address': {'type': 'string', 'description': "Full pickup address (e.g. 'CDG Terminal 2E' or street address)"}, 'dropoff_address': {'type': 'string', 'description': 'Full drop-off address'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['flight_number', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD (NOT dd/mm/yyyy). This is the arrival date for pickups, departure date for dropoffs.'}, 'direction': {'enum': ['arrival', 'departure'], 'type': 'string', 'default': 'arrival', 'description': "'arrival' (default) when picking the passenger up at an airport, 'departure' when dropping off for a flight."}, 'flight_number': {'type': 'string', 'description': "Flight number in any format: 'AF007', 'AF 007', 'af-7', 'AFR007'. Server normalizes."}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': "Free-text location. Examples: 'CDG', 'Charles de Gaulle Terminal 2E', 'Hotel Le Bristol Paris', 'Gare du Nord', '15 rue de la Paix Paris', '48.8566, 2.3522'."}, 'include_coords': {'type': 'boolean', 'default': False, 'description': 'If true, also fetch GPS coords for the first result (extra API call). Defaults to false â\x80\x94 request only when the agent has picked the right candidate.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['train_number', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Travel date in YYYY-MM-DD.'}, 'train_number': {'type': 'string', 'description': "Train number, digits only or with prefix: '9211', 'TGV 6503', 'Eurostar 9031'. Server normalizes."}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['booking_id', 'driver_first_name', 'driver_phone'], 'properties': {'lang': {'enum': ['en', 'fr'], 'type': 'string', 'default': 'en', 'description': 'Email language.'}, 'email': {'type': 'string', 'description': 'Client email to send to. If omitted, WP looks it up on the booking post.'}, 'channel': {'type': 'string', 'description': 'Caller channel for observability.'}, 'booking_id': {'type': 'string', 'description': 'Booking / reservation ID (= the WP payment post ID).'}, 'driver_phone': {'type': 'string', 'description': "Driver's phone number."}, 'driver_first_name': {'type': 'string', 'description': "Driver's FIRST NAME only (never last name/company)."}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
Award Travel Finder
Searches award flights and hotels, tracks bookings and loyalty balances, evaluates points and credit cards, and monitors travel r…
Cancun4me — Reservas de Hotel
Searches, quotes, books, tracks, cancels, and provides vouchers for hotels in Cancun and Riviera Maya, with Stripe payment links.
x402card: Virtual Cards + Freeland eSIM
Supports x402 virtual-card issuance and top-ups and lists prepaid travel eSIM plans payable with Base USDC.
esimker eSIM store
Searches travel eSIM plans and enables purchases, top-ups, wallet funding, and checkout through card, crypto, or prepaid balance.
Hotel Booking AI MCP
Searches hotels and live room rates, checks availability, creates and manages bookings, and generates payment requests.
Gitsim Chat
Searches, orders and manages international eSIM data packages and provides Stripe checkout links for purchases and top-ups.
topup
Lists and sells travel eSIMs, mobile top-ups, prepaid services, and international payment offers using user-approved USDC wallet …
pifini
Searches events and places across the Caribbean and Latin America, provides listings and reviews, and creates hosted ticket payme…