Skip to main content
Glama
danielk-am

@openbnb/mcp-server-airbnb

by danielk-am

downloads

Airbnb Search & Listings - MCP Bundle (MCPB)

Un paquete MCP completo para buscar alojamientos en Airbnb con capacidades de filtrado avanzadas y recuperación de información detallada de las propiedades. Construido como servidor Model Context Protocol (MCP) empaquetado en el formato MCP Bundle (MCPB) para facilitar su instalación y su uso con aplicaciones de IA compatibles.


🚀 ¿Prefieres no ejecutar un servidor local? Prueba openbnb.ai

**👉 openbnb.ai es un servidor MCP alojado que resuelve el mismo problema —buscar alojamientos de Airbnb— sin necesidad de configuración local.

Si no quieres encargarte de instalar y ejecutar este servidor tú mismo, openbnb.ai es una alternativa independiente y totalmente alojada a la que puedes conectarte directamente desde tu cliente MCP. Va más allá de lo que ofrece este servidor de código abierto:

  • Cero configuración — sin Node, sin npx, sin archivos de configuración, sin actualizaciones que gestionar

  • Filtros avanzados — controles de búsqueda más completos que las herramientas base incluidas aquí

  • Interfaz de usuario MCP — componentes de interfaz interactivos para explorar resultados, no solo texto plano

  • Gestionado y mantenido — nosotros lo mantenemos en funcionamiento por ti

Ve a openbnb.ai para obtener las instrucciones de configuración y los datos de conexión para tu cliente MCP.

Si prefieres alojar tú mismo la versión de código abierto, sigue leyendo.


Características

🔍 Capacidades de búsqueda avanzadas

  • Búsqueda por ubicación con soporte para ciudades, regiones, estados y países

  • Soporte de ubicaciones internacionales mediante geocodificación en el lado del cliente, de modo que las búsquedas fuera de EE. UU. (p. ej., «París, Francia», «Copenhague, Dinamarca») devuelvan resultados en la ciudad correcta

  • Integración con Google Maps Place ID para una localización precisa

  • Filtro por tipo de propiedad: casas completas, habitaciones privadas, habitaciones compartidas o habitaciones de hotel

  • Filtro de fechas con soporte de fecha de entrada y salida

  • Configuración de huéspedes incluyendo adultos, niños, bebés y mascotas

  • Filtro de rango de precios con mínimo y máximo

  • Paginación para navegar por conjuntos de resultados grandes

🏠 Información detallada de la propiedad

  • Detalles completos del anuncio que incluyen servicios, políticas y aspectos destacados

  • Información de ubicación con coordenadas y detalles del vecindario

  • Normas y políticas de la casa para tomar decisiones informadas al reservar

  • Descripciones de la propiedad y características clave

  • Enlaces directos a los anuncios de Airbnb para reservar fácilmente

🛡️ Seguridad y cumplimiento

  • Cumplimiento de robots.txt con opción predeterminada configurable para pruebas

  • Gestión de tiempos de espera en las solicitudes para evitar peticiones bloqueadas

  • Manejo mejorado de errores con registro detallado

  • Conciencia de límite de peticiones y uso correcto de la API

  • Configuración segura a través de los ajustes de usuario de MCPB

Instalación

Para Claude Desktop

Esta extensión se distribuye como un archivo MCP Bundle (.mcpb). Para instalarla:

  1. Descarga el archivo .mcpb de la última versión

  2. Abre el archivo — Claude Desktop mostrará un diálogo de instalación

  3. Configura los ajustes de la extensión según sea necesario

Para ignorar robots.txt, abre los ajustes de Claude Desktop, ve a la extensión y activa el conmutador Ignore robots.txt.

Para Cursor, etc.

Antes de empezar , asegúrate de que Node.js esté instalado en tu equipo para que npx funcione.

  1. Ve a: Cursor Settings > Tools & Integrations > New MCP Server

  2. Añade una de las siguientes opciones a tu mcp.json:

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

    Para ignorar robots.txt en todas las solicitudes, usa esta versión con los argumentos --ignore-robots-txt

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

Configuración

La extensión ofrece las siguientes opciones configurables:

Ignore robots.txt

  • Tipo: Booleano (casilla)

  • Valor predeterminado: false

  • Descripción: Ignora las restricciones de robots.txt al realizar solicitudes a Airbnb

  • Recomendación: Mantenerlo desactivado salvo que sea necesario para pruebas

