Add your description here
Project description
Hotels MCP Server
A Model Context Protocol (MCP) server that allows LLMs to search for hotels and destinations using the Booking.com API.
Features
- Search for destinations by name
- Get hotel listings for specific destinations with dates
- Rich hotel information including:
- Room details and types
- Pricing and discounts
- Ratings and reviews
- Photos
- Check-in/check-out times
- Star ratings
API Integration
This MCP server uses the Booking.com API via RapidAPI. You'll need:
- A RapidAPI account
- Subscribe to the Booking.com API
- Get your API key
The current implementation uses two endpoints:
/api/v1/hotels/searchDestination: Search for destinations/api/v1/hotels/searchHotels: Get hotels for a destination
Setup and Installation
Prerequisites
- Python 3.11+
- MCP SDK (
pip install mcp) - httpx (
pip install httpx) - python-dotenv (
pip install python-dotenv)
Installation
-
Clone this repository:
git clone https://github.com/username/hotels_mcp_server.git cd hotels_mcp_server -
Install dependencies:
pip install -r requirements.txt
-
Configure your RapidAPI credentials:
- Copy
.env.exampleto.env - Add your RapidAPI key from Booking.com API on RapidAPI to the
.envfile
- Copy
Running the Server
Run the server with:
python main.py
The server uses stdio transport by default for compatibility with MCP clients like Cursor.
Using with MCP Clients
Cursor
-
Edit
~/.cursor/mcp.json:{ "hotels": { "command": "python", "args": [ "/path/to/hotels_mcp_server/main.py" ] } }
-
Restart Cursor
-
Use natural language to search for hotels in Cursor:
- "Find hotels in Paris for next week"
- "What are the best-rated hotels in Tokyo?"
MCP Inspector
Test your server with MCP Inspector:
npx @modelcontextprotocol/inspector python main.py
This opens an interactive UI where you can:
- View available tools
- Send test requests
- See server responses
Available Tools
-
search_destinations: Search for destinations by name- Parameter:
query- Destination name (e.g., "Paris", "New York")
- Parameter:
-
get_hotels: Get hotels for a destination- Parameters:
destination_id: Destination ID from search_destinationscheckin_date: Check-in date (YYYY-MM-DD)checkout_date: Check-out date (YYYY-MM-DD)adults: Number of adults (default: 2)
- Parameters:
Code Structure
main.py: The entry point for the serverhotels_mcp/: The core MCP implementation__init__.py: Package initializationhotels_server.py: MCP server implementation with tool definitions
License
MIT © Esa Krissa 2025
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_hotels_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_hotels_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a632b93be97e6f89dd2a279f4bfe62a045d9d0ee36197092753cf83a07a84b4
|
|
| MD5 |
e5466305347804cd32362ccc84359485
|
|
| BLAKE2b-256 |
26b2428a5a4407c3dd73c87794a081526b98b72ab645def30c6ac0e2d2eb0f38
|
File details
Details for the file iflow_mcp_hotels_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_hotels_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d9a3dbbe28312376f52f35030b165db90133c7350fdf74f7c84b1b9f2fe43cf
|
|
| MD5 |
2b0ed4cc5d6b5d802dcbb2952a8d8a9d
|
|
| BLAKE2b-256 |
5fcb95abe6b651719dbb98e0f154b587f49eaa12cf5cd7bc488d89dfc838cbea
|