Skip to main content

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:

  1. A RapidAPI account
  2. Subscribe to the Booking.com API
  3. 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

  1. Clone this repository:

    git clone https://github.com/username/hotels_mcp_server.git
    cd hotels_mcp_server
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Configure your RapidAPI credentials:

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

  1. Edit ~/.cursor/mcp.json:

    {
      "hotels": {
        "command": "python",
        "args": [
          "/path/to/hotels_mcp_server/main.py"
        ]
      }
    }
    
  2. Restart Cursor

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

  1. search_destinations: Search for destinations by name

    • Parameter: query - Destination name (e.g., "Paris", "New York")
  2. get_hotels: Get hotels for a destination

    • Parameters:
      • destination_id: Destination ID from search_destinations
      • checkin_date: Check-in date (YYYY-MM-DD)
      • checkout_date: Check-out date (YYYY-MM-DD)
      • adults: Number of adults (default: 2)

Code Structure

  • main.py: The entry point for the server
  • hotels_mcp/: The core MCP implementation
    • __init__.py: Package initialization
    • hotels_server.py: MCP server implementation with tool definitions

License

MIT © Esa Krissa 2025

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

iflow_mcp_hotels_mcp_server-0.1.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

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

iflow_mcp_hotels_mcp_server-0.1.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_hotels_mcp_server-0.1.0.tar.gz.

File metadata

File hashes

Hashes for iflow_mcp_hotels_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6a632b93be97e6f89dd2a279f4bfe62a045d9d0ee36197092753cf83a07a84b4
MD5 e5466305347804cd32362ccc84359485
BLAKE2b-256 26b2428a5a4407c3dd73c87794a081526b98b72ab645def30c6ac0e2d2eb0f38

See more details on using hashes here.

File details

Details for the file iflow_mcp_hotels_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for iflow_mcp_hotels_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d9a3dbbe28312376f52f35030b165db90133c7350fdf74f7c84b1b9f2fe43cf
MD5 2b0ed4cc5d6b5d802dcbb2952a8d8a9d
BLAKE2b-256 5fcb95abe6b651719dbb98e0f154b587f49eaa12cf5cd7bc488d89dfc838cbea

See more details on using hashes here.

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