Travel & Transportation JavaScript ★ 478

openbnb-org/mcp-server-airbnb

Airbnb'de arama yapmanızı ve listing detaylarını almanızı sağlayan araçlar sunar.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "openbnb-org-mcp-server-airbnb": {
      "command": "node",
      "args": [
        "~/.mcp/mcp-server-airbnb/index.js"
      ]
    }
  }
}

downloads

Airbnb Arama & İlanları - MCP Bundle (MCPB)

Gelişmiş filtreleme yetenekleri ve detaylı mülk bilgisi almak için kapsamlı bir MCP Bundle. Model Context Protocol (MCP) sunucusu olarak inşa edilmiş ve uyumlu AI uygulamalarla kolay kurulum ve kullanım için MCP Bundle (MCPB) formatında paketlenmiştir.


🚀 Yerel bir sunucu çalıştırmak istemiyorsunuz? openbnb.ai deneyin

👉 openbnb.ai barındırılan bir MCP sunucusudur ve aynı sorunu çözer — Airbnb ilanlarını aramak — herhangi bir yerel kurulum olmadan.

Bu sunucuyu kendiniz kurmak ve çalıştırmakla uğraşmak istemiyorsanız, openbnb.ai MCP istemcinizden doğrudan bağlanabileceğiniz ayrı, tamamen barındırılan bir alternatiftir. Bu açık kaynak sunucusunun sunduklarının ötesine geçer:

  • Sıfır kurulum — Node yok, npx yok, yapılandırma dosyası yok, yönetilecek güncellemeler yok
  • Gelişmiş filtreler — buradaki temel araçların ötesinde daha zengin arama kontrolleri
  • MCP UI — sadece düz metin değil, sonuçlara göz atmak için etkileşimli UI bileşenleri
  • Yönetilen ve bakımlı — sizin için çalışır durumda tutulur

Kurulum talimatları ve MCP istemciniz için bağlantı ayrıntıları için openbnb.ai adresine gidin.

Açık kaynak sunucusunu kendi başınıza barındırmayı tercih ederseniz, okumaya devam edin.


Özellikler

🔍 Gelişmiş Arama Yetenekleri

  • Konum tabanlı arama şehir, eyalet ve bölge desteğiyle
  • Uluslararası konum desteği istemci tarafı coğrafi kodlaması aracılığıyla, böylece ABD dışı sorgular (örneğin "Paris, France", "Copenhagen, Denmark") doğru şehirde sonuç döndürür
  • Google Maps Place ID entegrasyonu hassas konum hedeflemesi için
  • Mülk türü filtreleme tüm evler, özel odalar, paylaşılan odalar veya otel odaları için
  • Tarih filtreleme giriş ve çıkış tarihi desteğiyle
  • Misafir yapılandırması yetişkinler, çocuklar, bebekler ve evcil hayvanlar dahil
  • Fiyat aralığı filtreleme minimum ve maksimum fiyat kısıtlamalarıyla
  • Sayfalandırma desteği büyük sonuç kümeleri arasında gezinmek için

🏠 Detaylı Mülk Bilgileri

  • Kapsamlı ilan detayları olanaklar, politikalar ve önemli noktalar dahil
  • Konum bilgileri koordinatlar ve mahalle detayları ile
  • Ev kuralları ve politikalar bilinçli rezervasyon kararları için
  • Mülk açıklamaları ve temel özellikler
  • Doğrudan bağlantılar kolay rezervasyon için Airbnb ilanlarına

🛡️ Güvenlik & Uyumluluk

  • Robots.txt uyumluluğu test için yapılandırılabilir geçersiz kılma ile
  • İstek zaman aşımı yönetimi asılı istekleri önlemek için
  • Gelişmiş hata işleme ayrıntılı günlük kaydı ile
  • Hız sınırlama farkındalığı ve saygılı API kullanımı
  • Güvenli yapılandırma MCPB kullanıcı ayarları aracılığıyla

Kurulum

Claude Desktop İçin

Bu uzantı bir MCP Bundle (.mcpb) dosyası olarak paketlenmiştir. Kurmak için:

  1. En son sürümden .mcpb dosyasını indirin
  2. Dosyayı açın — Claude Desktop bir kurulum iletişim kutusunu gösterecek
  3. Uzantı ayarlarını gerektiği gibi yapılandırın

Robots.txt'i yok saymak için Claude Desktop ayarlarını açın, uzantıya gidin ve Ignore robots.txt değiştiricisini etkinleştirin.

Cursor vb. İçin

Başlamadan önce npx işinin çalışması için masaüstünüzde Node.js kurulu olduğundan emin olun.

  1. Şuna gidin: Cursor Settings > Tools & Integrations > New MCP Server

  2. Aşağıdakilerden birini mcp.json dosyanıza ekleyin:

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

    Tüm istekler için robots.txt'i yok saymak üzere, --ignore-robots-txt args ile bu sürümü kullanın

    {
      "mcpServers": {
        "airbnb": {
          "command": "npx",
          "args": [
            "-y",
            "@openbnb/mcp-server-airbnb",
            "--ignore-robots-txt"
          ]
        }
      }
    }
    
  3. Yeniden başlatın.

