AigoHotel MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • 这是一个基于 MCP 协议的服务器端实现,用于为 AI 助手提供全球酒店搜索、酒店详情查询以及标签相关功能。服务器通过 HTTP 传输与 MCP 客户端通信,暴露若干可被 LLM 调用的工具(Tools)。
  • 主要功能点

    • 提供酒店搜索工具:searchHotels,支持按地点、地点类型、筛选条件等进行酒店候选列表检索,并返回最低价等信息。
    • 提供酒店详情工具:getHotelDetail,在用户选定酒店后查询实时房态、价格和退改规则等信息。
    • 提供酒店标签工具:getHotelSearchTags,用于获取搜索标签元数据,便于在本地缓存后进行意图解析。
    • 通过请求头中的 API Key 进行鉴权,外部 API 调用通过调用指定的后端服务实现。
    • 使用 FastMCP 实现 MCP 服务端,支持通过 http 传输与 MCP 客户端通信。
  • 安装步骤

    1. 建立并激活虚拟环境
      • python -m venv venv
      • Windows: venv\Scripts\activate
      • Linux/Mac: source venv/bin/activate
    2. 安装依赖
      • pip install -r requirements.txt
    3. 获取并配置 API Key
      • 访问并申请 API Key,填入项目根目录下的 .env(示例 .env.example 已提供),key 以 mcp_ 开头
    4. 启动服务器
      • 直接运行根目录下的启动命令 python server.py
      • 启动成功通常会看到输出类似:MCP 端点显示在 http://0.0.0.0:8000/mcp,后台服务运行在本地 8000 端口
  • 服务器配置(面向 MCP 客户端的配置信息,示例为 JSON 结构,便于理解与对接)

    • serverName: aigohotel
    • command: python
    • args: ["server.py"] 注释:以上命令会从根目录执行启动脚本(server.py),该脚本内部会导入 aigohotel_mcp.server 并启动 MCP 服务。若部署路径不同,请将工作目录设置为项目根目录,并保留正确的启动命令及参数。
  • 基本使用方法

    • 通过 MCP 客户端的配置,将服务器地址指向 http://localhost:8000/mcp
    • 调用的工具名称包括:searchHotels、getHotelDetail、getHotelSearchTags
    • 使用前请确保客户端已正确传递 API Key 头部信息(Authorization: Bearer <api_key> 或 X-Secret-Key 等 支持的头部字段)
    • LLM 调用示例(类型上属于流程描述,实际调用需通过 MCP 客户端的接口实现):
      • 调用 searchHotels 工具来获取候选酒店列表
      • 根据候选酒店的 hotelId 调用 getHotelDetail 获取价格与房态信息
      • 使用 getHotelSearchTags 获取用于排序与意图解析的标签数据
  • 注意事项

    • 该实现使用 FastMCP 库,提供了基于 HTTP 的传输模式,适合与将 MCP 客户端通过网络进行交互
    • 在实际部署中,请确保 API Key 配置正确、网络访问正常,并按需调整主机与端口

服务器信息