{"_id":"@borski/mcp-server-airbnb","_rev":"2-ac3fa33c9bb1e22cb8705905789303bd","name":"@borski/mcp-server-airbnb","dist-tags":{"latest":"0.2.1"},"versions":{"0.2.0":{"name":"@borski/mcp-server-airbnb","version":"0.2.0","keywords":["airbnb","vacation rental","travel"],"author":{"name":"Borski"},"license":"MIT","_id":"@borski/mcp-server-airbnb@0.2.0","maintainers":[{"name":"borski","email":"borski@owlpost.lol"}],"bin":{"mcp-server-airbnb":"dist/index.js"},"dist":{"shasum":"5ea01e23d7d07684d08f519fe0d4dfa93bc6917e","tarball":"https://registry.npmjs.org/@borski/mcp-server-airbnb/-/mcp-server-airbnb-0.2.0.tgz","fileCount":8,"integrity":"sha512-MoSVvB4TV3uSoze9BfFf9olGQNsV85TEAI8FU7RdH3GfznbeUe0aD23WNetPaYF8+ArXOQlsUoLNNiJY2bGQrg==","signatures":[{"sig":"MEUCIA9pMyvMV6TY/0lp7UPKXKcnnK1mfK6alY8W/n9rdgK5AiEA1ZCaO3l1lYH76qZfdY8I9S6QKdvi6WHpNaXX1RnAYDk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44043},"type":"module","gitHead":"f104024b952e13620826a02751749ef056cfe226","scripts":{"build":"node sync-version.js && tsc && shx chmod +x dist/*.js","watch":"tsc --watch","prepare":"npm run build","sync-version":"node sync-version.js"},"_npmUser":{"name":"borski","email":"borski@owlpost.lol"},"_npmVersion":"11.11.0","description":"MCP server for Airbnb search and listing details. Fork with geocoding fix, property type filter, and bbox padding.","directories":{},"_nodeVersion":"25.8.0","dependencies":{"cheerio":"^1.0.0","node-fetch":"^3.3.2","robots-parser":"^3.0.1","@modelcontextprotocol/sdk":"^1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","typescript":"^5.8.2","@types/node":"^22.13.9","@types/node-fetch":"^2.6.12"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-airbnb_0.2.0_1774342954443_0.6035053517908886","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@borski/mcp-server-airbnb","version":"0.2.1","description":"MCP server for Airbnb search and listing details","license":"MIT","type":"module","author":{"name":"OpenBnB","url":"https://openbnb.org"},"keywords":["airbnb","vacation rental","travel"],"publishConfig":{"access":"public"},"bin":{"mcp-server-airbnb":"dist/index.js"},"scripts":{"build":"node sync-version.js && tsc && shx chmod +x dist/*.js","prepare":"npm run build","watch":"tsc --watch","sync-version":"node sync-version.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.1","cheerio":"^1.0.0","node-fetch":"^3.3.2","robots-parser":"^3.0.1"},"devDependencies":{"@types/node":"^22.13.9","@types/node-fetch":"^2.6.12","shx":"^0.3.4","typescript":"^5.8.2"},"gitHead":"54b1392a81375c6a8a4e6468628ea3d4ea11a9de","_id":"@borski/mcp-server-airbnb@0.2.1","_nodeVersion":"25.8.0","_npmVersion":"11.11.0","dist":{"integrity":"sha512-WCx9Zanxo8VvV8ONzYoSmz/LP1sMIpSJVwDIMYHFIiacG6sV1kCa9RoVaCEdOmoa58dhF3KGISNCRLU0WmfbMg==","shasum":"0e595302145ffc84c75471840fa12df9f912b7c9","tarball":"https://registry.npmjs.org/@borski/mcp-server-airbnb/-/mcp-server-airbnb-0.2.1.tgz","fileCount":8,"unpackedSize":45436,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFl1XuDb5mt74sJ+PJnl74QdjU5UGPy6KwpcTr8swsvkAiACJaJGc0qYWdAPpFZ5tRoAiGxYNa+eNVgs7tugEgCoyw=="}]},"_npmUser":{"name":"borski","email":"borski@owlpost.lol"},"directories":{},"maintainers":[{"name":"borski","email":"borski@owlpost.lol"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-airbnb_0.2.1_1775216320271_0.9020772619414235"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T09:02:34.310Z","modified":"2026-04-03T11:38:40.517Z","0.2.0":"2026-03-24T09:02:34.594Z","0.2.1":"2026-04-03T11:38:40.427Z"},"author":{"name":"OpenBnB","url":"https://openbnb.org"},"license":"MIT","keywords":["airbnb","vacation rental","travel"],"description":"MCP server for Airbnb search and listing details","maintainers":[{"name":"borski","email":"borski@owlpost.lol"}],"readme":"# Airbnb Search & Listings - Desktop Extension (DXT)\n\nA 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.\n\n## Features\n\n### 🔍 Advanced Search Capabilities\n- **Location-based search** with support for cities, states, and regions\n- **Google Maps Place ID** integration for precise location targeting\n- **Date filtering** with check-in and check-out date support\n- **Guest configuration** including adults, children, infants, and pets\n- **Price range filtering** with minimum and maximum price constraints\n- **Pagination support** for browsing through large result sets\n\n### 🏠 Detailed Property Information\n- **Comprehensive listing details** including amenities, policies, and highlights\n- **Location information** with coordinates and neighborhood details\n- **House rules and policies** for informed booking decisions\n- **Property descriptions** and key features\n- **Direct links** to Airbnb listings for easy booking\n\n### 🛡️ Security & Compliance\n- **Robots.txt compliance** with configurable override for testing\n- **Request timeout management** to prevent hanging requests\n- **Enhanced error handling** with detailed logging\n- **Rate limiting awareness** and respectful API usage\n- **Secure configuration** through DXT user settings\n\n## Installation\n\n### For Claude Desktop\nThis extension is packaged as a Desktop Extension (DXT) file. To install:\n\n1. Download the `.dxt` file from the releases page\n2. Open your compatible AI application (e.g., Claude Desktop)\n3. Install the extension through the application's extension manager\n4. Configure the extension settings as needed\n\n### For Cursor, etc.\n\nBefore starting make sure [Node.js](https://nodejs.org/) is installed on your desktop for `npx` to work.\n1. Go to: Cursor Settings > Tools & Integrations > New MCP Server\n\n2. Add one the following to your `mcp.json`:\n    ```json\n    {\n      \"mcpServers\": {\n        \"airbnb\": {\n          \"command\": \"npx\",\n          \"args\": [\n            \"-y\",\n            \"@openbnb/mcp-server-airbnb\"\n          ]\n        }\n      }\n    }\n    ```\n\n    To ignore robots.txt for all requests, use this version with `--ignore-robots-txt` args\n\n    ```json\n    {\n      \"mcpServers\": {\n        \"airbnb\": {\n          \"command\": \"npx\",\n          \"args\": [\n            \"-y\",\n            \"@openbnb/mcp-server-airbnb\",\n            \"--ignore-robots-txt\"\n          ]\n        }\n      }\n    }\n    ```\n3. Restart.\n\n\n## Configuration\n\nThe extension provides the following user-configurable options:\n\n### Ignore robots.txt\n- **Type**: Boolean (checkbox)\n- **Default**: `false`\n- **Description**: Bypass robots.txt restrictions when making requests to Airbnb\n- **Recommendation**: Keep disabled unless needed for testing purposes\n\n## Tools\n\n### `airbnb_search`\n\nSearch for Airbnb listings with comprehensive filtering options.\n\n**Parameters:**\n- `location` (required): Location to search (e.g., \"San Francisco, CA\")\n- `placeId` (optional): Google Maps Place ID (overrides location)\n- `checkin` (optional): Check-in date in YYYY-MM-DD format\n- `checkout` (optional): Check-out date in YYYY-MM-DD format\n- `adults` (optional): Number of adults (default: 1)\n- `children` (optional): Number of children (default: 0)\n- `infants` (optional): Number of infants (default: 0)\n- `pets` (optional): Number of pets (default: 0)\n- `minPrice` (optional): Minimum price per night\n- `maxPrice` (optional): Maximum price per night\n- `cursor` (optional): Pagination cursor for browsing results\n- `propertyType` (optional): Filter by property type — `entire_home`, `private_room`, `shared_room`, or `hotel_room`\n- `ignoreRobotsText` (optional): Override robots.txt for this request\n\n**Returns:**\n- Search results with property details, pricing, and direct links\n- Pagination information for browsing additional results\n- Search URL for reference\n\n### `airbnb_listing_details`\n\nGet detailed information about a specific Airbnb listing.\n\n**Parameters:**\n- `id` (required): Airbnb listing ID\n- `checkin` (optional): Check-in date in YYYY-MM-DD format\n- `checkout` (optional): Check-out date in YYYY-MM-DD format\n- `adults` (optional): Number of adults (default: 1)\n- `children` (optional): Number of children (default: 0)\n- `infants` (optional): Number of infants (default: 0)\n- `pets` (optional): Number of pets (default: 0)\n- `ignoreRobotsText` (optional): Override robots.txt for this request\n\n**Returns:**\n- Detailed property information including:\n  - Location details with coordinates\n  - Amenities and facilities\n  - House rules and policies\n  - Property highlights and descriptions\n  - Direct link to the listing\n\n## Technical Details\n\n### Architecture\n- **Runtime**: Node.js 18+\n- **Protocol**: Model Context Protocol (MCP) via stdio transport\n- **Format**: Desktop Extension (DXT) v0.1\n- **Dependencies**: Minimal external dependencies for security and reliability\n\n### Error Handling\n- Comprehensive error logging with timestamps\n- Graceful degradation when Airbnb's page structure changes\n- Timeout protection for network requests\n- Detailed error messages for troubleshooting\n\n### Security Measures\n- Robots.txt compliance by default\n- Request timeout limits\n- Input validation and sanitization\n- Secure environment variable handling\n- No sensitive data storage\n\n### Performance\n- Efficient HTML parsing with Cheerio\n- Request caching where appropriate\n- Minimal memory footprint\n- Fast startup and response times\n\n## Compatibility\n\n- **Platforms**: macOS, Windows, Linux\n- **Node.js**: 18.0.0 or higher\n- **Claude Desktop**: 0.10.0 or higher\n- **Other MCP clients**: Compatible with any MCP-supporting application\n\n## Development\n\n### Building from Source\n\n```bash\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n\n# Watch for changes during development\nnpm run watch\n```\n\n### Testing\n\nThe extension can be tested by running the MCP server directly:\n\n```bash\n# Run with robots.txt compliance (default)\nnode dist/index.js\n\n# Run with robots.txt ignored (for testing)\nnode dist/index.js --ignore-robots-txt\n```\n\n## Legal and Ethical Considerations\n\n- **Respect Airbnb's Terms of Service**: This extension is for legitimate research and booking assistance\n- **Robots.txt Compliance**: The extension respects robots.txt by default\n- **Rate Limiting**: Be mindful of request frequency to avoid overwhelming Airbnb's servers\n- **Data Usage**: Only extract publicly available information for legitimate purposes\n\n## Support\n\n- **Issues**: Report bugs and feature requests on [GitHub Issues](https://github.com/openbnb-org/mcp-server-airbnb/issues)\n- **Documentation**: Additional documentation available in the repository\n- **Community**: Join discussions about MCP and DXT development\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please read the contributing guidelines and submit pull requests for any improvements.\n\n---\n\n**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.\n","readmeFilename":"README.md"}