Extension de recherche et d'annonces Airbnb pour bureau (dxt)
Aperçu
Qu'est-ce que mcp-server-airbnb ?
Le ### mcp-server-airbnb est un dépôt public hébergé sur GitHub par l'organisation ### openbnb-org. Ce projet sert d'implémentation côté serveur conçue pour faciliter des fonctionnalités similaires à celles d'Airbnb, permettant aux développeurs de créer et de gérer des annonces de location, de traiter des réservations et d'intégrer diverses fonctionnalités qui améliorent l'expérience utilisateur tant pour les hôtes que pour les invités.
Fonctionnalités de mcp-server-airbnb
- Gestion des utilisateurs : Le système permet la création et la gestion de comptes utilisateurs, y compris pour les hôtes et les invités.
- Gestion des annonces : Les utilisateurs peuvent créer, mettre à jour et supprimer des annonces de propriétés avec des descriptions détaillées, des images et des prix.
- Système de réservation : Le serveur gère les demandes de réservation, les vérifications de disponibilité et le traitement des paiements.
- Notifications : Les utilisateurs reçoivent des notifications pour les confirmations de réservation, les annulations et d'autres mises à jour importantes.
- Intégration API : Le serveur peut s'intégrer à diverses API pour améliorer les fonctionnalités, telles que les passerelles de paiement et les services de cartographie.
Comment utiliser mcp-server-airbnb
-
Cloner le dépôt : Commencez par cloner le dépôt sur votre machine locale en utilisant la commande :
git clone https://github.com/openbnb-org/mcp-server-airbnb.git
-
Installer les dépendances : Accédez au répertoire du projet et installez les dépendances nécessaires. Cela implique généralement d'exécuter :
npm install
-
Configuration : Configurez les variables d'environnement selon les besoins de votre configuration, y compris les connexions à la base de données et les clés API.
-
Exécuter le serveur : Lancez le serveur en utilisant la commande :
npm start
-
Accéder à l'API : Utilisez des outils comme Postman ou cURL pour interagir avec les points de terminaison API fournis par le serveur.
Questions Fréquemment Posées
Quelles technologies sont utilisées dans mcp-server-airbnb ?
Le projet mcp-server-airbnb est construit en utilisant des technologies web modernes, y compris Node.js pour la logique côté serveur, Express.js pour le routage et MongoDB pour la gestion de la base de données.
Comment puis-je contribuer au projet ?
Les contributions sont les bienvenues ! Vous pouvez forker le dépôt, apporter vos modifications et soumettre une demande de tirage pour révision. Assurez-vous de suivre les directives de contribution décrites dans le dépôt.
Y a-t-il une documentation disponible ?
Oui, le dépôt comprend un fichier README qui fournit un aperçu du projet, des instructions de configuration et de la documentation API. Une documentation supplémentaire peut être disponible dans le dossier docs
.
Comment signaler des problèmes ou des bugs ?
Si vous rencontrez des problèmes ou des bugs, veuillez ouvrir un problème dans le dépôt GitHub. Fournissez une description détaillée du problème, les étapes pour le reproduire et toute capture d'écran ou journal pertinent.
Puis-je utiliser mcp-server-airbnb à des fins commerciales ?
Le projet est sous licence MIT, ce qui permet une utilisation personnelle et commerciale. Cependant, il est conseillé de revoir les termes de la licence pour garantir la conformité.
Détail
Airbnb Search & Listings - Desktop Extension (DXT)
A comprehensive Desktop Extension for searching Airbnb listings with advanced filtering capabilities and detailed property information retrieval. Built as a Model Context Protocol (MCP) server packaged in the Desktop Extension (DXT) format for easy installation and use with compatible AI applications.
Features
🔍 Advanced Search Capabilities
- Location-based search with support for cities, states, and regions
- Google Maps Place ID integration for precise location targeting
- Date filtering with check-in and check-out date support
- Guest configuration including adults, children, infants, and pets
- Price range filtering with minimum and maximum price constraints
- Pagination support for browsing through large result sets
🏠 Detailed Property Information
- Comprehensive listing details including amenities, policies, and highlights
- Location information with coordinates and neighborhood details
- House rules and policies for informed booking decisions
- Property descriptions and key features
- Direct links to Airbnb listings for easy booking
🛡️ Security & Compliance
- Robots.txt compliance with configurable override for testing
- Request timeout management to prevent hanging requests
- Enhanced error handling with detailed logging
- Rate limiting awareness and respectful API usage
- Secure configuration through DXT user settings
Installation
For Claude Desktop
This extension is packaged as a Desktop Extension (DXT) file. To install:
- Download the
.dxt
file from the releases page - Open your compatible AI application (e.g., Claude Desktop)
- Install the extension through the application's extension manager
- Configure the extension settings as needed
For Cursor, etc.
Before starting make sure Node.js is installed on your desktop for npx
to work.
-
Go to: Cursor Settings > Tools & Integrations > New MCP Server
-
Add one the following to your
mcp.json
:{ "mcpServers": { "airbnb": { "command": "npx", "args": [ "-y", "@openbnb/mcp-server-airbnb" ] } } }
To ignore robots.txt for all requests, use this version with
--ignore-robots-txt
args{ "mcpServers": { "airbnb": { "command": "npx", "args": [ "-y", "@openbnb/mcp-server-airbnb", "--ignore-robots-txt" ] } } }
-
Restart.
Configuration
The extension provides the following user-configurable options:
Ignore robots.txt
- Type: Boolean (checkbox)
- Default:
false
- Description: Bypass robots.txt restrictions when making requests to Airbnb
- Recommendation: Keep disabled unless needed for testing purposes
Tools
airbnb_search
Search for Airbnb listings with comprehensive filtering options.
Parameters:
location
(required): Location to search (e.g., "San Francisco, CA")placeId
(optional): Google Maps Place ID (overrides location)checkin
(optional): Check-in date in YYYY-MM-DD formatcheckout
(optional): Check-out date in YYYY-MM-DD formatadults
(optional): Number of adults (default: 1)children
(optional): Number of children (default: 0)infants
(optional): Number of infants (default: 0)pets
(optional): Number of pets (default: 0)minPrice
(optional): Minimum price per nightmaxPrice
(optional): Maximum price per nightcursor
(optional): Pagination cursor for browsing resultsignoreRobotsText
(optional): Override robots.txt for this request
Returns:
- Search results with property details, pricing, and direct links
- Pagination information for browsing additional results
- Search URL for reference
airbnb_listing_details
Get detailed information about a specific Airbnb listing.
Parameters:
id
(required): Airbnb listing IDcheckin
(optional): Check-in date in YYYY-MM-DD formatcheckout
(optional): Check-out date in YYYY-MM-DD formatadults
(optional): Number of adults (default: 1)children
(optional): Number of children (default: 0)infants
(optional): Number of infants (default: 0)pets
(optional): Number of pets (default: 0)ignoreRobotsText
(optional): Override robots.txt for this request
Returns:
- Detailed property information including:
- Location details with coordinates
- Amenities and facilities
- House rules and policies
- Property highlights and descriptions
- Direct link to the listing
Technical Details
Architecture
- Runtime: Node.js 18+
- Protocol: Model Context Protocol (MCP) via stdio transport
- Format: Desktop Extension (DXT) v0.1
- Dependencies: Minimal external dependencies for security and reliability
Error Handling
- Comprehensive error logging with timestamps
- Graceful degradation when Airbnb's page structure changes
- Timeout protection for network requests
- Detailed error messages for troubleshooting
Security Measures
- Robots.txt compliance by default
- Request timeout limits
- Input validation and sanitization
- Secure environment variable handling
- No sensitive data storage
Performance
- Efficient HTML parsing with Cheerio
- Request caching where appropriate
- Minimal memory footprint
- Fast startup and response times
Compatibility
- Platforms: macOS, Windows, Linux
- Node.js: 18.0.0 or higher
- Claude Desktop: 0.10.0 or higher
- Other MCP clients: Compatible with any MCP-supporting application
Development
Building from Source
### Install dependencies
npm install
### Build the project
npm run build
### Watch for changes during development
npm run watch
Testing
The extension can be tested by running the MCP server directly:
### Run with robots.txt compliance (default)
node dist/index.js
### Run with robots.txt ignored (for testing)
node dist/index.js --ignore-robots-txt
Legal and Ethical Considerations
- Respect Airbnb's Terms of Service: This extension is for legitimate research and booking assistance
- Robots.txt Compliance: The extension respects robots.txt by default
- Rate Limiting: Be mindful of request frequency to avoid overwhelming Airbnb's servers
- Data Usage: Only extract publicly available information for legitimate purposes
Support
- Issues: Report bugs and feature requests on GitHub Issues
- Documentation: Additional documentation available in the repository
- Community: Join discussions about MCP and DXT development
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please read the contributing guidelines and submit pull requests for any improvements.
Note: This extension is not affiliated with Airbnb, Inc. It is an independent tool designed to help users search and analyze publicly available Airbnb listings.
Configuration du serveur
{
"mcpServers": {
"mcp-server-airbnb": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--openbnb-org--mcp-server-airbnb--mcp-server-airbnb",
"node dist/index.js"
],
"env": {}
}
}
}