Skip to main content

🌍 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.

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.

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 files

1.0.0

2 files

0.1.8

2 files

Supported by

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