Skip to main content
Glama
danielk-am

@openbnb/mcp-server-airbnb

by danielk-am

downloads

Airbnb Search & Listings - MCP Bundle (MCPB)

Ein umfassendes MCP Bundle zum Durchsuchen von Airbnb-Inseraten mit erweiterten Filtermöglichkeiten und dem detaillierten Abruf von Unterkunftsinformationen. Es wurde als Model Context Protocol (MCP)-Server umgesetzt und im MCP Bundle (MCPB)-Format gebündelt, damit es einfach mit kompatiblen KI-Anwendungen installiert und genutzt werden kann.


🚀 Lieber keinen lokalen Server betreiben? Teste openbnb.ai

👉 openbnb.ai ist ein gehosteter MCP-Server, der dasselbe Problem löst – das Durchsuchen von Airbnb-Inseraten – ganz ohne lokale Einrichtung.

Wenn du diesen Server nicht selbst installieren und betreiben möchtest, ist openbnb.ai eine separate, vollständig gehostete Alternative, die du direkt mit deinem MCP-Client verbinden kannst. Sie geht über das hinaus, was dieser Open-Source-Server bietet:

  • Keine Einrichtung – kein Node, kein npx, keine Konfigurationsdateien, keine Updates zu verwalten

  • Erweiterte Filter – umfangreichere Suchsteuerung als die hier enthaltenen Basis-Werkzeuge

  • MCP-UI – interaktive UI-Komponenten zum Durchstöbern der Ergebnisse, nicht nur einfacher Text

  • Gehostet und gepflegt – läuft für dich

Wechsle zu openbnb.ai, um die Einrichtungsanleitung und die Verbindungsdetails für deinen MCP-Client zu erhalten.

Wenn du den Open-Source-Server lieber selbst hosten möchtest, lies weiter.


Features

