@openbnb/mcp-server-airbnb
Airbnb Search & Listings - MCP Bundle (MCPB)
Airbnbのリスティングを高度なフィルタリング機能付きで検索し、詳細な物件情報を取得するための包括的なMCP Bundleです。Model Context Protocol (MCP) サーバーとして構築され、MCP Bundle (MCPB) 形式でパッケージされているため、対応したAIアプリケーションへのインストールと使用を簡単にします。
🚀 ローカルサーバーを実行したくないですか? openbnb.ai をお試しください
👉 openbnb.ai は、ローカルセットアップなしで、Airbnb のリスティング検索という同じ問題を解決するホスト型MCPサーバーです。
このサーバーを自分でインストールして実行する手間を避けたい場合は、openbnb が、MCP クライアントから直接接続できる、完全ホスト型の代替手段です。このオープンソースサーバーが提供する機能を超えています:
✅ ゼロセットアップ — Node も
npxも、設定ファイルも、管理する更新も不要です✅ 高度なフィルタリング — ここにある基本のツールを超える充実した検索コントロール
✅ MCP UI — 結果を閲覧するためのインタラクティブなUIコンポーネント(単なるテキストではありません)
✅ マネージド&メンテナンス — お客様の代わりに稼働し続けます
セットアップ手順と、MCP クライアントの接続情報については、openbnb.ai をご覧ください。
オープンソースサーバーをセルフホストしたい場合は、この先をお読みください。
特徴
🔍 高度な検索機能
場所ベースの検索 — 都市、州、地域に対応
国際的な場所のサポート — クライアントサイドジオコーディングにより、米国外のクエリ(例:「パリ、フランス」「コペンハーゲン、デンマーク」)でも正しい都市に結果を返します
Google Maps Place ID との統合 — 正確な場所の指定が可能
物件タイプフィルタリング — 一軒家、個室部屋、共用部屋、ホテルルーム
日付フィルタリング — チェックイン日とチェックアウト日に対応
宿泊人数の設定 — 大人、子供、子供、幼児、ペットを含む
価格帯フィルタリング — 最低価格と最高価格の指定が可能
ページネーション — 多くの検索結果を閲覧するための対応
🏠 詳細な物件情報
包括的なリスティング詳細 — 設備、ポリシー、ハイライトを含む
位置情報 — 座標と近隣情報を含む
ハウスルールとポリシー — 予約判断に役立つ情報
物件の説明と主な特徴
Airbnbリスティングへの直接リンク — スムーズな予約を実現
🛡️ セキュリティと法令遵守
robots.txt 遵守 — テスト用に設定可能なオーバーライド付き
リクエストタイムアウト管理 — ハングしたリクエストを防止
詳細なログによる拡張エラーハンドリング
レートリミット認識 — 相手先に配慮した API の利用
MCPB ユーザー設定による安全な設定
インストール
Claude Desktop の場合
この拡張機能はMCP Bundle(.mcpb)ファイルとしてパッケージされています。インストールには:
最新の リタンス から
.mcpbファイルをダウンロードするファイルを開く — Claude Desktop にインストールダイアログが表示される
必要に応じて拡張機能の設定を行う
robots.txt を無視するには、Claude Desktop の設定を開き、拡張機能に移動して、Ignore robots.txt トグルを有効にします。
Cursor などの場合
始める前に、npx 動作させるために、お使いのデスクトップに Node.js がインストールされていることを確認してください。
Cursor 設定 > ツール & 統合 > 新しい MCP サーバー の順に移動します。
以下のいずれかを
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" ] } } }再起動します。
設定
拡張機能には、ユーザーが設定できる以下のオプションがあります:
robots.txt を無視する
タイプ: ブール値(チェックボックス)
デフォルト:
false説明: Airbnb へのリクエスト時に robots.txt の制限を回避します
推奨: テスト目的ではない限り無効のままにしてください
サードパーティのジオコーディングを無効にする
タイプ: ブール値(チェックボックス)
環境変数:
DISABLE_GEOCODINGデフォルト:
false説明: Photon/Nominatim のジオコーディング手順をスキップし、Airbnb が場所の文字列を自分で解決できるようにします。これを有効にすると、PR 以前動作を除外します。 — すべての検索が
airbnb.comへのみ行われ、サードパーティの呼び出しはありません。推奨: ゼロ・サードパーティ・アウトバウンドトラフィックが特別な必要がない限り、無効のままにしてください。有効にすると、米国外の検索で誤った結果を返す可能性があります。外部サービス を参照してください。
ツール
airbnb_search
包括的なフィルタリングオプションを使って Airbnb のリスティングを検索します。
パラメータ:
location(必須) : 検索する場所(例:「サンフランシスコ、CA」)。placeIdがない場合、サーバーはこの文字列を Photon/Nominatim 経由でクライアント側でジオコーディングします — 外部サービス を参照してください。placeId(オプション): Google マップの Place ID。locationをコスオーバーし、クライアント側のジオコーディングを完全にスキップします(サードパーティの呼び出しなし)。checkin(オプション): チェックイン日(YYYY-MM-DD 形式)checkout(オプション): チェックアウト日(YYYY-MM-DD 形式)adults(オプション): 大人の人数(デフォルト: 1)children(オプション): 子供の人数(デフォルト: 0)infants(オプション): 乳幼児の人数(デフォルト: 0)pets(オプション): ペットの数(デフォルト: 0)minPrice(オプション): 一泊の最低価格maxPrice(オプション): 一泊の最高価格cursor(オプション): 結果を閲覧するためのページネーションカーソルpropertyType(オプション): 物件タイプでフィルタ —entire_home、private_room、shared_room、またはhotel_roomignoreRobotsText(オプション): このリクエストの robots.txt を上書きします
戻り値:
物件詳細、価格、ダイレクトリンクを含む検索結果
さらに結果を閲覧するためのページネーション情報
参照用の検索 URL
airbnb_listing_details
特定の Airbnb リスティングの詳細情報を取得します。
パラメータ:
id(必須) : Airbnb のリスティング IDcheckin(オプション): チェックイン日(YYYY-MM-DD 形式)checkout(オプション): チェックアウト日(YYYY-MM-DD 形式)adults(オプション): 大人の人数(デフォルトで1)children(オプション): 子供の人数(デフォルト: 0)infants(オプション): 乳幼児の人数(デフォルト: 0)pets(オプション): ペットの数(デフォルト: 0)ignoreRobotsText(オプション): このリクエストの robots.txt を上書きします
戻り値:
詳細な物件情報。次の内容が含まれます:
座標を含む位置情報
アメニティと施設设备。
seeAllAmenitiesGroupsとして提供され、カテゴリ別にキーイングされたオブジェクトです。そのため、カテゴリを直接参照できます。Airbnbが打ち消し線で表示するアメニティは、固有の"Not included"カテゴリの下に表示されます。
{ "seeAllAmenitiesGroups": { "Bathroom": "Hair dryer", "Heating and cooling": "AC - split type ductless system, Heating", "Not included": "Dryer, Hot water" } }ハウスルールとポリシー
物件の詳細と説明
リスティングへの直接リンク
技術的な詳細
アーキテクチャ
ランタイム: Node.js 18+
プロトコル: stdioトランスポートを介したモデルコンテキストプロトコル (MCP)
形式: MCP Bundle (MCPB) v0.3
依存関係: セキュリティと信頼性を考慮した最小限の外部依存関係
外部サービス
airbnb.com に加えて、サーバーはロケーションクエリを正確な地図バウンディングボックスに変換するために、2つのサードパーティーのジオコーディングサービスにリクエストを行います。これにより、Airbnb のサーバーサイドのジオコーダーが多くの米国国外のクエリ(例えば「Paris, France」は Vendée に、「Copenhagen, Denmark」は Wisconsin になる)で誤った結果を生じる問題を回避できます。
サービス | エンドポイント | 用途 | 備考 |
`photon.komoot.io」 | プライマリジオコーダー。 | Komoot が運用する無料の OSM ベースのサービスです。検索1件につき1リクエスト。 | |
| Photon がバウンディングボックスを返さない場合のみ呼び出されるフォールバックジオコーダー | OSMF 利用ポリシー の対象(最大約1 req/秒) |
各検索でジオコーダーにはリクエスト内の location 文字列のみが送信されます。他のリクエストフィールド、IP 位置情報、トラッキング識別子は送信されません。もちろん、場所の文字列はユーザーが入力したものと同じ文字列です。
オプトアウトする方法は2つあります:
リクエストごと:明示的に
placeIdを指定します。placeIdがある場合、サーバーはサードパーティの呼び出しなしで Airbnb 独自の場所検索を直接使用します。グローバル:環境変数
DISABLE_GEOCODING=trueを設定します。サーバーは Photon/Nominatim を完全にスキップし、生の location 文字列を Airbnb に渡します。これによりすべての検索でPR 以前の動作を復元し、サードパーティへのアウトバウンド通信をゼロに保証します — ただし、Airbnb 独自のジオコーダーが誤処理する米国以外の地域では、結果が壊れる可能性があります。デフォルトはfalseです。
ジオコーダーに到達できない場合や結果がない場合、サーバーは以前と同様に「location」文字列を Airbnbbus に直接送信します。したがって、障害時の最悪のケースは、国際検索が以前の(不完全な)動作に低下するだけで、検索自体が完全に失敗するわけではありません。
エラー処理
詳細なログ記録(タイムスタンプ付き)
Airbnb のページ構造変更時は、徐々に正常終了
ネットワークリクエストのタイムアウト保護
トラブルシューティングのための詳細なエラーメッセージ
セキュリティ対策
デフォルトで robots.txt を尊重
リクエストタイムアウト制限
入力検証とサニタイズ
安全な環境変数の管理
機密データを保存しない
パフォーマンス
Cheerio による効率的なHTML解析
適切な場合はリクエストのキャッシュ
メモリ使用量を最小限に抑制
高速な起動と応答
互換性
プラットフォーム: macOS、Windows、Linux
Node.js: 18.0.0 以上
Claude Desktop: 0.10.0 以上
その他 MCP クライアント: MCP に対応するアプリケーションと互換性がある
開発
ソースからビルド
# Install dependencies
npm install
# Build the project
npm run build
# Watch for changes during development
npm run watchテスト
# Build, then run both suites
npm testnpm test はビルド済みサーバーを stdio を通じて動作し、ツールを実際に呼び出します:
test-extension.js— MCP ハンドシェイク、ツール一覧、検索、リスニング詳細、ジオコーディングの流れ(Photon、Nominatimフォールバック)test-amenities.js— 複数の実在リスニングからのアメニティ抽出を確認し、Airbnb が打ち消し線で表示するアメニティが「提供されるアメニティ」として表示されなることを検査します
どちらも airbnb.com とジオコーダーへネットワークアクセスするため、インターネット接続が必要です。また、サービスのページ構造を変更した場合に失敗する可能性があります — それが存在目的でもありますが、同時に無人化されたCIゲートウェイには適していません。
サーバーは直接実行することもできます:
以下を実行します。
# Run with robots.txt compliance (default)
node dist/index.js
# Run with robots.txt ignored (for testing)
node dist/index.js --ignore-robots-txt法的・倫理的配慮
Airbnb の利用規約の尊重: この拡張機能は、適切な調査と予約サポートを目的とする
robots.txt の遵守: 拡張機能によりデフォルトで robots.txt が尊重される
レートリミット: Airbnb サーバーに過剰な負荷かけないよう、リクエスト頻度に注意する
データ利用: また合法的な目的のために、公に入手可能な情報のみを抽出する
サポート
問題: バグや機能リクエストは GitHub Issues までお知らせください
ドキュメント: リポジトリに追加のドキュメントが参照できます
コミュニティ: MCP と MCPB 開発についての議論に参加しましょう
ライセンス
MIT ライセンス — 詳細は LICENSE ファイルをご参照ください。
コントリビューション
コントリビューションを歓迎します!コントリビューションガイドラインをお読みいただき、改善点があればプルリクエストをお送りください。
注記: この拡張機能はAirbnb, Inc.とは提携していません。公開されているAirbnbのリスティングを検索・分析するための独立したツールです。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Vacation rental discovery, direct booking, and property protection for AI agents.
Search hotels & rentals: live prices & reviews across Booking.com, Airbnb, Vrbo & Google Hotels.
Search remote-work accommodations worldwide; Trusted Stay Partners can manage their own listings.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielk-am/mcp-server-airbnb'
If you have feedback or need assistance with the MCP directory API, please join our Discord server