Skip to main content
Glama
Domoteek
by Domoteek

MCP Airbnb Server

MCP server for searching Airbnb listings and getting listing details. Provides direct links to Airbnb listings in search results.

Tools

  1. airbnb_search

    • Airbnb 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 url to the Airbnb page.

  2. airbnb_listing_details

    • Get 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 url to 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.

  1. Go to: Settings > Developer > Edit configuration

  2. Add the following to your claude_desktop_config.json file:

{
  "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"
      ]
    }
  }
}
  1. 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 claude

Compilation (for developers)

npm install
npm run build

License

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 tools
airbnb_listing_detailsC

Get detailed information about a specific Airbnb listing. Provide direct links to the user

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe Airbnb listing ID
checkinNoCheck-in date (YYYY-MM-DD)
checkoutNoCheck-out date (YYYY-MM-DD)
adultsNoNumber of adults
childrenNoNumber of children
infantsNoNumber of infants
petsNoNumber of pets
ignoreRobotsTextNoIgnore robots.txt rules for this request

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedairbnb_listing_details
    • First observedairbnb_search

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers