mcpField
P
pricewin-price-comparison

pricewin-price-comparison

github.com/price-win生産性210.5k 回インストール11 週間前に更新
リポジトリ

pricewin-price-comparison について

pricewin-price-comparisonは、pricewin MCPサーバーを使ってホテル料金を比較する旅行計画向けスキルです。Booking.com、Agoda、Traveloka、OpenTravelの結果を比較する手順を示し、スキル自体はネットワーク通信を行いません。

主な機能

  1. 01都市別のホテル料金検索
  2. 02指定ホテルの詳細取得
  3. 03複数ソース間の料金比較
  4. 04OpenTravelのキャンセル条件確認

活用シーン

  1. 01都市内のホテル料金を日付指定で比較
  2. 02指定ホテルのOTA料金を確認
  3. 03OpenTravel料金のキャンセル期限を確認

MCP 対応

pricewin MCPサーバーへの接続が必要で、そのツールを使ってホテルと料金のデータを取得します。検索内容はPriceWinのホスト型MCPサーバーに送られ、スキル自体はネットワーク通信を行いません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/price-win/pricewin-skills-hub --skill pricewin-price-comparison

インストール後、Claude Code で/pricewin-price-comparisonを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

reference.md
SECURITY.md
skill-card.md

詳細

pricewin MCP サーバーが必要です。このスキル自体はネットワーク呼び出しを行いません。

価格比較

MCP サーバー: pricewin。Booking.com、Agoda、Traveloka(クロール)と OpenTravel(直接 API)のリアルタイム料金を比較します。

比較は返されたソースを対象に行います。サーバー側に比較呼び出しはありません。ユーザーが提供した情報に応じて、入口を選んでください。

ユーザーが提供した情報ツール
都市 — 「ダナンのホテル料金を比較して」search_hotels_live → poll_search_results
ホテル名 — 「メルキュール ダナンは Agoda と Booking のどちらが安い?」get_ota_hotel_detail
すでに OpenTravel 直販と判明しているホテル(source: "OPENTRAVEL_DIRECT"、propertyId あり)get_hotel_detail

都市全体の比較

search_hotels_live は sessionId を返して即時に応答します。ホテルは返しません。

  1. search_hotels_live — 必須:city、checkIn、checkOut(YYYY-MM-DD)。任意:adults(デフォルトは 2)、rooms、area、hotelName、priceMin、priceMax、language
  2. 5 秒待機 → poll_search_results(sessionId, nights)
  3. status が pending または partial の間は、5 秒待って再度ポーリングします(最大 18 回、90 秒)
  4. ホテルを含む status == "partial" が返されたら、すぐに提示します。ポーリングは引き続きユーザーに知らせず行い、内容を改善します

その後、各ホテルについてソース間で比較します。重複排除と提示方法に関する完全な仕様は、pricewin-hotel-search を参照してください。ここで異なる形で書き直さないでください。

ホテル名を指定した検索

get_ota_hotel_detail — ユーザーが指定した、特定の Booking.com/Agoda のホテルに使用します。

  • 必須:checkIn、checkOut。分かっている場合は hotelName + city + queryText(ユーザーの入力そのまま)を渡します
  • ホテル名が指定されている場合、search_hotels_live を呼び出さないでください — 都市全体の一覧が返されます
  • ライブクロールには約 20~60 秒かかります。実際に応答が返るまでは「読み込み中」などと案内しないでください
  • 速度を上げる方法:前回の検索結果に prices.booking.url がある場合、propertyUrl として渡すと名前の解決を省略できます
  • 負荷時に見つからないという結果が返された場合は、1 回だけ再試行します

この施設の客室、料金、設備、写真、レビューが返されます。

OpenTravel 直販施設

get_hotel_detail — source: "OPENTRAVEL_DIRECT" の結果にのみ使用します。

  • 利用可能な場合は propertyId(opentravelResults[].propertyId の UUID)を渡します
  • hotelName + city は、OpenTravel 直販と確認済みの施設に限り、代替として使用できます
  • 必須:checkIn、checkOut。任意:adults、children、language
  • roomTypeId と ratePlanId を含む客室タイプが返されます。これらは施設の予約に必要です

⚠️ ルーターのルール:propertyId がある場合は get_hotel_detail。名前のみの場合は get_ota_hotel_detail。

キャンセル条件

OpenTravel の料金プランのみ対象です:get_cancellation_policy(propertyId, ratePlanId, checkInDate) → 返金不可フラグ、無料キャンセル期間、返金率、計算済みの期限が返されます。

ratePlanId は get_hotel_detail → roomTypes[].ratePlanId から取得します。checkInDate を渡さないと期限が返されません。OTA ホテルには構造化されたポリシーがありません。クロールで返された情報をそのまま提示してください。

比較結果の提示

  • 価格のみで順位を付けます。OpenTravel を含め、優先するソースはありません
  • 最安のソースを最初に示し、その下にほかのソースを続けます: Agoda $X · Booking $Y · OpenTravel $Z
  • 次に安いソースと比べた節約率:(次点 − 最安) / 次点 * 100 →「Z%お得」
  • 価格差が小さい場合は、無料キャンセル可能なプランを優先し、その理由を伝えます
  • ツールに別途記載がない限り、価格はすべて USD です。換算しないでください

ツールの入力とレスポンスフィールドについては、reference.md を参照してください。

セキュリティとデータの取り扱い

ドキュメントのみです。コードや依存関係はなく、独自のネットワーク呼び出しも行いません。送信されるデータは、PriceWin のホスト型 MCP サーバー https://mcp.price.win/mcp に送る比較クエリ(都市名またはホテル名、日付、宿泊人数に加えて、ユーザーのメッセージをそのまま記載した queryText)のみです(認証情報やアカウント情報は含みません)。個人を特定できる情報(PII)は含まれず、このスキルでは予約や支払いもできません。運営者、バックエンドの出所、ツールごとの正確なフィールドについては、SECURITY.md で全面的に開示しています。

コメント