🔍 Erweiterte Suchfunktionen

  • Standortbasierte Suche mit Unterstützung für Städte, Bundesstaaten und Regionen

  • Internationale Standortunterstützung über clientseitiges Geocoding, sodass Abfragen außerhalb der USA (z. B. „Paris, France“, „Copenhagen, Denmark") auch in der richtigen Stadt Ergebnisse liefern

  • Google-Maps-Place-ID-Integration für präzise Standortziele

  • Filterung nach Unterkunftstyp für ganze Unterkünfte, private Zimmer, gemeinsame Zimmer oder Hotelzimmer

  • Datumsfilter mit Unterstützung für Check-in- und Check-out-Datum

  • Gästekonfiguration einschließlich Erwachsene, Kinder, Kleinkinder und Haustiere

  • Preisspannen-Filter mit Mindest- und Höchstpreis-Grenzen

  • Paginierung zum Durchblättern großer Ergebnismengen

🏠 Detaillierte Unterkunftinformationen

  • Umfassende Inseratdetails einschließlich Ausstattung, Richtlinien und Highlights

  • Standortdaten mit Koordinaten und Nachbarschaftsdetails

  • Hausregeln und Richtlinien für eine fundierte Buchungsentscheidung

  • Unterkunftsbeschreibungen und wichtige Leistungsmerkmale

  • Direktlinks zu den Airbnb-Inseraten für eine schnelle Buchung

🛡️ Sicherheit und Compliance

  • Einhaltung von robots.txt mit konfigurierbarer Ausnahme für Tests

  • Request-Time-Over-Management, um keine Anfragendauer zu vermeiden

  • Verbesserte Fehlerbehandlung mit detaillierter Protokollierung

  • Bewusstsein für Rate-Limiting – respektvolle API-Nutzung

  • Sichere Konfiguration über MCPB-Benutzereinstellungen

Installation

Für Claude Desktop

Diese Erweiterung wird als MCP Bundle-Format-Datei (.mcpb) ausgeliefert. So installierst du sie:

  1. Lade die .mcpb-Dateiystem neuesten Release herunter

  2. Öffne die Datei – Claude Desktop zeigt einen Installationsdialog an

  3. Konfiguriere die Erweiterungseinstellungen nach Bedarf

Um robots.txt zu ignorieren, öffne die Einstellungen von Claude Desktop, navigiere zur Erweiterung und aktiviere den Schalter robots.txt ignorieren.

Für Cursor usw.

Achte vorher darauf, dass Node.js auf deinem Rechner installiert ist, damit npx funktioniert.

  1. Navigiere zu: Cursor Settings > Tools & Integrations > New MCP Server

  2. Füge eine der folgenden Optionen zu deiner mcp.json hinzu:

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

    Um robots.txt für alle Anfragen zu ignorieren, verwende diese Version mit --ignore-robots-txt als Argument:

    {
      "mcpServers": {
        "airbnb": {
          "command": "npx",
          "args": [
            "-y",
            "@openbnb/mcp-server-airbnb",
            "--ignore-robots-txt"
          ]
        }
      }
    }
  3. Starte neu.

Konfiguration

Die Erweiterung bietet die folgenden benutzerkonfigurierbaren Optionen:

robots.txt ignorieren

  • Typ: Boolescher Wert (Kontrollkästchen)

  • Standard: false

  • Beschreibung: Hebt die robots.txt-Einschränkungen bei Anfragen an Airbnb auf.

  • Empfehlung: Deaktiviert lassen, außer du benötigst es für Tests.

Drittanbieter-Geocoding deaktivieren

  • Typ: Boolescher Wert (Kontrollkästchen)

  • Umgebungsvariable: DISABLE_GEOCODING

  • Standard: false

  • Beschreibung: Überspringt den Photon/Nominatim-Geocoding-Schritt und überlässt es Airbnb, die Ort-Angabe selbst aufzulösen. Die Aktivierung stellt das Verhalten vor dem PR wieder her – jede Suche geht nur an airbnb.com, ohne Drittanbieter-Aufrufe.

  • Empfehlung: Deaktiviert lassen, es sei denn, du benötigst keinerlei ausgehenden Drittanbieter-Datenverkehr. Mit aktivierter Option können Suchen außerhalb der USA falsche Ergebnisse liefern. Siehe Externe Dienste.

Tools

Suche nach Airbnb-Inseraten mit umfassenden Filtermöglichkeiten.

Parameter:

  • location (erforderlich): Ort, der durchsucht werden soll (z. B. „San Francisco, CA"). Ohne angegebenes placeId geokodiert der Server diese Zeichenkette clientseitig über Photon/Nominatim – siehe Externe Dienste.

  • placeId (optional): Google-Maps-Place-ID. Überschreibt location und überspringt das clientseitige Geocoding vollständig (keine Drittanbieter-Aufrufe).

  • checkin (optional): Check-in-Datum im Format YYYY-MM-DD

  • checkout (optional): Check-out-Datum im Format YYYY-MM-DD

  • adults (optional): Anzahl der Erwachsenen (Standard: 1)

  • children (optional): Anzahl der Kinder (Standard: 0)

  • infants (optional): Anzahl der Kleinkinder (Standard: 0)

  • pets (optional): Anzahl der Haustiere (Standard: 0)

  • minPrice (optional): Mindestpreis pro Nacht

  • maxPrice (optional): Maximale Preis pro Nacht

  • cursor (optional): Paginierungs-Cursor zum Durchblättern der Ergebnisse

  • propertyType (optional): Filterung nach Unterkunftstyp – entire_home, private_room, shared_room oder hotel_room

  • ignoreRobotsText (optional): Überschreibt robots.txt für diese Anfrage.

Rückgabe:

  • Suchergebnisse mit Unterkunftsdetails, Preisen und direkte Links

  • Paginierungsinformationen für weitere Sekundäre

  • Die Such-URL als Referenz

airbnb_listing_details

Ruft detaillierte Informationen für ein bestimmtes Airbnb-Inseraten ab.

Parameter:

  • id (required): Airbnb-Inserats-ID

  • checkin (optional): Check-in-Datum im Format YYYY-MM-DD

  • checkout (optional): Check-out-Datum im Format YYYY-MM-DD

  • adults (optional): Anzahl der Erwachsenen (Standard: 1)

  • children (optional): Anzahl der Kinder (Standard: 0)

  • infants (optional): Anzahl der Kleinkinder (Standard: 0)

  • pets (optional): Anzahl der Haustiere (Standard: 0)

  • ignoreRobotsText (optional): Überschreibt robots.txt für diese Anfrage.

Rückgabe:

  • Detaillierte Unterkunftsinformationen, einschließlich:

    • Standortdetails mit Koordinaten

    • Ausstattung und Einrichtungen, dargestellt als seeAllAmenitiesGroups – ein-Objekt, das nach Ausstattungskategorie gegliedert ist, sodass eine Kategorie direkt angesprochen werden kann. Ausstattungen, die Airbnb durchgestrichen darstellt, erscheinen unter einer eigenen Kategorie "Not included":

      {
        "seeAllAmenitiesGroups": {
          "Bathroom": "Hair dryer",
          "Heating and cooling": "AC - split type ductless system, Heating",
          "Not included": "Dryer, Hot water"
        }
      }
    • Hausregeln und Richtlinien

    • Eigenschaften, Highlights und Unterkunftsbeschreibungen

    • Direktlink zum Inserat

Technische Details

Architektur

  • Laufzeit: Node.js 18+

  • Protokoll: Model Context Protocol (MCP) über stdio

  • Format: MCP Bundle (MCPB) v0.3

  • Abhängigkeiten: Minimale externe Abhängigkeiten für Sicherheit und Zuverlässigkeit

Externe Dienste

Zusätzlich zu airbnb.com sendet der Server Geocoding-Anfragen an zwei Drittanbieter-Dienste, um Standortanfragen in präzise geografische Bounding-Boxen umzuwandeln. Das umgeht das eigene serverseitige Geocoding von Airbnb, das für viele Anfragen außerhalb der USA falsche Ergebnisse liefert (z. B. wird in „Paris, France" in Vendée und nach „Copenhagen, Denmark" nach Wisconsin verschoben).

Dienst

Endpunkt

Verwendet für

Anmerkungen

Photon

photon.komoot.io

Primärer Geocoder, wird bei jeder Suche ohne placeId aufgerufen

Kostenloser, auf OSM basierender Dienst, gehostet von Komoot. Eine Anfrage pro Suche.

Nominatim

nominatim.openstreetmap.org

Fallback-Geocoder, wird nur aufgerufen, wenn Photon keine Bounding-Box zurückgibt

Unterliegt der OSMF-Nutzungsrichtlinie (max. ~1 Anfrage/Sek.).

Jede Suche sendet nur den location-String aus der Anfrage an den Geocoder – keine anderen Anfragefelder, keine IP-Geolokalisierung, keine Tracking-Identifier. Der location-String ist natürlich derselbe,is den der Nutzer eingegeben hat.

Ausoptional aus: Es gibt zwei Möglichkeiten, die Geocoder zu überspringen:

  • Pro Anfrage: sgehst eine eindeutige placeId an. Wenn placeId vorhanden ist, verwendet den Server direkt die Ortsauflösung von Airbnb ohne Drittanfragen.

  • Global: Umgebungsvariable DISABLE_GEOCODING=true setzen. Der Server überspringt das Photon/Nominatim-Geocoding vollständig Anderussia zeichenkette von airbnb.com durch. Das stellt für jede Suche ein Verhalten vor dem PR wieder her und garantiert keine Drittanbieter-Datenverkehr – aber falsche Ergebnisse transfer international, deren „reconfirm" nicht behandelt, die die Obi-Eigener Geocoding fehlerhaft. Standardwert ist false.

Falls ein Geocoder nicht erreichbar ist oder „keine Ergebnis" liefert, wechselt der Server zurück dazu, den location-String direkt an Airbnb zu schicken, wie einstach zuvor – der schlimmste Fall bei einem Ausfall ist also, dass internationale Suchen auf das bisherige (fehlerhafte) Verhalten zurückfallen, und nicht state die Suche vollständig fehlschlägt.

Fehlerbehandlung

  • Umfassende Fehlerprotokollierung mit Zeitstempeln

  • Sauberes Absinken (Graceful Degradation), wenn sich die Seitenstruktur von Airbnb ändert

  • Timeout-Schutz für Netzwerkanfragen

  • Detaillierte Fehlermeldungen zur Unterstützung der Fehlersuche

Security–maßnahmen

  • Standardmäßige Einhaltung der robots.txt

  • Timeout-Limiten für Anfragen

  • Validierung und Bereinigung von Eingaben

  • Sicherer Umgang dabei mit Umgebungsvariablen

  • Keine Speicherung sensibler Daten

Leistung

  • Hocheffizientes HTML-Parsing mit Cheerio

  • Wann sinnvolles Anfragen-Caching

  • Kleiner Speicherbedarf

  • Schneller Start und kurze Reaktionszeiten

Kompatibilität

  • Plattformen: macOS, Windows, Linux

  • Node.js: 18.0.0 oder höher

  • Claude Desktop: 0.10.0 oder höher

  • Andere MCP-Clients: Kompatibel mit jeder MCP-unterstützten Anwendung

Entwicklung

Erstellung aus dem Quellcode

# Install dependencies
npm install

# Build the project
npm run build

# Watch for changes during development
npm run watch

Tests

# Build, then run both suites
npm test

npm test startet den gebaut den Server den serverseitig über stdio und ruft die Werkzeuge real auf:

  • test-extension.js – MCP-Handshake, ist eine Liste der Werkzeuge, eine Suche, Inseratdetails und die Geocoding-Pfade (Photon, Nominatim-Fallback)

  • test-amenities.js – Auszug der Austattung aus mehreren Live-Inseraten und prüft, dass von Airbnb durchgestrichene Ausstattungen nie als vorhandenangezeigt haben.

Beide treffen airbnb.com und die Geocoder über das Netzwerk – hierfür ist also eine Internetverbindung erforderlich, und sie können fehlschlagen, wenn Airbnb die Seitenstruktur ändert. Das ist eben Zweck: Sie zeigen Regression, aber dadurch eignen sie sich auch nicht vor unbemannt als CI-Gate.

Der Server kann auch direkt ausgeführt werden:

# Run with robots.txt compliance (default)
node dist/index.js

# Run with robots.txt ignored (for testing)
node dist/index.js --ignore-robots-txt

Rechtliche und ethische Hinweise

  • Airbnb-NBC einhalten: Diese Erweiterung dient der legitimen Recherche zur Buchungsunterstützung.

  • Einhaltung von robots.txt: Die Erweiterung respektiert robots.txt standardmäßig.

  • Rate-Limiting: Achte auf die Frequenz der Anfragen, um die Server von Airbnb nicht übermäßig zu belasten.

  • Datennutzung: Nur öffentlich verfügbare Informationen und nur für legitime Zwecke extrahieren.

Support

  • Issues: Einzugs von Bugs und Feature Requests unter GitHub Issues

  • Dokumentation: Weitere Dokumentation ist im Repository

  • Community: Beteilige dich an Diskussionen zur MCP- und MCPB-Entwicklung

Lizenz

MIT-Lizenz – siehe Datei LICENSE für Details.

Mitwirken

Beiträge sind willkommen! Bitte lesen Sie die Richtlinien für Beiträge und reichen Sie Pull-Requests für etwaige Verbesserungen ein.


Hinweis: Diese Erweiterung ist nicht mit Airbnb, Inc. verbunden. Sie ist ein unabhängiges Tool, das Nutzer dabei unterstützt, öffentlich verfügbare Airbnb-Angebote zu durchsuchen und zu analysieren.

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielk-am/mcp-server-airbnb'

If you have feedback or need assistance with the MCP directory API, please join our Discord server