A

Airbnb Community

MCP server Β· by openbnb-org

Search Airbnb using your AI Agent

View source β†— Website β†— Generate config for multiple servers More servers

Install

unavailable β€” this listing has no version info in the registry

npm
npx -y @openbnb/mcp-server-airbnb

Setup by client

Pick your client β€” the config below is generated for this server (local stdio). Copy respects the β€œPin version” switch above.

claude_desktop_config.json

{
  "mcpServers": {
    "airbnb": {
      "command": "npx",
      "args": [
        "-y",
        "@openbnb/mcp-server-airbnb"
      ]
    }
  }
}

Format verified against the official Claude Desktop docs β†—.

Implementation status

Community implementation

Airbnb has not published an official MCP server as of 2026-10-16. This page lists the most popular community implementation.

Evidence β†—

Other community implementations

Independent, non-official implementations of the Airbnb MCP server maintained by the community.

Last verified: 2026-10-15 | Sources: Verification basis β†—

GitHub

⭐ 550 stars Β· ζœ€θΏ‘ζ›΄ζ–°δΊŽ 84 倩前 Β· MIT license

About this server

Airbnb Search & Listings - MCP Bundle (MCPB) A comprehensive MCP Bundle for searching Airbnb listings with advanced filtering capabilities and detailed property information retrieval. Built as a Model Context Protocol (MCP) server packaged in the MCP Bundle (MCPB) format for easy installation and use with compatible AI applications. --- πŸš€ Prefer not to run a local server? Try openbnb.ai > πŸ‘‰ openbnb.ai is a hosted MCP server that solves the same problem β€” searching Airbnb listings β€” without any local setup. If you don't want to deal with installing and running this server yourself, openbnb.ai is a separate, fully-hosted alternative you can connect to directly from your MCP client. It goes beyond what this open-source server offers: βœ… Zero setup β€” no Node, no npx , no config files, no updates to manage βœ… Advanced filters β€” richer search controls beyond the base tools here βœ… MCP UI β€” interactive UI components for browsing results, not just plain text βœ… Managed & maintained β€” kept running for you Head to openbnb.ai for setup instructions and the connection details for your MCP client. If you'd rather self-host the open-source server, read on. --- Features πŸ” Advanced Search Capabilities Location-based search with support for cities, states, and regions International location support via client-side geocoding, so non-US queries (e.g. "Paris, France", "Copenhagen, Denmark") return results in the right city Google Maps Place ID integration for precise location targeting Property type filtering for entire homes, private rooms, shared rooms, or hotel rooms 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 MCPB user settings Installation For Claude Desktop This extension is packaged as an MCP Bundle ( .mcpb ) file. To install: Download the .mcpb file from the latest release Open the file β€” Claude Desktop will show an installation dialog Configure the extension settings as needed To ignore robots.txt, open Claude Desktop settings, navigate to the extension, and enable the Ignore robots.txt toggle. 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 : To ignore robots.txt for all requests, use this version with --ignore-robots-txt args 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 Disable third-party geocoding Type : Boolean (checkbox) Environment variable : DISABLE GEOCODING Default : false Description : Skip the Photon/Nominatim geocoding step and let Airbnb resolve the location string on its own. Enabling this restores the pre-PR behavior β€” every search goes only to airbnb.com , no third-party calls. Recommendation : Keep disabled unless you specifically need zero third-party outbound traffic. With it enabled, non-US searches could return incorrect results. See External Services. Tools airbnb search Search for Airbnb listings with comprehensive filtering options. Parameters: location (required): Location to search (e.g., "San Francisco, CA"). When supplied without placeId , the server geocodes this string client-side via Photon/Nominatim β€” see External Services. placeId (optional): Google Maps Place ID. Overrides location and skips client-side geocoding entirely (no third-party calls). 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 propertyType (optional): Filter by property type β€” entire home , private room , shared room , or hotel room ignoreRobotsText (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 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 request Returns: Detailed property information including: Location details with coordinates Amenities and facilities, as seeAllAmenitiesGroups β€” an object keyed by amenity category, so a category can be addressed directly. Amenities Airbnb shows struck through arrive under its own "Not included" category: 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 : MCP Bundle (MCPB) v0.3 Dependencies : Minimal external dependencies for security and reliability External Services In addition to airbnb.com , the server makes geocoding requests to two third-party services to translate location queries into accurate map bounding boxes. This bypasses Airbnb's own server-side geocoder, which produces incorrect results for many non-US queries (e.g. "Paris, France" lands in VendΓ©e; "Copenhagen, Denmark" lands in Wisconsin). Service Endpoint Used for Notes --- --- --- --- Photon photon.komoot.io Primary geocoder, called on every search without placeId Free OSM-based service hosted by Komoot. One request per search. Nominatim nominatim.openstreetmap.org Fallback geocoder, called only when Photon does not return a bounding box Subject to the OSMF usage policy (max 1 req/sec). Each search sends only the location string from the request to the geocoder β€” no other request fields, no IP geolocation, no tracking identifiers. The location string itself is, of course, the same string the user typed. Opting out: there are two ways to skip the geocoders: Per-request: supply an explicit placeId . When placeId is present, the server uses Airbnb's own place lookup directly with no third-party calls. Globally: set the environment variable DISABLE GEOCODING=true . The server will skip Photon/Nominatim entirely and pass the raw location string to Airbnb. This restores the pre-PR behavior for every search and guarantees zero third-party outbound traffic β€” at the cost of broken results for non-US locations that Airbnb's own geocoder mishandles. Defaults to false . If a geocoder is unreachable or returns no result, the server falls back to sending the location string to Airbnb directly, exactly as it did before β€” so the worst case for an outage is that international searches degrade to the previous (broken) behavior, not that the search fails entirely. 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 Testing npm test drives the built server over stdio and calls the tools for real: test-extension.js β€” MCP handshake, tool listing, a search, listing details, and the geocoding paths (Photon, Nominatim fallback) test-amenities.js β€” amenity extraction across several live listings, checking that amenities Airbnb strikes through never appear as ones the listing offers Both hit airbnb.com and the geocoders over the network, so they need connectivity and can fail if Airbnb changes its page structure β€” that's the point of them, but it also means they aren't suitable as an unattended CI gate. The server can also be run directly: 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 MCPB 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.…

Summary from the project README β€” github.com/openbnb-org/mcp-server-airbnb

Distributed as stdio, listed under Maps & Location. Review our MCP security guide before granting access to real data.

Frequently asked questions

What does the Airbnb MCP server do?

Airbnb Search & Listings - MCP Bundle (MCPB) A comprehensive MCP Bundle for searching Airbnb listings with advanced filtering capabilities and detailed property information retrieval. Built as a Model Context Protocol (MCP) server packaged in the MCP Bundle (MCPB) format for easy installation and use with compatible AI applications. --- πŸš€ Prefer not to run a local server? Try openbnb.ai > πŸ‘‰ openbnb.ai is a hosted MCP server that solves the same problem β€” searching Airbnb listings β€” without any local setup. If you don't want to deal with installing and running this server yourself, openbnb.ai is a separate, fully-hosted alternative you can connect to directly from your MCP client. It goes beyond what this open-source server offers: βœ… Zero setup β€” no Node, no npx , no config files, no updates to manage βœ… Advanced filters β€” richer search controls beyond the base tools here βœ… MCP UI β€” interactive UI components for browsing results, not just plain text βœ… Managed & maintained β€” kept running for you Head to openbnb.ai for setup instructions and the connection details for your MCP client. If you'd rather self-host the open-source server, read on. --- Features πŸ” Advanced Search Capabilities Location-based search with support for cities, states, and regions International location support via client-side geocoding, so non-US queries (e.g. "Paris, France", "Copenhagen, Denmark") return results in the right city Google Maps Place ID integration for precise location targeting Property type filtering for entire homes, private rooms, shared rooms, or hotel rooms 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 MCPB user settings Installation For Claude Desktop This extension is packaged as an MCP Bundle ( .mcpb ) file. To install: Download the .mcpb file from the latest release Open the file β€” Claude Desktop will show an installation dialog Configure the extension settings as needed To ignore robots.txt, open Claude Desktop settings, navigate to the extension, and enable the Ignore robots.txt toggle. 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 : To ignore robots.txt for all requests, use this version with --ignore-robots-txt args 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 Disable third-party geocoding Type : Boolean (checkbox) Environment variable : DISABLE GEOCODING Default : false Description : Skip the Photon/Nominatim geocoding step and let Airbnb resolve the location string on its own. Enabling this restores the pre-PR behavior β€” every search goes only to airbnb.com , no third-party calls. Recommendation : Keep disabled unless you specifically need zero third-party outbound traffic. With it enabled, non-US searches could return incorrect results. See External Services. Tools airbnb search Search for Airbnb listings with comprehensive filtering options. Parameters: location (required): Location to search (e.g., "San Francisco, CA"). When supplied without placeId , the server geocodes this string client-side via Photon/Nominatim β€” see External Services. placeId (optional): Google Maps Place ID. Overrides location and skips client-side geocoding entirely (no third-party calls). 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 propertyType (optional): Filter by property type β€” entire home , private room , shared room , or hotel room ignoreRobotsText (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 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 request Returns: Detailed property information including: Location details with coordinates Amenities and facilities, as seeAllAmenitiesGroups β€” an object keyed by amenity category, so a category can be addressed directly. Amenities Airbnb shows struck through arrive under its own "Not included" category: 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 : MCP Bundle (MCPB) v0.3 Dependencies : Minimal external dependencies for security and reliability External Services In addition to airbnb.com , the server makes geocoding requests to two third-party services to translate location queries into accurate map bounding boxes. This bypasses Airbnb's own server-side geocoder, which produces incorrect results for many non-US queries (e.g. "Paris, France" lands in VendΓ©e; "Copenhagen, Denmark" lands in Wisconsin). Service Endpoint Used for Notes --- --- --- --- Photon photon.komoot.io Primary geocoder, called on every search without placeId Free OSM-based service hosted by Komoot. One request per search. Nominatim nominatim.openstreetmap.org Fallback geocoder, called only when Photon does not return a bounding box Subject to the OSMF usage policy (max 1 req/sec). Each search sends only the location string from the request to the geocoder β€” no other request fields, no IP geolocation, no tracking identifiers. The location string itself is, of course, the same string the user typed. Opting out: there are two ways to skip the geocoders: Per-request: supply an explicit placeId . When placeId is present, the server uses Airbnb's own place lookup directly with no third-party calls. Globally: set the environment variable DISABLE GEOCODING=true . The server will skip Photon/Nominatim entirely and pass the raw location string to Airbnb. This restores the pre-PR behavior for every search and guarantees zero third-party outbound traffic β€” at the cost of broken results for non-US locations that Airbnb's own geocoder mishandles. Defaults to false . If a geocoder is unreachable or returns no result, the server falls back to sending the location string to Airbnb directly, exactly as it did before β€” so the worst case for an outage is that international searches degrade to the previous (broken) behavior, not that the search fails entirely. 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 Testing npm test drives the built server over stdio and calls the tools for real: test-extension.js β€” MCP handshake, tool listing, a search, listing details, and the geocoding paths (Photon, Nominatim fallback) test-amenities.js β€” amenity extraction across several live listings, checking that amenities Airbnb strikes through never appear as ones the listing offers Both hit airbnb.com and the geocoders over the network, so they need connectivity and can fail if Airbnb changes its page structure β€” that's the point of them, but it also means they aren't suitable as an unattended CI gate. The server can also be run directly: 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 MCPB 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.

How do I install Airbnb?

Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.

Is Airbnb free to use?

The MCP server itself is free to install. The source is public on https://github.com/openbnb-org/mcp-server-airbnb. Any third-party service it calls may require its own API key and account.

Which clients support Airbnb?

Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.

Add this badge

Publish this server? Link back with a badge on your README or site β€” copy either snippet.

Listed on MCPNav

Markdown

[![Listed on MCPNav](https://mcpnav.net/badge/airbnb.svg)](https://mcpnav.net/server/airbnb/)

HTML

<a href="https://mcpnav.net/server/airbnb/"><img src="https://mcpnav.net/badge/airbnb.svg" alt="Listed on MCPNav" height="20"></a>