Disable third-party geocoding

  • Tipo: Booleano (casilla)

  • Variable de entorno: DISABLE_GEOCODING

  • Valor predeterminado: false

  • Descripción: Omite el paso de geocodificación de Photon/Nominatim y deja que Airbnb resuelva la cadena de ubicación por sí solo. Al activarlo se restaura el comportamiento anterior al PR: cada búsqueda va únicamente a airbnb.com, sin llamadas de terceros.

  • Recomendación: Mantenlo desactivado salvo que realmente necesites cero tráfico saliente a terceros. Si está activado, las búsquedas fuera de EE. UU. podrían devolver resultados incorrectos. Ver Servicios externos.

Herramientas

Busca alojamientos de Airbnb con opciones de filtrado exhaustivas.

Parámetros:

  • location (obligatorio): Ubicación a buscar (p. ej., "San Francisco, CA"). Cuando se envía sin placeId, el servidor geocodifica esta cadena en el lado del cliente mediante Photon/Nominatim — ver Servicios externos.

  • placeId (opcional): Google Maps Place ID. Sobrescribe location y omite por completo la geocodificación en el cliente (sin llamadas a terceros).

  • checkin (opcional): Fecha de entrada en formato AAAA-MM-DD

  • checkout (opcional): Fecha de salida en formato AAAA-MM-DD

  • adults (opcional): Número de adultos (predeterminado: 1)

  • children (opcional): Número de niños (predeterminado: 0)

  • infants (opcional): Número de bebés (predeterminado: 0)

  • pets (opcional): Número de mascotas (predeterminado: 0)

  • minPrice (opcional): Precio mínimo por noche

  • maxPrice (opcional): Precio máximo por noche

  • cursor (opcional): Cursor de paginación para explorar resultados

  • propertyType (opcional): Filtrar por tipo de propiedad — entire_home, private_room, shared_room o hotel_room

  • ignoreRobotsText (opcional): Anulación de robots.txt para esta solicitud

Devuelve:

  • Resultados de búsqueda con de detalles de la propiedad, precios y enlaces directos

  • Información de paginación para explorar más resultados

  • URL de búsqueda para referencia

airbnb_listing_details

Obtén la información detallada de un anuncio concreto de Airbnb.

Parámetros:

  • id (obligatorio): Identificador del anuncio de Airbnb

  • checkin (opcional): Fecha de entrada en formato AAAA-MM-DD

  • checkout (opcional): Fecha de salida en formato AAAA-MM-DD

  • adults (opcional): Número de adultos (predeterminado: 1)

  • children (opcional): Número de niños (predeterminado: 0)

  • infants (opcional): Número de bebés (predeterminado: 0)

  • pets (opcional): Número de mascotas (predeterminado: 0)

  • ignoreRobotsText (opcional): Anulación de robots.txt para esta solicitud

Devuelve:

  • Información detallada de la propiedad que incluye:

    • Datos de ubicación con coordenadas

    • Equipamiento y servicios, como seeAllAmenitiesGroups — un objeto indexado por categorías de servicios, de modo que pueda accederse directamente a una categoría. Los servicios que Airbnb muestra tachados aparecen en su propia categoría "Not included":

      {
        "seeAllAmenitiesGroups": {
          "Bathroom": "Hair dryer",
          "Heating and cooling": "AC - split type ductless system, Heating",
          "Not included": "Dryer, Hot water"
        }
      }
    • Normas y políticas de la casa

    • Aspectos destacados y descripciones de la propiedad

    • Enlace directo al anuncio

Detalles técnicos

Arquitectura

  • Ejecución: Node.js 18+

  • Protocolo: Model Context Protocol (MCP) mediante transporte stdio

  • Formato: MCP Bundle (MCPB) v0.3

  • Dependencias: Dependencias externas mínimas para garantizar seguridad y fiabilidad

Servicios externos

Además de airbnb.com, el servidor realiza solicitudes de geocodificación a dos servicios de terceros para convertir las consultas de ubicación en cuadros delimitadores precisos. Esto evita el geocodificador propio de Airbnb, que produce resultados incorrectos en muchas búsquedas fuera de EE. UU. (p. ej., "París, Francia" cae en Vendée; "Copenhague, Dinamarca" en Wisconsin).

Servicio

Endpoint

Uso

Notas

Photon

photon.komoot.dev

