MCP server for Airbnb search and listing details
npm install @openbnb/mcp-server-airbnbA 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.
1. Download the .dxt file from the releases page
2. Open your compatible AI application (e.g., Claude Desktop)
3. Install the extension through the application's extension manager
4. Configure the extension settings as needed
Before starting make sure Node.js is installed on your desktop for npx to work.
1. Go to: Cursor Settings > Tools & Integrations > New MCP Server
2. Add one the following to your mcp.json:
``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
`json`
{
"mcpServers": {
"airbnb": {
"command": "npx",
"args": [
"-y",
"@openbnb/mcp-server-airbnb",
"--ignore-robots-txt"
]
}
}
}
3. Restart.
The extension provides the following user-configurable options:
- Description: Bypass robots.txt restrictions when making requests to Airbnb
- Recommendation: Keep disabled unless needed for testing purposesTools
$3
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 format
- checkout (optional): Check-out date in YYYY-MM-DD format
- adults (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 night
- maxPrice (optional): Maximum price per night
- cursor (optional): Pagination cursor for browsing results
- ignoreRobotsText (optional): Override robots.txt for this requestReturns:
- Search results with property details, pricing, and direct links
- Pagination information for browsing additional results
- Search URL for reference
$3
Get detailed information about a specific Airbnb listing.
Parameters:
-
id (required): Airbnb listing ID
- checkin (optional): Check-in date in YYYY-MM-DD format
- checkout (optional): Check-out date in YYYY-MM-DD format
- adults (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 requestReturns:
- 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
$3
- 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$3
- Comprehensive error logging with timestamps
- Graceful degradation when Airbnb's page structure changes
- Timeout protection for network requests
- Detailed error messages for troubleshooting$3
- Robots.txt compliance by default
- Request timeout limits
- Input validation and sanitization
- Secure environment variable handling
- No sensitive data storage$3
- Efficient HTML parsing with Cheerio
- Request caching where appropriate
- Minimal memory footprint
- Fast startup and response timesCompatibility
- 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
$3
`bash
Install dependencies
npm installBuild the project
npm run buildWatch for changes during development
npm run watch
`$3
The extension can be tested by running the MCP server directly:
`bash
Run with robots.txt compliance (default)
node dist/index.jsRun with robots.txt ignored (for testing)
node dist/index.js --ignore-robots-txt
``- 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
- Issues: Report bugs and feature requests on GitHub Issues
- Documentation: Additional documentation available in the repository
- Community: Join discussions about MCP and DXT development
MIT License - see LICENSE file for details.
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.