Tripadvisor MCP Server について
Tripadvisor MCP Server は、Tripadvisor Content API 向けの MCP サーバーで、地点データ、レビュー、写真に標準化されたインターフェースでアクセスできます。AI アシスタントに旅行先や体験を検索させたい開発者を対象としています。
主な機能
- 01ホテル、レストラン、観光地の検索
- 02特定の地点の詳細情報の取得
- 03地点のレビューと写真の取得
- 04座標に基づく周辺地点の検索
- 05API キーによる認証
- 06Docker によるコンテナ化対応
活用シーン
- 01AI アシスタントによる近隣のレストランや観光地の提案
- 02旅行計画アプリへのレビューと写真の提供
- 03コンテナ環境での旅行データ検索サービスの展開
MCP 対応
本プロジェクトは MCP サーバーとして動作し、検索、詳細、レビュー、写真の各ツールを MCP クライアントに公開します。クライアント側の設定で利用するツールを選択できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Tripadvisor MCP サーバー
Tripadvisor Content API 用の Model Context Protocol(MCP)サーバーです。
標準化された MCP インターフェースを通じて、Tripadvisor の場所データ、レビュー、写真にアクセスできます。これにより、AI アシスタントは旅行先や体験を検索できます。
機能
-
Tripadvisor で場所(ホテル、レストラン、観光スポット)を検索
-
特定の場所の詳細情報を取得
-
場所のレビューや写真を取得
-
座標をもとに近くの場所を検索
-
API キー認証
-
Docker コンテナー化に対応
-
AI アシスタント向けの対話型ツールを提供
ツールのリストは設定可能なため、MCP クライアントで利用できるようにするツールを選択できます。
使い方
-
Tripadvisor Developer Portal から Tripadvisor Content API キーを取得します。
-
.envファイルまたはシステム環境変数を使用して、Tripadvisor Content API の環境変数を設定します。
# Required: Tripadvisor Content API configuration
TRIPADVISOR_API_KEY=your_api_key_here
- サーバーの設定をクライアント設定ファイルに追加します。たとえば、Claude Desktop の場合は次のとおりです。
{
"mcpServers": {
"tripadvisor": {
"command": "uv",
"args": [
"--directory",
"<full path to tripadvisor-mcp directory>",
"run",
"src/tripadvisor_mcp/main.py"
],
"env": {
"TRIPADVISOR_API_KEY": "your_api_key_here"
}
}
}
}
注:Claude Desktop で
Error: spawn uv ENOENTが表示される場合は、uvの完全なパスを指定するか、設定で環境変数NO_UV=1を指定する必要があります。
Docker の使用方法
このプロジェクトは、簡単なデプロイと分離を実現するため、Docker に対応しています。
Docker イメージのビルド
次のコマンドで Docker イメージをビルドします。
docker build -t tripadvisor-mcp-server .
Docker での実行
Docker を使ってサーバーを実行する方法はいくつかあります。
docker run を直接使用する場合:
docker run -it --rm \
-e TRIPADVISOR_API_KEY=your_api_key_here \
tripadvisor-mcp-server
docker-compose を使用する場合:
Tripadvisor API キーを記載した .env ファイルを作成し、次のコマンドを実行します。
docker-compose up
Claude Desktop で Docker を使用して実行する
コンテナー化されたサーバーを Claude Desktop で使用するには、環境変数を使って Docker を実行するよう設定を更新します。
{
"mcpServers": {
"tripadvisor": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "TRIPADVISOR_API_KEY",
"tripadvisor-mcp-server"
],
"env": {
"TRIPADVISOR_API_KEY": "your_api_key_here"
}
}
}
}
この設定では、変数名のみを指定した -e フラグを使って Claude Desktop から Docker コンテナーに環境変数を渡し、実際の値は env オブジェクトで指定します。
開発
コントリビューションを歓迎します!ご提案や改善点がある場合は、Issue を作成するか、プルリクエストを送信してください。
このプロジェクトでは、依存関係の管理に uv を使用しています。お使いのプラットフォーム向けの手順に従って uv をインストールしてください。
curl -LsSf https://astral.sh/uv/install.sh | sh
その後、次のコマンドで仮想環境を作成し、依存関係をインストールできます。
uv venv
source .venv/bin/activate # On Unix/macOS
.venv\Scripts\activate # On Windows
uv pip install -e .
プロジェクト構成
このプロジェクトは src ディレクトリー構成で整理されています。
tripadvisor-mcp/
├── src/
│ └── tripadvisor_mcp/
│ ├── __init__.py # Package initialization
│ ├── server.py # MCP server implementation
│ ├── main.py # Main application logic
├── Dockerfile # Docker configuration
├── docker-compose.yml # Docker Compose configuration
├── .dockerignore # Docker ignore file
├── pyproject.toml # Project configuration
└── README.md # This file
テスト
このプロジェクトには、機能を検証し、デグレードを防ぐためのテストスイートが含まれています。
次のコマンドで pytest を実行します。
# Install development dependencies
uv pip install -e ".[dev]"
# Run the tests
pytest
# Run with coverage report
pytest --cov=src --cov-report=term-missing
ツール
| ツール | カテゴリー | 説明 |
|---|---|---|
search_locations | 検索 | クエリテキスト、カテゴリー、その他のフィルターで場所を検索します |
search_nearby_locations | 検索 | 指定した座標の近くにある場所を検索します |
get_location_details | 取得 | 場所の詳細情報を取得します |
get_location_reviews | 取得 | 場所のレビューを取得します |
get_location_photos | 取得 | 場所の写真を取得します |
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。