Yapılandırma

Uzantı aşağıdaki kullanıcı tarafından yapılandırılabilir seçenekleri sağlar:

Robots.txt'i Yok Say

  • Tür: Boolean (kontrol kutusu)
  • Varsayılan: false
  • Açıklama: Airbnb'ye istekler yaparken robots.txt kısıtlamalarını atlayın
  • Öneri: Test amaçları dışında devre dışı bırakın

Üçüncü taraf coğrafi kodlamayı devre dışı bırakın

  • Tür: Boolean (kontrol kutusu)
  • Ortam değişkeni: DISABLE_GEOCODING
  • Varsayılan: false
  • Açıklama: Photon/Nominatim coğrafi kodlaması adımını atlayın ve Airbnb'nin konum dizesini kendi başına çözmesine izin verin. Bunu etkinleştirmek PR öncesi davranışını geri yükler — her arama sadece airbnb.com'e gider, üçüncü taraf çağrısı yok.
  • Öneri: Sıfır üçüncü taraf giden trafiğine özellikle ihtiyaç duymazsanız devre dışı bırakın. Etkinleştirildikçe, ABD dışı aramalar yanlış sonuç döndürebilir. Bkz. Harici Hizmetler.

Araçlar

airbnb_search

Kapsamlı filtreleme seçenekleriyle Airbnb ilanlarını arayın.

Parametreler:

  • location (gerekli): Aranacak konum (örn. "San Francisco, CA"). placeId olmadan sağlandığında, sunucu bu dizgiyi istemci tarafı coğrafi kodlaması aracılığıyla Photon/Nominatim'de kodlar — bkz. Harici Hizmetler.
  • placeId (isteğe bağlı): Google Maps Place ID. location'ı geçersiz kılar ve istemci tarafı coğrafi kodlamayı tamamen atlar (üçüncü taraf çağrısı yok).
  • checkin (isteğe bağlı): YYYY-MM-DD formatında giriş tarihi
  • checkout (isteğe bağlı): YYYY-MM-DD formatında çıkış tarihi
  • adults (isteğe bağlı): Yetişkin sayısı (varsayılan: 1)
  • children (isteğe bağlı): Çocuk sayısı (varsayılan: 0)
  • infants (isteğe bağlı): Bebek sayısı (varsayılan: 0)
  • pets (isteğe bağlı): Evcil hayvan sayısı (varsayılan: 0)
  • minPrice (isteğe bağlı): Gece başına minimum fiyat
  • maxPrice (isteğe bağlı): Gece başına maksimum fiyat
  • cursor (isteğe bağlı): Sonuçlara göz atmak için sayfalandırma imleç
  • propertyType (isteğe bağlı): Mülk türüne göre filtrele — entire_home, private_room, shared_room veya hotel_room
  • ignoreRobotsText (isteğe bağlı): Bu istek için robots.txt'i geçersiz kılın

Döner:

  • Mülk detayları, fiyatlandırma ve doğrudan bağlantılarla arama sonuçları
  • Ek sonuçlara göz atmak için sayfalandırma bilgileri
  • Referans için arama URL'si

airbnb_listing_details

Belirli bir Airbnb ilanı hakkında detaylı bilgi alın.

Parametreler:

  • id (gerekli): Airbnb ilan ID'si
  • checkin (isteğe bağlı): YYYY-MM-DD formatında giriş tarihi
  • checkout (isteğe bağlı): YYYY-MM-DD formatında çıkış tarihi
  • adults (isteğe bağlı): Yetişkin sayısı (varsayılan: 1)
  • children (isteğe bağlı): Çocuk sayısı (varsayılan: 0)
  • infants (isteğe bağlı): Bebek sayısı (varsayılan: 0)
  • pets (isteğe bağlı): Evcil hayvan sayısı (varsayılan: 0)
  • ignoreRobotsText (isteğe bağlı): Bu istek için robots.txt'i geçersiz kılın

Döner:

  • Detaylı mülk bilgileri şunları içerir:
    • Koordinatları olan konum detayları
    • Olanaklar ve tesisler
    • Ev kuralları ve politikalar
    • Mülk önemli noktaları ve açıklamaları
    • İlana doğrudan bağlantı

Teknik Detaylar

Mimari

  • Runtime: Node.js 18+
  • Protocol: Model Context Protocol (MCP) stdio taşıması aracılığıyla
  • Format: MCP Bundle (MCPB) v0.3
  • Bağımlılıklar: Güvenlik ve güvenilirlik için minimal harici bağımlılıklar

Harici Hizmetler

airbnb.com'a ek olarak sunucu, konum sorgularını doğru harita sınırlandırma kutularına çevirmek için iki üçüncü taraf hizmete coğrafi kodlaması istekleri yapar. Bu, birçok ABD dışı sorgu için yanlış sonuçlar üretim Airbnb'nin kendi sunucu tarafı coğrafyacısını atlatır (örneğin "Paris, France" Vendée'de iner; "Copenhagen, Denmark" Wisconsin'de iner).

