项目简介
这是一个基于Model Context Protocol (MCP) 构建的服务器,专注于提供旅行规划相关的上下文信息和工具。它可以被支持MCP协议的LLM客户端(如Claude Desktop)调用,以执行航班和酒店的搜索任务,从而增强LLM处理旅行相关查询的能力。
主要功能点
- 日期获取: 提供当前日期,帮助LLM获取最新的时间上下文。
- 机票搜索 ('search-flights'): 允许LLM搜索指定出发地、目的地和日期的航班。支持单程和往返搜索,可指定舱位和排序方式。
- 酒店搜索 ('search-hotels-by-coordinates'): 允许LLM通过地理坐标、入住/退房日期搜索附近的酒店。支持指定搜索半径、入住人数、房间数、儿童年龄、价格范围和货币。
安装步骤
- 获取API Key: 该服务器依赖外部API获取数据,您需要:
- 访问 RapidAPI 网站,搜索并获取 Booking.com API 的密钥。
- (注:虽然代码中使用了Booking.com API,README提到了Google Maps,但当前版本的MCP服务器代码主要实现了基于Booking.com的航班和酒店搜索。实际运行时可能需要Booking.com API Key作为环境变量。)
- 克隆仓库: 将项目仓库克隆到本地。
git clone https://github.com/RikGmee/searchAPI-mcp.git cd searchAPI-mcp - 安装依赖: 使用 npm 安装项目所需的依赖。
npm install - 构建项目: 运行构建命令生成可执行文件。
npm run build
至此,服务器的可执行文件将位于 'build/index.js'。
服务器配置 (供MCP客户端使用)
MCP客户端需要知道如何启动并连接到此服务器。典型的MCP客户端配置(如在 '.config/anthropic/claude.json' 或类似文件中)需要指定服务器的名称、启动命令及其参数,以及任何必需的环境变量。
对于此旅行MCP服务器,配置信息大致如下:
- 服务器名称: 'travel' (这是代码中定义的服务器名称)
- 启动命令 (command): 用于执行Node.js脚本的命令,通常是 'node'。
- 命令参数 (args): 传递给启动命令的参数,指向构建后的服务器主脚本路径,例如 '["<您的仓库路径>/build/index.js"]'。请将 '<您的仓库路径>' 替换为您实际克隆仓库的本地路径。
- 环境变量 (env): 服务器运行所需的环境变量,必须包含 'BOOKING_COM_API_KEY',其值是您从RapidAPI获取的Booking.com API密钥。
例如,配置可能包含类似概念的条目,但不直接是以下JSON代码(因为用户可能看不懂代码):
"travel": { "command": "node", "args": ["/path/to/your/searchAPI-mcp/build/index.js"], "env": { "BOOKING_COM_API_KEY": "<您的Booking.com API密钥>" } }
您需要在您的MCP客户端的配置中,按照其要求填写这些信息。
基本使用方法
- 启动MCP客户端: 启动您的支持MCP协议的LLM客户端(例如,配置好上述信息的Claude Desktop)。
- LLM调用: LLM客户端连接到此旅行MCP服务器后,即可通过理解用户意图并调用服务器提供的工具来回答问题。例如:
- 用户提问:"我需要查找明天从北京到上海的航班。"
- LLM客户端识别需要调用 'search-flights' 工具。
- LLM客户端向旅行MCP服务器发送 'search-flights' 工具调用请求,并传递参数(如出发城市="北京", 目的地="上海", 日期="明天日期")。
- 旅行MCP服务器执行 'search-flights' 工具,调用Booking.com API,获取航班信息。
- 旅行MCP服务器将航班搜索结果返回给LLM客户端。
- LLM客户端根据结果生成自然语言回复给用户。
- 类似地,用户可以通过描述地点和日期来触发酒店搜索(例如:“推荐一个靠近巴黎埃菲尔铁塔、价格合理的酒店,入住日期是下周末”)。LLM可能需要先调用一个地理工具获取埃菲尔铁塔的坐标,然后调用 'search-hotels-by-coordinates' 工具。
信息
分类
AI与计算