Airbnb
Buscar listados de Airbnb y obtener sus detalles.
Documentación
Airbnb Search & Listings - MCP Bundle (MCPB)
Un paquete MCP integral para buscar anuncios de Airbnb con capacidades avanzadas de filtrado y recuperación detallada de información de propiedades. Construido como un servidor Model Context Protocol (MCP) empaquetado en el formato MCP Bundle (MCPB) para facilitar su instalación y 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 anuncios de Airbnb — sin necesidad de configuración local.
Si no quieres lidiar con la instalación y ejecución de este servidor, 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 ricos que las herramientas base aquí
- ✅ Interfaz MCP — componentes de interfaz interactivos para explorar resultados, no solo texto plano
- ✅ Gestionado y mantenido — se mantiene en funcionamiento por ti
Dirígete a openbnb.ai para obtener instrucciones de configuración y los detalles de conexión para tu cliente MCP.
Si prefieres autoalojar el servidor de código abierto, continúa leyendo.
Características
🔍 Capacidades avanzadas de búsqueda
- Búsqueda basada en ubicación con soporte para ciudades, estados y regiones
- Soporte de ubicaciones internacionales mediante geocodificación del lado del cliente, de modo que las consultas 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 orientación precisa de la ubicación
- Filtrado por tipo de propiedad para casas completas, habitaciones privadas, habitaciones compartidas o habitaciones de hotel
- Filtrado por fechas con soporte de fechas de entrada y salida
- Configuración de huéspedes que incluye adultos, niños, bebés y mascotas
- Filtrado por rango de precios con restricciones de precio mínimo y máximo
- Soporte de paginación para navegar por grandes conjuntos de resultados
🏠 Información detallada de la propiedad
- Detalles completos del anuncio que incluyen comodidades, políticas y aspectos destacados
- Información de ubicación con coordenadas y detalles del vecindario
- Reglas y políticas de la casa para decisiones de reserva informadas
- 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 anulación configurable para pruebas
- Gestión de tiempo de espera de solicitudes para evitar solicitudes colgadas
- Manejo mejorado de errores con registro detallado
- Conciencia de límite de velocidad y uso respetuoso de la API
- Configuración segura mediante la configuración de usuario de MCPB
Instalación
Para Claude Desktop
Esta extensión está empaquetada como un archivo MCP Bundle (.mcpb). Para instalarla:
- Descarga el archivo
.mcpbdesde la última versión - Abre el archivo — Claude Desktop mostrará un diálogo de instalación
- Configura los ajustes de la extensión según sea necesario
Para ignorar robots.txt, abre la configuración de Claude Desktop, navega a la extensión y activa la opción Ignorar robots.txt.
Para Cursor, etc.
Antes de comenzar, asegúrate de que Node.js esté instalado en tu escritorio para que npx funcione.
-
Ve a: Cursor Settings > Tools & Integrations > New MCP Server
-
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" ] } } } -
Reinicia.
Configuración
La extensión proporciona las siguientes opciones configurables por el usuario:
Ignorar robots.txt
- Tipo: Booleano (casilla de verificación)
- Valor predeterminado:
false - Descripción: Omite las restricciones de robots.txt al realizar solicitudes a Airbnb
- Recomendación: Mantener desactivado a menos que sea necesario para fines de prueba
Desactivar geocodificación de terceros
- Tipo: Booleano (casilla de verificación)
- Variable de entorno:
DISABLE_GEOCODING - Valor predeterminado:
false - Descripción: Omite el paso de geocodificación de Photon/Nominatim y permite que Airbnb resuelva la cadena de ubicación por sí mismo. Al activarlo se restaura el comportamiento anterior al PR: cada búsqueda va solo a
airbnb.com, sin llamadas a terceros. - Recomendación: Mantener desactivado a menos que necesites específicamente cero tráfico saliente a terceros. Con esta opción activada, las búsquedas fuera de EE. UU. podrían devolver resultados incorrectos. Consulta Servicios externos.
Herramientas
airbnb_search
Busca anuncios de Airbnb con opciones de filtrado exhaustivas.
Parámetros:
location(obligatorio): Ubicación a buscar (p. ej., "San Francisco, CA"). Cuando se proporciona sinplaceId, el servidor geocodifica esta cadena del lado del cliente mediante Photon/Nominatim — consulta Servicios externos.placeId(opcional): Google Maps Place ID. Anulalocationy omite por completo la geocodificación del lado del cliente (sin llamadas a terceros).checkin(opcional): Fecha de entrada en formato AAAA-MM-DDcheckout(opcional): Fecha de salida en formato AAAA-MM-DDadults(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 nochemaxPrice(opcional): Precio máximo por nochecursor(opcional): Cursor de paginación para navegar por los resultadospropertyType(opcional): Filtrar por tipo de propiedad —entire_home,private_room,shared_roomohotel_roomignoreRobotsText(opcional): Anular robots.txt para esta solicitud
Devuelve:
- Resultados de búsqueda con detalles de la propiedad, precios y enlaces directos
- Información de paginación para navegar por resultados adicionales
- URL de búsqueda para referencia
airbnb_listing_details
Obtén información detallada sobre un anuncio específico de Airbnb.
Parámetros:
id(obligatorio): ID del anuncio de Airbnbcheckin(opcional): Fecha de entrada en formato AAAA-MM-DDcheckout(opcional): Fecha de salida en formato AAAA-MM-DDadults(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): Anular robots.txt para esta solicitud
Devuelve:
- Información detallada de la propiedad que incluye:
-
Detalles de ubicación con coordenadas
-
Comodidades e instalaciones, como
seeAllAmenitiesGroups— un objeto organizado por categoría de comodidad, de modo que se puede acceder directamente a una categoría. Las comodidades que Airbnb muestra tachadas llegan bajo su propia categoría"Not included":{ "seeAllAmenitiesGroups": { "Bathroom": "Hair dryer", "Heating and cooling": "AC - split type ductless system, Heating", "Not included": "Dryer, Hot water" } } -
Reglas y políticas de la casa
-
Aspectos destacados y descripciones de la propiedad
-
Enlace directo al anuncio
-
Detalles técnicos
Arquitectura
- Entorno de 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 seguridad y fiabilidad
Servicios externos
Además de airbnb.com, el servidor realiza solicitudes de geocodificación a dos servicios de terceros para traducir las consultas de ubicación en cuadros delimitadores precisos del mapa. Esto evita el geocodificador del lado del servidor de Airbnb, que produce resultados incorrectos para muchas consultas fuera de EE. UU. (p. ej., "París, Francia" aterriza en Vendée; "Copenhague, Dinamarca" aterriza en Wisconsin).
| Servicio | Endpoint | Uso | Notas |
|---|---|---|---|
| Photon | photon.komoot.io | 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 solicitud/segundo). |
Cada búsqueda envía solo la cadena location de la solicitud al geocodificador — ningún otro campo de la solicitud, sin geolocalización por IP, sin identificadores de seguimiento. La cadena de ubicación en sí es, por supuesto, la misma cadena que escribió el usuario.
Cómo optar por no participar: hay dos formas de omitir los geocodificadores:
- Por solicitud: proporciona un
placeIdexplícito. CuandoplaceIdestá presente, el servidor utiliza la búsqueda de lugares propia de Airbnb directamente, sin llamadas a terceros. - Globalmente: establece 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 anterior al PR para cada búsqueda y garantiza cero tráfico saliente a terceros — a costa de resultados incorrectos para ubicaciones fuera de EE. UU. que el geocodificador de Airbnb maneja mal. El valor predeterminado esfalse.
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 lo hacía antes — de modo que el peor caso para una interrupción es que las búsquedas internacionales degraden al comportamiento anterior (incorrecto), no que la búsqueda falle por completo.
Manejo de errores
- Registro exhaustivo de errores con marcas de tiempo
- Degradación gradual cuando la estructura de página de Airbnb cambia
- Protección de tiempo de espera para solicitudes de red
- Mensajes de error detallados para la resolución de problemas
Medidas de seguridad
- Cumplimiento de robots.txt por defecto
- Límites de tiempo de espera de solicitudes
- Validación y saneamiento de entradas
- Manejo seguro de variables de entorno
- Sin almacenamiento de datos sensibles
Rendimiento
- Análisis HTML eficiente con Cheerio
- Caché de solicitudes cuando corresponde
- Huella de memoria mínima
- Inicio y tiempos de respuesta rápidos
Compatibilidad
- Plataformas: 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 impulsa el servidor compilado a través de stdio y llama a las herramientas de verdad:
test-extension.js— protocolo de enlace MCP, listado de herramientas, una búsqueda, detalles del anuncio y las rutas de geocodificación (Photon, respaldo de Nominatim)test-amenities.js— extracción de comodidades en varios anuncios en vivo, verificando que las comodidades que Airbnb muestra tachadas nunca aparezcan como ofrecidas por el anuncio
Ambos acceden a airbnb.com y a los geocodificadores a través de la red, por lo que necesitan conectividad y pueden fallar si Airbnb cambia la estructura de sus páginas — ese es su propósito, pero también significa que no son adecuados como puerta de CI desatendida.
El servidor también se puede ejecutar 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
- Respeta los Términos de servicio de Airbnb: Esta extensión es para investigación legítima y asistencia en reservas
- Cumplimiento de robots.txt: La extensión respeta robots.txt por defecto
- Límite de velocidad: Ten en cuenta la frecuencia de solicitudes para no sobrecargar los servidores de Airbnb
- Uso de datos: Solo extrae información disponible públicamente para fines legítimos
Soporte
- Problemas: Reporta errores y solicitudes de funciones en GitHub Issues
- Documentación: Documentación adicional disponible en el repositorio
- Comunidad: Únete a las discusiones sobre el desarrollo de MCP y MCPB
Licencia
Licencia MIT — consulta el archivo LICENSE para más detalles.
Contribuciones
¡Las contribuciones son bienvenidas! Lee las pautas de contribución y envía solicitudes de extracción para cualquier mejora.
Nota: Esta extensión no está afiliada a Airbnb, Inc. Es una herramienta independiente diseñada para ayudar a los usuarios a buscar y analizar anuncios de Airbnb disponibles públicamente.