MCP 服务器

mcp

com.trip1/mcp
旅行与酒店 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

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.
可访问外部资源 幂等
输入模式
{'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}
输出模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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}
输出模式
{'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.
可能执行破坏性操作 可访问外部资源
输入模式
{'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}
输出模式
{'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.
只读 可访问外部资源 幂等
输入模式
{'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}
输出模式
{'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'}}}
已移除
ask_about_hotel
2026年9月29日 03:03
已添加
ask_about_hotel
2026年9月27日 02:54
已更改
get_order_details
2026年9月23日 02:54
已更改
purchase_hotel
2026年9月23日 02:54
已更改
get_hotel_details
2026年9月23日 02:54
已更改
search_hotels
2026年9月23日 02:54
已添加
get_order_details
2026年9月17日 12:38
已添加
purchase_hotel
2026年9月17日 12:38
已添加
get_hotel_details
2026年9月17日 12:38
已添加
search_hotels
2026年9月17日 12:38