Hizmet Endpoint Kullanım Amacı Notlar
Photon photon.komoot.io Birincil coğrafyacı, placeId olmadan her arama üzerinde çağrılır Komoot tarafından barındırılan özgür OSM tabanlı hizmet. Arama başına bir istek.
Nominatim nominatim.openstreetmap.org Geri dönüş coğrafyacısı, sadece Photon sınırlandırma kutusu döndürmediğinde çağrılır OSMF kullanım politikasına tabidir (maks ~1 req/sec).

Her arama, istekten sadece location dizgisini coğrafyacıya gönderir — başka istek alanı yok, IP coğrafyalandırması yok, izleme tanımlayıcıları yok. Konum dizgisi kendisi elbette kullanıcının yazdığı dizgiyle aynıdır.

Çıkış yapma: coğrafyacıları atlamak için iki yol vardır:

  • İstek başına: açık bir placeId sağlayın. placeId mevcut olduğunda, sunucu Airbnb'nin kendi yer aramasını doğrudan üçüncü taraf çağrısı olmadan kullanır.
  • Global olarak: ortam değişkenini ayarlayın DISABLE_GEOCODING=true. Sunucu Photon/Nominatim'i tamamen atlayacak ve ham konum dizgisini Airbnb'ye geçirecektir. Bu, her arama için PR öncesi davranışını geri yükler ve sıfır üçüncü taraf giden trafiği garanti eder — Airbnb'nin kendi coğrafyacısının yanlış işlediği ABD dışı konumlar için kırılmış sonuçlar pahasına. Varsayılan olarak false'a ayarlanır.

Bir coğrafyacı ulaşılamazsa veya hiç sonuç döndürmezse, sunucu konum dizgisini doğrudan Airbnb'ye göndermek için geri döner, tam olarak önceden yaptığı gibi — bu nedenle bir kesinti için en kötü durum, uluslararası aramaların önceki (kırılmış) davranışa düşmesidir, aramanın tamamen başarısız olması değil.

Hata İşleme

  • Zaman damgalı kapsamlı hata günlüğü
  • Airbnb'nin sayfa yapısı değiştiğinde zarif bozulma
  • Ağ istekleri için zaman aşımı koruması
  • Sorun giderme için detaylı hata mesajları

Güvenlik Önlemleri

  • Varsayılan olarak Robots.txt uyumluluğu
  • İstek zaman aşımı limitleri
  • Input doğrulaması ve sanitasyonu
  • Güvenli ortam değişkeni işleme
  • Duyarlı veri depolama yok

Performans

  • Cheerio ile etkili HTML ayrıştırması
  • Uygun yerlerde istek önbelleği
  • Minimal bellek ayak izi
  • Hızlı başlangıç ve yanıt süreleri

Uyumluluk

  • Platformlar: macOS, Windows, Linux
  • Node.js: 18.0.0 veya daha yüksek
  • Claude Desktop: 0.10.0 veya daha yüksek
  • Diğer MCP istemcileri: MCP destekleyen herhangi bir uygulamayla uyumlu

Geliştirme

Kaynaktan Derleme

# Bağımlılıkları yükleyin
npm install

# Projeyi derleyin
npm run build

# Geliştirme sırasında değişiklikleri izleyin
npm run watch

Test

Uzantı, MCP sunucusunu doğrudan çalıştırarak test edilebilir:

# Robots.txt uyumluluğu ile çalıştırın (varsayılan)
node dist/index.js

# Robots.txt yok sayılarak çalıştırın (test için)
node dist/index.js --ignore-robots-txt

Yasal ve Etik Hususlar

  • Airbnb Hizmet Şartlarına Saygı Gösterin: Bu uzantı meşru araştırma ve rezervasyon yardımı içindir
  • Robots.txt Uyumluluğu: Uzantı varsayılan olarak robots.txt'e saygı gösterir
  • Hız Sınırlama: Airbnb sunucularını bunaltmamak için istek sıklığına dikkat edin
  • Veri Kullanımı: Sadece hukuki amaçlar için halka açık bilgileri çıkarın

Destek

  • Sorunlar: GitHub Issues üzerinde hataları ve özellik isteklerini bildirin
  • Belgeler: Depoda ek belgeler mevcuttur
  • Topluluk: MCP ve MCPB geliştirmesi hakkında tartışmalara katılın

Lisans

MIT Lisansı - detaylar için LICENSE dosyasına bakın.

Katkıda Bulunma

Katkılar hoşlanmaktadır! Katkı yönergelerini okuyun ve herhangi bir iyileştirme için pull request gönderin.


Not: Bu uzantı Airbnb, Inc. ile bağlantılı değildir. Kullanıcıların halka açık Airbnb ilanlarını aramasına ve analiz etmesine yardımcı olmak için tasarlanmış bağımsız bir araçtır.

Benzer MCP sunucuları

Daha fazla: Travel & Transportation →