🚀 Airbnb Search & Listings - Desktop Extension (DXT)
この拡張機能は、高度なフィルタリング機能を備えたAirbnbのリスティングを検索し、詳細な物件情報を取得するための包括的なデスクトップ拡張機能です。Model Context Protocol (MCP)サーバーとして構築され、Desktop Extension (DXT)形式でパッケージ化されており、互換性のあるAIアプリケーションで簡単にインストールして使用できます。
✨ 主な機能
🔍 高度な検索機能
- 都市、州、地域をサポートした位置ベースの検索
- 正確な位置指定のためのGoogle Maps Place IDの統合
- チェックイン日とチェックアウト日をサポートした日付フィルタリング
- 大人、子供、幼児、ペットを含む宿泊者設定
- 最低価格と最高価格の制約を持つ価格範囲フィルタリング
- 大量の検索結果を閲覧するためのページネーションサポート
🏠 詳細な物件情報
- 設備、ポリシー、ハイライトを含む包括的なリスティング詳細
- 座標と近隣の詳細を含む位置情報
- 予約判断のためのハウスルールとポリシー
- 物件の説明と主要な特徴
- 簡単な予約のためのAirbnbリスティングへの直接リンク
🛡️ セキュリティとコンプライアンス
- テスト用に設定可能なオーバーライドを備えたRobots.txtコンプライアンス
- ハングリクエストを防ぐためのリクエストタイムアウト管理
- 詳細なロギングを備えた強化されたエラーハンドリング
- レート制限の認識と適切なAPI使用
- DXTユーザー設定による安全な設定
📦 インストール
Claude Desktop用
この拡張機能はDesktop Extension (DXT)ファイルとしてパッケージ化されています。インストールするには:
- リリースページから
.dxtファイルをダウンロードします。
- 互換性のあるAIアプリケーション(例:Claude Desktop)を開きます。
- アプリケーションの拡張機能マネージャーを通じて拡張機能をインストールします。
- 必要に応じて拡張機能の設定を構成します。
Cursorなど用
始める前に、npxを使用するためにデスクトップにNode.jsがインストールされていることを確認してください。
- 「Cursor Settings > Tools & Integrations > New MCP Server」に移動します。
- 以下のいずれかを
mcp.jsonに追加します。
{
"mcpServers": {
"airbnb": {
"command": "npx",
"args": [
"-y",
"@openbnb/mcp-server-airbnb"
]
}
}
}
すべてのリクエストでrobots.txtを無視するには、--ignore-robots-txt引数を使用したこのバージョンを使用します。
{
"mcpServers": {
"airbnb": {
"command": "npx",
"args": [
"-y",
"@openbnb/mcp-server-airbnb",
"--ignore-robots-txt"
]
}
}
}
- 再起動します。
💻 使用例
基本的な使用法
npm install
npm run build
npm run watch
高度な使用法
node dist/index.js
node dist/index.js --ignore-robots-txt
📚 ドキュメント
airbnb_search
包括的なフィルタリングオプションでAirbnbのリスティングを検索します。
パラメーター:
location (必須): 検索する場所(例: "San Francisco, CA")
placeId (オプション): Google Maps Place ID(場所を上書きします)
checkin (オプション): YYYY-MM-DD形式のチェックイン日
checkout (オプション): YYYY-MM-DD形式のチェックアウト日
adults (オプション): 大人の人数(デフォルト: 1)
children (オプション): 子供の人数(デフォルト: 0)
infants (オプション): 幼児の人数(デフォルト: 0)
pets (オプション): ペットの数(デフォルト: 0)
minPrice (オプション): 1泊あたりの最低価格
maxPrice (オプション): 1泊あたりの最高価格
cursor (オプション): 検索結果を閲覧するためのページネーションカーソル
ignoreRobotsText (オプション): このリクエストでrobots.txtを無視する
戻り値:
- 物件詳細、価格、および直接リンクを含む検索結果
- 追加の結果を閲覧するためのページネーション情報
- 参照用の検索URL
airbnb_listing_details
特定のAirbnbリスティングの詳細情報を取得します。
パラメーター:
id (必須): AirbnbリスティングID
checkin (オプション): YYYY-MM-DD形式のチェックイン日
checkout (オプション): YYYY-MM-DD形式のチェックアウト日
adults (オプション): 大人の人数(デフォルト: 1)
children (オプション): 子供の人数(デフォルト: 0)
infants (オプション): 幼児の人数(デフォルト: 0)
pets (オプション): ペットの数(デフォルト: 0)
ignoreRobotsText (オプション): このリクエストでrobots.txtを無視する
戻り値:
- 以下を含む詳細な物件情報:
- 座標を含む位置詳細
- 設備と施設
- ハウスルールとポリシー
- 物件のハイライトと説明
- リスティングへの直接リンク
🔧 技術詳細
アーキテクチャ
- ランタイム: Node.js 18+
- プロトコル: stdioトランスポートを介したModel Context Protocol (MCP)
- 形式: Desktop Extension (DXT) v0.1
- 依存関係: セキュリティと信頼性のために最小限の外部依存関係
エラーハンドリング
- タイムスタンプ付きの包括的なエラーロギング
- Airbnbのページ構造が変更された場合の適切な対応
- ネットワークリクエストのタイムアウト保護
- トラブルシューティングのための詳細なエラーメッセージ
セキュリティ対策
- デフォルトでのRobots.txtコンプライアンス
- リクエストタイムアウト制限
- 入力検証とサニタイズ
- 安全な環境変数の処理
- 機密データの保存なし
パフォーマンス
- Cheerioによる効率的なHTML解析
- 適切な場所でのリクエストキャッシュ
- 最小限のメモリ使用量
- 高速な起動と応答時間
互換性
- プラットフォーム: macOS、Windows、Linux
- Node.js: 18.0.0以上
- Claude Desktop: 0.10.0以上
- その他のMCPクライアント: MCPをサポートするすべてのアプリケーションと互換性があります。
開発
ソースからのビルド
npm install
npm run build
npm run watch
テスト
拡張機能は、MCPサーバーを直接実行することでテストできます。
node dist/index.js
node dist/index.js --ignore-robots-txt
法的および倫理的な考慮事項
- Airbnbの利用規約を尊重する: この拡張機能は正当な研究と予約支援のために使用されます。
- Robots.txtコンプライアンス: 拡張機能はデフォルトでrobots.txtを尊重します。
- レート制限: Airbnbのサーバーを圧迫しないように、リクエスト頻度に注意してください。
- データ使用: 正当な目的のためにのみ公開されている情報を抽出してください。
サポート
- 問題報告: バグや機能要求はGitHub Issuesで報告してください。
- ドキュメント: リポジトリに追加のドキュメントがあります。
- コミュニティ: MCPとDXTの開発に関するディスカッションに参加してください。
📄 ライセンス
MITライセンス - 詳細はLICENSEファイルを参照してください。
コントリビューション
コントリビューションは歓迎されます! コントリビューションガイドラインを読み、改善点についてプルリクエストを送信してください。
注意: この拡張機能はAirbnb, Inc.と関係はありません。公開されているAirbnbのリスティングを検索および分析するのを支援するために設計された独立したツールです。