Airbnb
openbnb-org/mcp-server-airbnb · 452 stars · JavaScript · MIT
MCP server Search Airbnb using your AI Agent
Install
The repo has no one-line install. Follow its README.
Files
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
.mcpbfile 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:
{
"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
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 withoutplaceId, the server geocodes this string client-side via Photon/Nominatim — see External Services.placeId(optional): Google Maps Place ID. Overrideslocationand skips client-side geocoding entirely (no third-party calls).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 resultspropertyType(optional): Filter by property type —entire_home,private_room,shared_room, orhotel_roomignoreRobotsText(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, 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:
{
"seeAllAmenitiesGroups": {
"Bathroom": "Hair dryer",
"Heating and cooling": "AC - split type ductless system, Heating",
"Not included": "Dryer, Hot water"
}
}
- 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).
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. WhenplaceIdis present, the server uses Airbnb's own place lookup directly with no third-party calls.
Facts
- Kind
- MCP server
- Repo
- openbnb-org/mcp-server-airbnb
- Group
- Uncategorized
- Stars
- 452
- License
- MIT
- Language
- JavaScript
- Last push
- 2026-08-06
- Forks
- 128
- Homepage
- openbnb.ai
- 1Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 2Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
- 3Gitmodelcontextprotocol/serversA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.85.8k
- 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
- 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
- 6Timemodelcontextprotocol/serversA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.85.8k