Airbnb 搜尋與列表桌面擴展 (dxt)
概覽
什麼是 mcp-server-airbnb?
mcp-server-airbnb 是一個由 ### openbnb-org 組織在 GitHub 上托管的公共存儲庫。這個項目作為伺服器端實現,旨在促進類似 Airbnb 的功能,允許開發者創建和管理租賃列表,處理預訂,並整合各種增強主機和客人用戶體驗的功能。
mcp-server-airbnb 的特點
- 用戶管理:系統允許創建和管理用戶帳戶,包括主機和客人。
- 列表管理:用戶可以創建、更新和刪除帶有詳細描述、圖片和定價的房產列表。
- 預訂系統:伺服器處理預訂請求、可用性檢查和支付處理。
- 通知:用戶會收到預訂確認、取消和其他重要更新的通知。
- API 集成:伺服器可以與各種 API 集成以增強功能,例如支付網關和地圖服務。
如何使用 mcp-server-airbnb
-
克隆存儲庫:首先使用以下命令將存儲庫克隆到本地機器:
git clone https://github.com/openbnb-org/mcp-server-airbnb.git
-
安裝依賴項:導航到項目目錄並安裝必要的依賴項。這通常涉及運行:
npm install
-
配置:根據您的設置配置環境變量,包括數據庫連接和 API 密鑰。
-
啟動伺服器:使用以下命令啟動伺服器:
npm start
-
訪問 API:使用 Postman 或 cURL 等工具與伺服器提供的 API 端點進行交互。
常見問題解答
mcp-server-airbnb 使用了哪些技術?
mcp-server-airbnb 項目使用現代網絡技術構建,包括用於伺服器端邏輯的 Node.js、用於路由的 Express.js 和用於數據庫管理的 MongoDB。
我該如何為項目做貢獻?
歡迎貢獻!您可以分叉存儲庫,進行更改,並提交拉取請求以供審核。請確保遵循存儲庫中列出的貢獻指南。
是否有可用的文檔?
是的,存儲庫包含一個 README 文件,提供項目的概述、設置說明和 API 文檔。額外的文檔可能在 docs
文件夾中可用。
我該如何報告問題或錯誤?
如果您遇到任何問題或錯誤,請在 GitHub 存儲庫中打開一個問題。提供問題的詳細描述、重現步驟以及任何相關的截圖或日誌。
我可以將 mcp-server-airbnb 用於商業目的嗎?
該項目根據 MIT 許可證授權,允許個人和商業使用。然而,建議您查看許可條款以確保遵守。
詳細
Airbnb Search & Listings - Desktop Extension (DXT)
A comprehensive Desktop Extension for searching Airbnb listings with advanced filtering capabilities and detailed property information retrieval. Built as a Model Context Protocol (MCP) server packaged in the Desktop Extension (DXT) format for easy installation and use with compatible AI applications.
Features
🔍 Advanced Search Capabilities
- Location-based search with support for cities, states, and regions
- Google Maps Place ID integration for precise location targeting
- Date filtering with check-in and check-out date support
- Guest configuration including adults, children, infants, and pets
- Price range filtering with minimum and maximum price constraints
- Pagination support for browsing through large result sets
🏠 Detailed Property Information
- Comprehensive listing details including amenities, policies, and highlights
- Location information with coordinates and neighborhood details
- House rules and policies for informed booking decisions
- Property descriptions and key features
- Direct links to Airbnb listings for easy booking
🛡️ Security & Compliance
- Robots.txt compliance with configurable override for testing
- Request timeout management to prevent hanging requests
- Enhanced error handling with detailed logging
- Rate limiting awareness and respectful API usage
- Secure configuration through DXT user settings
Installation
For Claude Desktop
This extension is packaged as a Desktop Extension (DXT) file. To install:
- Download the
.dxt
file from the releases page - Open your compatible AI application (e.g., Claude Desktop)
- Install the extension through the application's extension manager
- Configure the extension settings as needed
For Cursor, etc.
Before starting make sure Node.js is installed on your desktop for npx
to work.
-
Go to: Cursor Settings > Tools & Integrations > New MCP Server
-
Add one the following to your
mcp.json
:{ "mcpServers": { "airbnb": { "command": "npx", "args": [ "-y", "@openbnb/mcp-server-airbnb" ] } } }
To ignore robots.txt for all requests, use this version with
--ignore-robots-txt
args{ "mcpServers": { "airbnb": { "command": "npx", "args": [ "-y", "@openbnb/mcp-server-airbnb", "--ignore-robots-txt" ] } } }
-
Restart.
Configuration
The extension provides the following user-configurable options:
Ignore robots.txt
- Type: Boolean (checkbox)
- Default:
false
- Description: Bypass robots.txt restrictions when making requests to Airbnb
- Recommendation: Keep disabled unless needed for testing purposes
Tools
airbnb_search
Search for Airbnb listings with comprehensive filtering options.
Parameters:
location
(required): Location to search (e.g., "San Francisco, CA")placeId
(optional): Google Maps Place ID (overrides location)checkin
(optional): Check-in date in YYYY-MM-DD formatcheckout
(optional): Check-out date in YYYY-MM-DD formatadults
(optional): Number of adults (default: 1)children
(optional): Number of children (default: 0)infants
(optional): Number of infants (default: 0)pets
(optional): Number of pets (default: 0)minPrice
(optional): Minimum price per nightmaxPrice
(optional): Maximum price per nightcursor
(optional): Pagination cursor for browsing resultsignoreRobotsText
(optional): Override robots.txt for this request
Returns:
- Search results with property details, pricing, and direct links
- Pagination information for browsing additional results
- Search URL for reference
airbnb_listing_details
Get detailed information about a specific Airbnb listing.
Parameters:
id
(required): Airbnb listing IDcheckin
(optional): Check-in date in YYYY-MM-DD formatcheckout
(optional): Check-out date in YYYY-MM-DD formatadults
(optional): Number of adults (default: 1)children
(optional): Number of children (default: 0)infants
(optional): Number of infants (default: 0)pets
(optional): Number of pets (default: 0)ignoreRobotsText
(optional): Override robots.txt for this request
Returns:
- Detailed property information including:
- Location details with coordinates
- Amenities and facilities
- House rules and policies
- Property highlights and descriptions
- Direct link to the listing
Technical Details
Architecture
- Runtime: Node.js 18+
- Protocol: Model Context Protocol (MCP) via stdio transport
- Format: Desktop Extension (DXT) v0.1
- Dependencies: Minimal external dependencies for security and reliability
Error Handling
- Comprehensive error logging with timestamps
- Graceful degradation when Airbnb's page structure changes
- Timeout protection for network requests
- Detailed error messages for troubleshooting
Security Measures
- Robots.txt compliance by default
- Request timeout limits
- Input validation and sanitization
- Secure environment variable handling
- No sensitive data storage
Performance
- Efficient HTML parsing with Cheerio
- Request caching where appropriate
- Minimal memory footprint
- Fast startup and response times
Compatibility
- Platforms: macOS, Windows, Linux
- Node.js: 18.0.0 or higher
- Claude Desktop: 0.10.0 or higher
- Other MCP clients: Compatible with any MCP-supporting application
Development
Building from Source
### Install dependencies
npm install
### Build the project
npm run build
### Watch for changes during development
npm run watch
Testing
The extension can be tested by running the MCP server directly:
### Run with robots.txt compliance (default)
node dist/index.js
### Run with robots.txt ignored (for testing)
node dist/index.js --ignore-robots-txt
Legal and Ethical Considerations
- Respect Airbnb's Terms of Service: This extension is for legitimate research and booking assistance
- Robots.txt Compliance: The extension respects robots.txt by default
- Rate Limiting: Be mindful of request frequency to avoid overwhelming Airbnb's servers
- Data Usage: Only extract publicly available information for legitimate purposes
Support
- Issues: Report bugs and feature requests on GitHub Issues
- Documentation: Additional documentation available in the repository
- Community: Join discussions about MCP and DXT development
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please read the contributing guidelines and submit pull requests for any improvements.
Note: This extension is not affiliated with Airbnb, Inc. It is an independent tool designed to help users search and analyze publicly available Airbnb listings.
伺服器配置
{
"mcpServers": {
"mcp-server-airbnb": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--openbnb-org--mcp-server-airbnb--mcp-server-airbnb",
"node dist/index.js"
],
"env": {}
}
}
}