Skip to main content

Travel recommendations MCP Server

Project description

🌍 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 stdio and streamable-http protocols
  • 🏨 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-http protocol.

  • POST /expedia/hotels → Hotel recommendations
  • POST /expedia/flights → Flight recommendations
  • POST /expedia/activities → Activity recommendations
  • POST /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 Apache License 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

expedia_travel_recommendations_mcp-1.0.2.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file expedia_travel_recommendations_mcp-1.0.2.tar.gz.

File metadata

File hashes

Hashes for expedia_travel_recommendations_mcp-1.0.2.tar.gz
Algorithm Hash digest
SHA256 940be9efda335c3962be5fd7c78be95909b74440317381585625f0852fdd3f8e
MD5 470775efa7f47b3d5ac3475bbc57ea9c
BLAKE2b-256 502cbca7e523fe674bf169741d5cb8c2f8f6c776390f4b3b75c42e4f58b62ed0

See more details on using hashes here.

Provenance

The following attestation bundles were made for expedia_travel_recommendations_mcp-1.0.2.tar.gz:

Publisher: publish.yaml on ExpediaGroup/expedia-travel-recommendations-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file expedia_travel_recommendations_mcp-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for expedia_travel_recommendations_mcp-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 764ac13494b34f92de14a32b04fa27815735796eaf2118143dfc41180ba572a1
MD5 60653b82070a5da7f1eb8681ce7b1541
BLAKE2b-256 5576e1d875a40bc606eff5376855df36901ce112892c2589192339f3651fb5d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for expedia_travel_recommendations_mcp-1.0.2-py3-none-any.whl:

Publisher: publish.yaml on ExpediaGroup/expedia-travel-recommendations-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page