Airbnb MCP Server
The Airbnb MCP Server allows you to search Airbnb listings and retrieve detailed information about specific properties.
Main capabilities:
Search for listings by location or Google Maps Place ID with filters for:
Check-in/checkout dates
Number of guests (adults, children, infants, pets)
Price range
Pagination using cursor parameter
Retrieve detailed listing information for specific properties using their ID, including:
Description, host information, amenities, and pricing
Optional filters for dates and guest count
Additional features:
Returns structured JSON data for easy integration
Provides direct URLs to Airbnb listings
Option to ignore robots.txt rules when needed
No API key required
Enables searching for Airbnb listings with filters and retrieving detailed information about specific properties, including pricing, amenities, host details, and direct links to Airbnb listings.
Uses Cheerio for HTML parsing to extract structured data from Airbnb web pages, enabling the server to provide clean JSON responses without requiring an official API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Airbnb MCP Serversearch for apartments in Paris for 2 adults next weekend"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Airbnb Server
MCP server for searching Airbnb listings and getting listing details. Provides direct links to Airbnb listings in search results.
Tools
airbnb_searchAirbnb Listing Search
Required entry:
location(string)Optional entries:
placeId(string)checkin(string, YYYY-MM-DD)checkout(string, YYYY-MM-DD)adults(number)children(number)infants(number)pets(number)minPrice(number)maxPrice(number)cursor(string)ignoreRobotsText(boolean)
Returns: Listing table with details like name, price, location, etc. Each listing includes a direct
urlto the Airbnb page.
airbnb_listing_detailsGet detailed information about a specific Airbnb listing
Required input:
id(string)Optional entries:
checkin(string, YYYY-MM-DD)checkout(string, YYYY-MM-DD)adults(number)children(number)infants(number)pets(number)ignoreRobotsText(boolean)
Returns: Detailed information about the listing, including description, host details, amenities, rates, etc. The response includes a direct
urlto the Airbnb listing page.
Related MCP server: Airbnb MCP Server
Features
Respect the rules of the Airbnb robots.txt file
Use cheerio for HTML parsing
No API key required
Returns structured JSON data
Reduces context load by flattening and selecting data
Provides direct URLs to Airbnb listings
Facility
Installation on Claude Desktop
Before you begin, make sure you have Node.js installed on your computer for npx to work.
Go to: Settings > Developer > Edit configuration
Add the following to your
claude_desktop_config.jsonfile:
{
"mcpServers": {
"airbnb": {
"command": "npx",
"args": [
"-y",
"@Domoteek/mcp-server-airbnb"
]
}
}
}To ignore the robots.txt file for all requests, use this version with the --ignore-robots-txt argument:
{
"mcpServers": {
"airbnb": {
"command": "npx",
"args": [
"-y",
"@Domoteek/mcp-server-airbnb",
"--ignore-robots-txt"
]
}
}
}Restart Claude Desktop and plan your next trip including Airbnbs!
Other option: Installation via Smithery
To install mcp-server-airbnb for Claude Desktop automatically via Smithery :
npx -y @smithery/cli install @Domoteek/mcp-server-airbnb --client claudeCompilation (for developers)
npm install
npm run buildLicense
This MCP server is licensed under the MIT License.
Warning
Airbnb is a registered trademark of Airbnb, Inc. Domoteek is not affiliated with Airbnb, Inc. or its affiliates.
Available Tools
2 toolsairbnb_listing_detailsC
Get detailed information about a specific Airbnb listing. Provide direct links to the user
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The Airbnb listing ID | |
| checkin | No | Check-in date (YYYY-MM-DD) | |
| checkout | No | Check-out date (YYYY-MM-DD) | |
| adults | No | Number of adults | |
| children | No | Number of children | |
| infants | No | Number of infants | |
| pets | No | Number of pets | |
| ignoreRobotsText | No | Ignore robots.txt rules for this request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavior. It mentions that direct links are provided, but does not disclose side effects, whether the operation is read-only, permission requirements, error behavior, or any other behavioral traits. This is a significant gap for a tool expected to be called autonomously.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences and the primary purpose is front-loaded. The second sentence about providing direct links is an added behavior, which is useful but could be integrated more seamlessly. No wasted words, though the structure could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description is not complete. It does not explain what 'detailed information' includes, how the optional parameters influence results, or what the expected response format looks like. An agent would have to guess many details about invocation and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 8 parameters have descriptions in the schema (100% coverage), so the baseline of 3 applies. The tool description itself adds no additional meaning beyond what the schema already provides; it does not explain how parameters like pets, adults, or checkin/checkout dates affect the returned details or links.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed information for a specific Airbnb listing and identifies that direct links are provided. It distinguishes implicitly from the sibling airbnb_search by focusing on a specific listing rather than searching, though it does not explicitly name the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus airbnb_search. There is no mention of prerequisites (such as having a listing ID) or scenarios that would favor this tool over the search sibling. The description leaves usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbnb_searchC
Search for Airbnb listings with various filters and pagination. Provide direct links to the user
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes | Location to search for (city, state, etc.) | |
| placeId | No | Google Maps Place ID (overrides the location parameter) | |
| checkin | No | Check-in date (YYYY-MM-DD) | |
| checkout | No | Check-out date (YYYY-MM-DD) | |
| adults | No | Number of adults | |
| children | No | Number of children | |
| infants | No | Number of infants | |
| pets | No | Number of pets | |
| minPrice | No | Minimum price for the stay | |
| maxPrice | No | Maximum price for the stay | |
| cursor | No | Base64-encoded string used for Pagination | |
| ignoreRobotsText | No | Ignore robots.txt rules for this request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'pagination' and 'Provide direct links to the user,' which adds some context beyond basic functionality. However, it lacks critical details such as rate limits, authentication requirements, error handling, or what the output looks like (e.g., format of results). For a search tool with 12 parameters and no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, consisting of two sentences that directly state the tool's purpose and a key output behavior. There's no wasted verbiage or redundancy. However, it could be slightly more structured by explicitly separating functionality from output guidance, but it remains efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (12 parameters, no output schema, no annotations), the description is incomplete. It covers basic purpose and hints at output behavior but lacks details on result format, error cases, usage constraints, or how to interpret pagination. Without annotations or an output schema, the agent has insufficient information to fully understand the tool's behavior and integration needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so all parameters are documented in the schema itself. The description adds minimal value beyond the schema by mentioning 'various filters and pagination,' which loosely maps to parameters like location, dates, prices, and cursor. However, it doesn't provide additional semantics, constraints, or examples that aren't already in the schema descriptions, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for Airbnb listings with various filters and pagination.' It specifies the verb ('search'), resource ('Airbnb listings'), and scope ('with various filters and pagination'), which is specific and actionable. However, it doesn't explicitly differentiate from its sibling tool 'airbnb_listing_details', which likely provides details for specific listings rather than searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance. It mentions 'Provide direct links to the user,' which hints at output behavior but doesn't specify when to use this tool versus alternatives like the sibling 'airbnb_listing_details' or other search methods. There's no explicit guidance on prerequisites, when-not-to-use scenarios, or comparisons to other tools, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
airbnb_listing_details - First observed
airbnb_search
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one retrieves detailed information for a specific listing, while the other searches for listings with filters and pagination. There is no overlap or ambiguity between them.
Both tools follow a consistent 'airbnb_' prefix and descriptive naming pattern (airbnb_listing_details, airbnb_search). The naming is uniform and predictable across the set.
With only two tools, the server feels thin for an Airbnb domain, which typically involves operations like booking, reviews, user management, or listing updates. The current set is too limited for comprehensive coverage.
The server covers basic search and details retrieval but lacks essential operations such as booking, payment, user authentication, or listing management. This creates significant gaps that will likely cause agent failures in real-world scenarios.
Maintenance
Related MCP Connectors
Searchable directory of Airbnb listings — discover properties and retrieve direct Airbnb links.
Airbnb search, listing details, and calendar availability as clean structured data.
Airbnb stays by location and dates, and full listing details, as structured JSON.
Booking.com stays by destination and dates, and full property details, as structured JSON.
Related MCP Servers
- AlicenseAqualityCmaintenanceSearch for Airbnb listings and get detailed information about specific properties. Effortlessly plan your next trip with structured data and no API key required, while respecting Airbnb's guidelines.421,584 npm534MIT
- AlicenseBqualityDmaintenanceEnables searching for Airbnb listings and retrieving detailed property information including pricing, amenities, and host details without requiring an API key.21,584 npmMIT
- AlicenseCqualityDmaintenanceEnables searching Airbnb listings with advanced filtering (location, dates, guests, price) and retrieval of detailed property information including amenities, policies, and booking links.41,584 npm2MIT
- AlicenseBqualityDmaintenanceEnables searching for Airbnb listings and retrieving detailed property information including pricing, amenities, and host details without requiring an API key.21,584 npm3MIT