MCP-Server

mcp

com.trip1/mcp
Reisen & Hospitality Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Searches hotels, retrieves room rates and guest-review insights, and facilitates paid hotel bookings.

get_hotel_details
Get Hotel Details
Get rooms and rates for a hotel. Pass the hotel id from search_hotels results. Returns rate IDs needed for purchase_hotel. Each rate states its refundability and, when refundable, the cancellation deadline — quote these rather than inferring refund terms. When prices_changed is true, the price search_hotels quoted for this hotel is no longer the one on offer — tell the user prices changed rather than presenting these rates as the same quote.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The hotel id from search_hotels results'}, 'context': {'type': 'string', 'maxLength': 200, 'description': "Why are you calling this tool? Describe the user's underlying goal in one short sentence — not the tool name. Never include names, emails, phones, or prices. Always pass this. Used for analytics only; never shown to the user."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'star_rating', 'address', 'check_in', 'check_out', 'rooms', 'prices_changed'], 'properties': {'name': {'type': 'string'}, 'rooms': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'rates'], 'properties': {'name': {'type': ['string', 'null']}, 'rates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'board_type', 'price', 'currency', 'refundability', 'cancellation_deadline'], 'properties': {'id': {'type': 'string', 'description': 'Rate id to pass to purchase_hotel'}, 'price': {'type': 'number'}, 'currency': {'type': 'string'}, 'board_type': {'type': 'string'}, 'refundability': {'enum': ['fully_refundable', 'partially_refundable', 'non_refundable'], 'type': 'string'}, 'cancellation_deadline': {'type': ['string', 'null'], 'description': 'Free cancellation until this time for fully_refundable rates, partial refund until it for partially_refundable; null for non_refundable'}}}}}}}, 'address': {'type': ['string', 'null']}, 'check_in': {'type': 'string', 'description': 'Earliest check-in time, HH:MM'}, 'check_out': {'type': 'string', 'description': 'Latest check-out time, HH:MM'}, 'star_rating': {'type': 'integer'}, 'prices_changed': {'type': ['boolean', 'null'], 'description': 'true when these rates come from a different provider than the search_hotels quote; null when the search recorded no winner'}}}
get_order_details
Get Order Details
Get the current state of an order. Returns payment status, booking state, and item details. Poll until ready is true to confirm the booking is complete.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['cart_id'], 'properties': {'cart_id': {'type': 'string', 'description': 'The cart_id from purchase_hotel response'}, 'context': {'type': 'string', 'maxLength': 200, 'description': "Why are you calling this tool? Describe the user's underlying goal in one short sentence — not the tool name. Never include names, emails, phones, or prices. Always pass this. Used for analytics only; never shown to the user."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ready', 'cart_url', 'payment', 'booking'], 'properties': {'ready': {'type': 'boolean', 'description': 'true once payment settled and the booking is purchased — stop polling'}, 'booking': {'type': ['object', 'null'], 'required': ['state', 'booking_reference', 'contact', 'items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['state', 'price'], 'properties': {'price': {'type': 'number'}, 'state': {'type': 'string'}, 'currency': {'type': 'string'}, 'room_name': {'type': 'string'}, 'hotel_name': {'type': 'string'}, 'provider_reference': {'type': 'string'}}}}, 'state': {'type': 'string'}, 'contact': {'type': ['object', 'null'], 'required': ['first_name', 'last_name', 'email'], 'properties': {'email': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}}}, 'booking_reference': {'type': ['string', 'null']}}}, 'payment': {'type': ['object', 'null'], 'required': ['state', 'service', 'amount'], 'properties': {'state': {'type': 'string'}, 'amount': {'type': 'number'}, 'service': {'type': 'string'}, 'currency': {'type': 'string'}, 'transaction_hash': {'type': 'string'}}}, 'cart_url': {'type': 'string'}}}
purchase_hotel
Purchase Hotel
Book a hotel room by providing guest details and a rate ID from get_hotel_details. Creates a guest profile, adds the room to a cart, and initiates checkout. Returns a payment_url and an x402 payment challenge by default (USDC on Base). Set payment_service to 'coingate' to return a browser-based crypto payment URL instead. The booking is confirmed once payment settles; poll get_order_details to check status.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['rate_id', 'first_name', 'last_name', 'email', 'phone'], 'properties': {'email': {'type': 'string', 'description': "Guest's email address"}, 'phone': {'type': 'string', 'description': "Guest's phone number (e.g., +44123456789)"}, 'title': {'enum': ['MR', 'MRS', 'MS', 'MISS'], 'type': 'string', 'description': "Guest's title: MR, MRS, MS, or MISS (default: MR)"}, 'context': {'type': 'string', 'maxLength': 200, 'description': "Why are you calling this tool? Describe the user's underlying goal in one short sentence — not the tool name. Never include names, emails, phones, or prices. Always pass this. Used for analytics only; never shown to the user."}, 'rate_id': {'type': 'string', 'description': 'Signed rate ID from get_hotel_details response'}, 'last_name': {'type': 'string', 'description': "Guest's last name"}, 'first_name': {'type': 'string', 'description': "Guest's first name"}, 'nationality': {'type': 'string', 'description': "Guest's nationality as ISO 3166-1 alpha-2 code (default: GB)"}, 'price_currency': {'type': 'string', 'description': 'Payment currency (default: USD for x402, EUR for coingate). Supported: EUR, USD, GBP, PLN, CZK, HUF, SEK, NOK, DKK'}, 'payment_service': {'enum': ['x402', 'coingate'], 'type': 'string', 'description': 'Payment method: x402 (USDC on Base, default) or coingate (browser-based crypto)'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['cart_id', 'booking_reference', 'payment_url', 'message'], 'properties': {'cart_id': {'type': 'string', 'description': 'Pass to get_order_details to poll the booking'}, 'message': {'type': 'string', 'description': 'How to complete payment for the chosen payment_service'}, 'payment_url': {'type': ['string', 'null']}, 'booking_reference': {'type': ['string', 'null']}}}
search_hotels
Search Hotels
Search for available hotels by destination and dates. Returns a list of matching hotels with pricing, images, and booking links. Occupancy is fixed at 2 adults in one room and cannot be set. If the user asked for a different party size, tell them these prices are for 2 adults rather than presenting them as a quote for their group. Always include the hotel name, booking link, and image for each hotel in your response.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['destination', 'check_in', 'check_out'], 'properties': {'context': {'type': 'string', 'maxLength': 200, 'description': "Why are you calling this tool? Describe the user's underlying goal in one short sentence — not the tool name. Never include names, emails, phones, or prices. Always pass this. Used for analytics only; never shown to the user."}, 'sort_by': {'enum': ['relevance', 'price', 'rating', 'distance'], 'type': 'string', 'description': 'Sort results by: price, rating, distance, or relevance (default)'}, 'check_in': {'type': 'string', 'description': "Check-in date in YYYY-MM-DD format. Must be today or later in the destination's own timezone. Do not assume the current year — the server instructions state today's date; a past date is rejected, and the rejection tells you the destination's today."}, 'check_out': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format. Must be after check_in.'}, 'sort_order': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort order: asc (default) or desc'}, 'destination': {'type': 'string', 'description': "Destination name (e.g., 'London', 'Paris, France', 'Vilnius')"}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['total_results', 'hotels'], 'properties': {'hotels': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'star_rating', 'image_url', 'price', 'currency', 'booking_link'], 'properties': {'id': {'type': 'string', 'description': 'Hotel id to pass to get_hotel_details'}, 'name': {'type': 'string'}, 'price': {'type': 'number', 'description': 'Cheapest total stay price for 2 adults'}, 'currency': {'type': 'string'}, 'image_url': {'type': ['string', 'null']}, 'star_rating': {'type': 'integer'}, 'booking_link': {'type': 'string'}}}}, 'total_results': {'type': 'integer'}}}
Entfernt
ask_about_hotel
29. September 2026 03:03
Hinzugefügt
ask_about_hotel
27. September 2026 02:54
Geändert
get_order_details
23. September 2026 02:54
Geändert
purchase_hotel
23. September 2026 02:54
Geändert
get_hotel_details
23. September 2026 02:54
Geändert
search_hotels
23. September 2026 02:54
Hinzugefügt
get_order_details
17. September 2026 12:38
Hinzugefügt
purchase_hotel
17. September 2026 12:38
Hinzugefügt
get_hotel_details
17. September 2026 12:38
Hinzugefügt
search_hotels
17. September 2026 12:38