🚀 Airbnb搜索與房源 - 桌面擴展 (DXT)
這是一款全面的桌面擴展程序,具備高級篩選功能,可用於搜索Airbnb房源,並能檢索詳細的房源信息。它以桌面擴展(DXT)格式封裝為模型上下文協議(MCP)服務器,便於與兼容的人工智能應用程序配合安裝和使用。
✨ 主要特性
🔍 高級搜索功能
- 基於位置的搜索:支持按城市、州和地區進行搜索
- 集成Google Maps Place ID:實現精確的位置定位
- 日期篩選:支持設置入住和退房日期
- 賓客配置:可設置成人、兒童、嬰兒和寵物的數量
- 價格範圍篩選:可設置最低和最高價格限制
- 分頁支持:便於瀏覽大量搜索結果
🏠 詳細的房源信息
- 全面的房源詳情:包括便利設施、政策和亮點
- 位置信息:包含座標和周邊社區詳情
- 房屋規則和政策:幫助用戶做出明智的預訂決策
- 房源描述和關鍵特徵
- 直達Airbnb房源的鏈接:方便用戶直接預訂
🛡️ 安全與合規
- 遵守Robots.txt規則:可配置覆蓋設置以便進行測試
- 請求超時管理:防止請求掛起
- 增強的錯誤處理:提供詳細的日誌記錄
- 具備速率限制意識:合理使用API
- 通過DXT用戶設置實現安全配置
📦 安裝指南
針對Claude桌面版
此擴展程序以桌面擴展(DXT)文件的形式提供。安裝步驟如下:
- 從發佈頁面下載
.dxt 文件。
- 打開兼容的人工智能應用程序(例如Claude桌面版)。
- 通過應用程序的擴展管理器安裝該擴展。
- 根據需要配置擴展設置。
針對Cursor等應用
在開始之前,請確保你的桌面已安裝 Node.js,以便使用 npx。
- 進入: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規則限制
- 建議:除非用於測試目的,否則建議保持禁用狀態
工具說明
airbnb_search
使用全面的篩選選項搜索Airbnb房源。
參數:
location(必需):搜索的地點(例如,“加利福尼亞州舊金山”)
placeId(可選):Google Maps Place ID(會覆蓋 location 參數)
checkin(可選):入住日期,格式為YYYY - MM - DD
checkout(可選):退房日期,格式為YYYY - MM - DD
adults(可選):成人數量(默認值:1)
children(可選):兒童數量(默認值:0)
infants(可選):嬰兒數量(默認值:0)
pets(可選):寵物數量(默認值:0)
minPrice(可選):每晚的最低價格
maxPrice(可選):每晚的最高價格
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+
- 協議:通過標準輸入輸出傳輸的模型上下文協議(MCP)
- 格式:桌面擴展(DXT)v0.1
- 依賴項:為確保安全性和可靠性,外部依賴項極少
錯誤處理
- 帶有時間戳的全面錯誤日誌記錄
- 當Airbnb頁面結構發生變化時能進行優雅降級處理
- 網絡請求的超時保護
- 詳細的錯誤消息,便於故障排除
安全措施
- 默認遵守Robots.txt規則
- 請求超時限制
- 輸入驗證和清理
- 安全的環境變量處理
- 不存儲敏感數據
性能
- 使用Cheerio進行高效的HTML解析
- 在適當的情況下進行請求緩存
- 內存佔用極小
- 啟動和響應速度快
兼容性
- 平臺:macOS、Windows、Linux
- Node.js:18.0.0或更高版本
- Claude桌面版: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公司沒有關聯,它是一個獨立的工具,旨在幫助用戶搜索和分析公開可用的Airbnb房源。