Geocodificador principal, llamado en cada búsqueda sin `placeId

Servicio gratuito basado en OSM alojado por Komoot. Una solicitud por búsqueda.

Nominatim

nominatim.openstreetmap.org

Geocodificador de respaldo, llamado solo cuando Photon no devuelve un cuadro delimitador

Sujeto a la política de uso de OSMF (máx. ~1 repet/seg)

Cada búsqueda envía únicamente la cadena location de la solicitud al geocodificador — no se envían otros campos, ni geolocalización IP, ni identificadores de seguimiento. La cadena de ubicación, por supuesto, es la misma que el usuario escribió.

Exclusión voluntaria: hay dos formas de omitir los geocodificadores:

  • Por solicitud: proporcionar un placeId explícito. Cuando placeId está presente, el servidor usa directamente la propia búsqueda de lugares de Airbnb, sin llamadas a terceros.

  • Globalmente: configurar la variable de entorno DISABLE_GEOCODING=true. El servidor omitirá Photon/Nominatim por completo y pasará la cadena de ubicación sin procesar a Airbnb. Esto restaura el comportamiento previo al PR para cada búsqueda y garantiza cero tráfico saliente a terceros — a costa de obtener resultados incorrectos para ubicaciones no estadounidenses que el geocodificador de Airbnb maneja mal. El valor por defecto es false.

Si un geocodificador no está disponible o no devuelve resultados, el servidor recurre a enviar la cadena de ubicación directamente a Airbnb, exactamente como se hacía antes — por lo que el peor caso de una caída es que las búsquedas internacionales degraden al comportamiento anterior (defectuoso), pero la búsqueda no falla por completo.

Manejo de errores

  • Registro exhaustivo de errores con marcas de tiempo

  • Degradación moderada cuando Airbnb cambia la estructura de sus páginas

  • Protección de timeout en solicitudes red

  • Mensajes de error detallados para facilitar la solución de problemas

Medidas de seguridad

  • Cumplimiento de robots.txt de forma predeterminada

  • Límites de tiempo de espera para las solicitudes

  • Validación y saneado de entradas

  • Gestión segura de variables de entorno

  • No se almacenan datos confidenciales

Rendimiento

  • Análisis eficiente de HTML con Cheerio

  • Caché de solicitudes cuando corresponde

  • Mínimo consumo de memoria

  • Inicio rápido y tiempos de respuesta mínimos

Compatibilidad

  • Sistemas: macOS, Windows, Linux

  • Node.js: 18.0.0 o superior

  • Claude Desktop: 0.10.0 o superior

  • Otros clientes MCP: Compatible con cualquier aplicación que admita MCP

Desarrollo

Compilar desde el código fuente

# Install dependencies
npm install

# Build the project
npm run build

# Watch for changes during development
npm run watch

Pruebas

# Build, then run both suites
npm test

npm test prueba el servidor compilado a través de stdio y ejecuta las herramientas en real:

  • test-extension.js — presentación y listado de herramientas, una búsqueda, detalleçes de un anuncio y las rutas de geocodificación (Photon, Nominatim opcional)

  • test-amenities.js — extracción de servicios en varios anuncios en vivo, verifica que las instalaciones que Airbnb muestra tachadas nunca aparecen como disponibles

Ambas pruebas acceden a airbnb.com y a los geocodificadores por red, de modo que requieren conexión y pueden fallar si Airbnb cambia la estructura de sus páginas — ese es el objetivo de las pruebas, pero también significa que no son adecuadas como puerta de CI no supervisada.

El servidor también puede ejecutarse directamente:

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

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

Consideraciones legales y éticas

  • Versa los términos de servicio de Airbnb: esta extensión está pensada para investigación legítimas y apoyo a la reserva

  • Cumplimiento de robots.txt: respeta robots.txt por defecto

  • Límite de solicitudes: ten en cuenta la frecuencia de peticiones para no sobrecargar los servidores de Airbnb

  • Uso de datos: solo extraer información disponible públicamente para fines legítimos

Soporte

  • Incidencias: reporta los errores y pide funciones en GitHub Issues

  • Documentación: documentación adicional disponible en el repositorio

  • Comunidad: participa en las discusiones sobre MCP y pro.

Licencia

Licencia MIT - para más detalles, ver el archivo LICENSE.

Contribución

¡Contribuciones son bienvenidas! Por favor, lee las pautas de contribución y envía pull requests para cualquier mejora.


Nota: Esta extensión no está afiliada con Airbnb, Inc. Es una herramienta independiente diseñada para ayudar a los usuarios a buscar y analizar anuncios de Airbnb que están disponibles públicamente.

-
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