AigoHotel MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- 这是一个基于 MCP 协议的服务器端实现,用于为 AI 助手提供全球酒店搜索、酒店详情查询以及标签相关功能。服务器通过 HTTP 传输与 MCP 客户端通信,暴露若干可被 LLM 调用的工具(Tools)。
-
主要功能点
- 提供酒店搜索工具:searchHotels,支持按地点、地点类型、筛选条件等进行酒店候选列表检索,并返回最低价等信息。
- 提供酒店详情工具:getHotelDetail,在用户选定酒店后查询实时房态、价格和退改规则等信息。
- 提供酒店标签工具:getHotelSearchTags,用于获取搜索标签元数据,便于在本地缓存后进行意图解析。
- 通过请求头中的 API Key 进行鉴权,外部 API 调用通过调用指定的后端服务实现。
- 使用 FastMCP 实现 MCP 服务端,支持通过 http 传输与 MCP 客户端通信。
-
安装步骤
- 建立并激活虚拟环境
- python -m venv venv
- Windows: venv\Scripts\activate
- Linux/Mac: source venv/bin/activate
- 安装依赖
- pip install -r requirements.txt
- 获取并配置 API Key
- 访问并申请 API Key,填入项目根目录下的 .env(示例 .env.example 已提供),key 以 mcp_ 开头
- 启动服务器
- 直接运行根目录下的启动命令 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 配置正确、网络访问正常,并按需调整主机与端口