viator-mcp について
viator-mcp は Claude を Viator Partner API に接続し、ツアー、アクティビティ、旅行情報を読み取り専用で検索する MCP サーバーです。条件指定検索とフリーテキスト検索に対応し、商品の空き状況や目的地情報も取得できます。
主な機能
- 01条件を指定した商品の検索
- 02フリーテキスト検索
- 03商品詳細と空き状況の取得
- 04観光名所と目的地の閲覧
- 05場所と為替レートの照会
活用シーン
- 01条件に合うツアーの検索
- 02商品の詳細と空き状況の確認
- 03目的地の観光名所の探索
- 04目的地や通貨の参照情報の取得
MCP 対応
Viator Partner API の読み取り専用検索と参照データを MCP ツールとして提供します。予約エンドポイントはなく、商品情報には予約 URL が含まれます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @chrischall/viator-mcpVIATOR_API_KEYシークレットViator Partner API key (exp-api-key) — free Basic Access affiliate signup at partnerresources.viator.comVIATOR_API_BASE_URLAPI host (default production; set https://api.sandbox.viator.com/partner for a sandbox key)VIATOR_LANGUAGEAccept-Language for response text, e.g. en-US, es, fr, de, ja (default en-US)VIATOR_CACHE_TTLSeconds to cache identical read responses (default 60; 0 disables)VIATOR_STATIC_CACHE_TTLSeconds to cache reference data — destinations, tags, locations, rates (default 3600; 0 disables)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
11掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| sort | enum | いいえ | 並べ替えキー(デフォルト:DEFAULT — Viator の関連性)DEFAULT | PRICE | TRAVELER_RATING | ITINERARY_DURATION | DATE_ADDED |
| tags | array | いいえ | 商品が一致する必要があるタグ ID(vt_list_product_tags から取得) |
| view | enum | いいえ | レスポンス形式:"compact"(デフォルト)は、レスポンス内の別の場所にすでに含まれているフィールドを省略します。"full" は、このサーバーが認識するすべてのフィールドを返します。compact(デフォルト)では、各結果を商品コード、タイトル、最低価格と通貨、評価、レビュー数、所要時間、確認タイプ、フラグ、予約 URL、カバー画像に絞り込みます。Viator の形式が変更された場合は、メディアを除いた生のレスポンスにフォールバックします。"full" は Viator のペイロードをそのまま返します。compact | full |
| count | integer | いいえ | ページあたりの結果数(最大 50、デフォルト 10) |
| flags | array | いいえ | 商品フラグ。例:FREE_CANCELLATION、LIKELY_TO_SELL_OUT、PRIVATE_TOUR |
| order | enum | いいえ | 並べ替え方向ASCENDING | DESCENDING |
| start | integer | いいえ | 返す最初の結果の 1 始まりのインデックス |
| currency | enum | いいえ | リクエスト/レスポンスの価格に使用する通貨(デフォルト USD)AED | ARS | AUD | BRL | CAD | CHF | CLP | CNY | COP | DKK | EUR | FJD | GBP | HKD | IDR | ILS | INR | ISK | JPY | KRW | MXN | MYR | NOK | NZD | PEN | PHP | PLN | RUB | SEK | SGD | THB | TRY | TWD | USD | VND | ZAR |
| end_date | string | いいえ | この日付以前に催行される商品のみ(YYYY-MM-DD) |
| max_rating | number | いいえ | 旅行者の平均評価の上限(0-5) |
| min_rating | number | いいえ | 旅行者の平均評価の下限(0-5) |
| start_date | string | いいえ | この日付以降に催行される商品のみ(YYYY-MM-DD) |
| destination | string | いいえ | 目的地 ID(vt_list_destinations から取得)。例:パリの場合は "732" |
| lowest_price | number | いいえ | 最低価格(選択した通貨) |
| highest_price | number | いいえ | 最高価格(選択した通貨) |
| campaign_value | string | いいえ | アフィリエイトキャンペーンのトラッキング ID — Viator が返す productUrl/attractionUrl/destinationUrl に追加されます |
| max_duration_minutes | integer | いいえ | 商品の所要時間の上限(分) |
| min_duration_minutes | integer | いいえ | 商品の所要時間の下限(分) |
詳細
viator-mcp
Viator Partner API(v2)用のMCP サーバーです。Claude 向けにツアー、アクティビティ、体験を検索できます。構造化フィルターまたはフリーテキストでカタログを検索し、商品詳細や空き状況のスケジュールを取得したり、アトラクションや目的地を参照したりできます。すべて stdio 経由で利用できます。
AI(Claude Code)によって開発・保守されています。ご自身の判断でご利用ください。
クイックスタート
{
"mcpServers": {
"viator": {
"command": "npx",
"args": ["-y", "@chrischall/viator-mcp"],
"env": { "VIATOR_API_KEY": "your-viator-partner-api-key" }
}
}
}
partnerresources.viator.com で Viator アフィリエイトに登録して、キーを取得してください。Basic Access ティアは無料です。このサーバーはこのティアを対象としており、読み取り専用の検索、コンテンツ、空き状況の確認に対応しています。予約用エンドポイントはありません(商品の結果には、アフィリエイト ID が付与された viator.com の予約用 productUrl が含まれます)。
ツール
| 分野 | ツール |
|---|---|
| 商品 | vt_search_products、vt_get_product、vt_list_product_tags |
| 検索 | vt_search_freetext |
| アトラクション | vt_search_attractions、vt_get_attraction |
| 空き状況 | vt_get_availability_schedule |
| 参照データ | vt_list_destinations、vt_get_locations、vt_get_exchange_rates |
| ヘルスチェック | vt_healthcheck — このコネクターは動作していますか? VIATOR_API_KEY が解決されたか、Viator がキーを受け入れたか、また修正すべき点があるかを報告します。他のツールが失敗した場合は、まずここを確認してください。結果が空でも、「商品がない」場合と「認証されていない」場合があります。 |
すべてのツールは読み取り専用です。vt_search_products と vt_search_freetext では、完全なレコードの代わりに簡潔な要約(コード、タイトル、価格、評価、予約 URL)を返す compact: true を指定できます。
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
VIATOR_API_KEY | はい | Viator Partner API キー(exp-api-key として送信) |
VIATOR_API_BASE_URL | いいえ | API ホスト(デフォルトは本番環境です。サンドボックスキーを使用する場合は https://api.sandbox.viator.com/partner を設定してください) |
VIATOR_LANGUAGE | いいえ | レスポンスのテキストに使用する Accept-Language(デフォルトは en-US) |
VIATOR_CACHE_TTL | いいえ | 同一の読み取りをキャッシュする秒数(デフォルトは 60。0 で無効化) |
VIATOR_STATIC_CACHE_TTL | いいえ | 参照データ(目的地、タグ、場所、為替レート)をキャッシュする秒数(デフォルトは 3600) |
Viator はローリング 10 秒間のウィンドウでエンドポイントごとにレート制限を設けており、429/503 の応答では Retry-After を返します。クライアントはこの値に従って(1 回)再試行し、レスポンスキャッシュによって同一の呼び出しの繰り返しが抑えられます。
開発
npm install
npm test # vitest; no real network calls
npm run build # tsc + esbuild bundle
このサーバーが準拠する API の仕様は、docs/VIATOR-API.md に固定されています。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。