ExpediaGroup/expedia-travel-recommendations-mcp
If you are the rightful owner of expedia-travel-recommendations-mcp 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.
This project provides an MCP server for accessing Expedia Travel Recommendations via stdio and streamable-http protocols.
🌍 Expedia Travel Recommendations MCP Server
This project provides an MCP (Model Context Protocol) server that exposes Expedia Travel Recommendations (hotels, flights, activities, and cars) via both stdio and streamable-http protocols—ideal for LLM integrations and web-based applications.
✨ Features
- 🔌 MCP server integration for Expedia's travel recommendation APIs
- 📦 Supports both
stdioandstreamable-httpprotocols - 🏨 Hotel, ✈️ Flight, 🗺️ Activity, and 🚗 Car rental recommendations
- 🔐 API key-based secure access
🛠 Prerequisites
- Python 3.11+
- Expedia API key
⚡ Running the MCP Server
Run with stdio protocol (LLM Integration)
export EXPEDIA_API_KEY="your_api_key_here"
uvx expedia_travel_recommendations_mcp --protocol "stdio"
Run with streamable-http protocol (Web Clients)
export EXPEDIA_API_KEY="your_api_key_here"
uvx expedia_travel_recommendations_mcp --protocol "streamable-http"
Access it at:
http://0.0.0.0:9900/mcp
🐳 Running with Docker
Using Docker Compose (Recommended)
docker run \
-p 9900:9900 \
-e EXPEDIA_API_KEY=your_api_key_here \
expediagroup/expedia-travel-recommendations-mcp
Accessible at:
http://0.0.0.0:9900/mcp
⚙️ MCP Client Configuration
Using streamable-http (Recommended)
{
"mcpServers": {
"expedia-recommendation": {
"url": "http://localhost:9900/mcp"
}
}
}
Using stdio
{
"mcpServers": {
"expedia-travel-recommendations": {
"command": "uvx",
"args": [
"expedia_travel_recommendations_mcp",
"--protocol",
"stdio"
],
"env": {
"EXPEDIA_API_KEY": "your_api_key_here"
}
}
}
}
🧪 Example Query (Hotel)
{
"query": {
"destination": "Seattle",
"check_in": "2025-05-01",
"check_out": "2025-05-05",
"property_types": ["HOTEL", "RESORT"],
"amenities": ["POOL", "SPA"],
"guest_rating": "WONDERFUL",
"sort_type": "CHEAPEST"
}
}
🔗 API Endpoints
These are exposed when using the
streamable-httpprotocol.
POST /expedia/hotels→ Hotel recommendationsPOST /expedia/flights→ Flight recommendationsPOST /expedia/activities→ Activity recommendationsPOST /expedia/cars→ Car rental recommendations
🧑💻 Example Clients
See the examples/ folder for client scripts.
1️⃣ stdio-based Client
Make sure the virtual env is activated (install.sh must be run first):
source install_env/bin/activate
python examples/mcp_client_stdio.py
2️⃣ streamable-http Client
Ensure MCP server is running:
python examples/mcp_client_streamable_http.py
📄 License
Licensed under the .