酒店搜索服务

一个基于Booking.com API的MCP服务器,允许LLMs搜索酒店和目的地。

  • by Uzeyr-Odysseus
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Uzeyr-Odysseus/BookingMCP

使用说明

酒店MCP服务器

模型上下文协议(MCP)服务器,允许LLM使用Booking.com API搜索酒店和目的地。

特性

  • 按名称搜索目的地
  • 获取特定目的地的酒店列表及日期
  • 丰富的酒店信息包括:
    • 房间细节和类型
    • 定价和折扣
    • 评级和评论
    • 照片
    • 入住/退房时间
    • 星级评定

API集成

此MCP服务器使用 Booking.com API 通过RapidAPI。您需要:

  1. 强奸案
  2. 订阅Booking.com API
  3. 获取API密钥

当前的实现使用两个端点:

  • /api/v1/hotels/searchDestination:搜索目的地
  • /api/v1/hotels/searchHotels:为目的地寻找酒店

设置和安装

先决条件

  • Python 3.11+
  • MCP-SDK(pip install mcp)
  • httpx(pip install httpx)
  • python dotenv(pip install python-dotenv)

安装

  1. 克隆此存储库:

    git clone https://github.com/username/hotels_mcp_server.git
    cd hotels_mcp_server
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 配置您的RapidAPI凭据:

运行服务器

使用以下命令运行服务器:

python main.py

默认情况下,服务器使用stdio传输,以与Cursor等MCP客户端兼容。

与MCP客户端一起使用

光标

  1. 编辑 ~/.cursor/mcp.json:

    {
      "hotels": {
        "command": "python",
        "args": [
          "/path/to/hotels_mcp_server/main.py"
        ]
      }
    }
    
  2. 重新启动游标

  3. 使用自然语言在Cursor中搜索酒店:

    • “查找下周巴黎的酒店”
    • “东京评价最好的酒店是什么?”

MCP检查员

使用MCP Inspector测试您的服务器:

npx @modelcontextprotocol/inspector python main.py

这将打开一个交互式UI,您可以在其中:

  • 查看可用工具
  • 发送测试请求
  • 查看服务器响应

可用工具

  1. search_destinations:按名称搜索目的地

    • 参数: query -目的地名称(例如“巴黎”、“纽约”)
  2. get_hotels:为目的地寻找酒店

    • 参数:
      • destination_id:来自search_destinations的目的地ID
      • checkin_date:入住日期(YYYY-MM-DD)
      • checkout_date:退房日期(YYYY-MM-DD)
      • adults:成年人数量(默认值:2)

编码结构

  • main.py:服务器的入口点
  • hotels_mcp/:核心MCP实施
    • __init__.py:包初始化
    • hotels_server.py:带有工具定义的MCP服务器实现