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日3:03
追加
ask_about_hotel
2026年9月27日2:54
変更
get_order_details
2026年9月23日2:54
変更
purchase_hotel
2026年9月23日2:54
変更
get_hotel_details
2026年9月23日2:54
変更
search_hotels
2026年9月23日2: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