iclickfreedownloads/airbnb-mcp-server-fixed
If you are the rightful owner of airbnb-mcp-server-fixed and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Enhanced Airbnb MCP Server is a robust and secure server implementation designed for improved deployment and error handling, specifically tailored for Smithery environments.
Enhanced Airbnb MCP Server
A fixed and enhanced version of the Airbnb MCP (Model Context Protocol) server with improved Smithery deployment support and robust error handling.
Key Improvements
🔧 Smithery Deployment Fixes
- Fixed STDIO client hanging issues in worker processes
- Enhanced Docker configuration with multi-stage builds
- Proper
smithery.yamlconfiguration - Non-root user security implementation
- Resource limits and health checks
🚀 Enhanced Features
- Robust geocoding with fallback mechanisms
- Retry logic for failed requests with exponential backoff
- Better error handling with detailed error messages
- Input validation using Zod schemas
- Rate limiting protection
- Graceful shutdown handling
🛡️ Security Improvements
- Non-root Docker user (UID 1001)
- Input sanitization and validation
- Secure HTTP headers
- Read-only filesystem support
Quick Start
Local Installation
# Clone the repository
git clone https://github.com/iclickfreedownloads/airbnb-mcp-server-fixed.git
cd airbnb-mcp-server-fixed
# Install dependencies
npm install
# Build the project
npm run build
# Run the server
npm start -- --ignore-robots-txt
Docker Deployment
# Build the Docker image
docker build -t airbnb-mcp-server .
# Run the container
docker run -it airbnb-mcp-server
Smithery Deployment
# Install Smithery CLI
npm install -g @smithery/cli
# Deploy to Smithery
smithery deploy
Configuration
Environment Variables
NODE_ENV: Set to "production" for production deploymentNODE_OPTIONS: Node.js options (default: "--max-old-space-size=1024")
Smithery Configuration
The smithery.yaml file contains optimized settings for Smithery deployment:
- Resource limits (1Gi memory, 500m CPU)
- Auto-scaling configuration
- Health checks and monitoring
- Security context with non-root user
API Usage
Search Tool
{
"name": "airbnb_search",
"arguments": {
"location": "Paris, France",
"checkin": "2025-12-01",
"checkout": "2025-12-07",
"adults": 2,
"currency": "EUR",
"limit": 10
}
}
Parameters
- location (required): Location to search (e.g., "Paris, France")
- checkin (required): Check-in date (YYYY-MM-DD)
- checkout (required): Check-out date (YYYY-MM-DD)
- adults: Number of adults (1-16, default: 2)
- children: Number of children (0-16, default: 0)
- infants: Number of infants (0-16, default: 0)
- pets: Number of pets (0-16, default: 0)
- currency: Currency code (default: "USD")
- priceMin: Minimum price per night
- priceMax: Maximum price per night
- minBedrooms: Minimum number of bedrooms
- limit: Maximum results (1-50, default: 20)
Error Handling
The server includes comprehensive error handling:
- Network errors: Automatic retry with exponential backoff
- Rate limiting: Intelligent handling of 429 responses
- Validation errors: Clear parameter validation messages
- Geocoding failures: Fallback mechanisms for location resolution
Troubleshooting
Common Issues
-
Connection Timeouts
- Increase timeout values in
smithery.yaml - Check network connectivity
- Verify Smithery platform status
- Increase timeout values in
-
Geocoding Failures
- Use more specific location names
- Try alternative location formats
- Check Nominatim service availability
-
Rate Limiting
- Reduce request frequency
- Implement client-side caching
- Use the built-in retry logic
Debugging
Enable debug logging:
NODE_ENV=development npm start -- --ignore-robots-txt
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see file for details.
Support
For issues and questions:
- Create an issue on GitHub
- Check existing issues for solutions
- Review the troubleshooting section
Acknowledgments
- Based on the original openbnb-org/mcp-server-airbnb
- Enhanced for better Smithery compatibility
- Includes community-reported fixes and improvements