MCP谷歌旅行
一个模型上下文协议(MCP)服务器,通过SerpAPI提供使用谷歌旅行数据搜索航班、酒店和度假租赁的工具。该服务器使AI助手能够帮助用户浏览真实的旅行选项,而无需进行实际预订。
特性
此MCP服务器提供以下工具:
航班搜索工具
- 探照灯 -从Google Flights以真实价格搜索单程或往返航班
- search_multi_city -多城市航班搜索,寻找多个目的地的旅行
酒店搜索工具
- 搜索酒店 -使用位置、日期、客人和设施过滤器搜索酒店
- 获取hotel_详细信息 -获取详细的酒店信息,包括评论和房间选择
度假租赁工具
- 搜索_位置_联系方式 -使用各种过滤器搜索度假租赁(房屋、公寓、别墅)
资源
- mcp://airports -具有IATA代码的主要机场静态列表
数据源
此服务器使用 SerpAPI 从谷歌航班和谷歌酒店获取实时数据。SerpAPI提供:
- 实时航班价格和可用性
- 带有评论和评级的酒店搜索结果
- 价格洞察和趋势
- 全面的旅行信息
安装
选项1:来自npm(推荐)
npm install -g @taskingagency/mcp-google-travels选项2:来自GitHub
克隆存储库并安装依赖项:
git clone https://github.com/modellers/mcp-google-travels.git
cd mcp-google-travels
npm install
npm run build设置SerpAPI
您需要一个SerpAPI API密钥才能使用此服务器:
- 注册地址: 蛇网
- 从仪表板获取API密钥
- 在Claude Desktop配置中将其设置为环境变量(见下文)
用法
作为MCP服务器
此服务器使用stdio传输协议。您可以将其与任何兼容MCP的客户端集成。
Claude桌面配置
添加到您的Claude Desktop配置文件中:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json
使用npm包(推荐):
{
"mcpServers": {
"google-travels": {
"command": "npx",
"args": [
"-y",
"@taskingagency/mcp-google-travels"
],
"env": {
"SERPAPI_API_KEY": "your_serpapi_key_here"
}
}
}
}或者,如果全局安装:
{
"mcpServers": {
"google-travels": {
"command": "mcp-google-travels",
"env": {
"SERPAPI_API_KEY": "your_serpapi_key_here"
}
}
}
}使用GitHub存储库:
{
"mcpServers": {
"google-travels": {
"command": "node",
"args": ["/absolute/path/to/mcp-google-travels/dist/index.js"],
"env": {
"SERPAPI_API_KEY": "your_serpapi_key_here"
}
}
}
}替换 /absolute/path/to/mcp-google-travels 使用克隆存储库的实际路径。
如果通过npm全局安装:
{
"mcpServers": {
"google-travels": {
"command": "mcp-google-travels",
"env": {
"SERPAPI_API_KEY": "your_serpapi_key_here"
}
}
}
}重要提示: 替换 your_serpapi_key_here 使用您的实际SerpAPI密钥。
直接使用
您也可以直接运行服务器:
node dist/index.js服务器将启动并在stdin/stdout上监听JSON-RPC请求。
发展
建筑
npm run build观察变化
npm run watch测试
运行测试脚本以验证所有工具是否正常工作:
node dist/test.js使用MCP检查器
MCP检查器是一个调试工具,允许您交互式测试MCP服务器。要使用它:
- 安装MCP检查器 (如果尚未安装):
npx @modelcontextprotocol/inspector- 构建您的服务器:
npm run build- 启动检查器:
npx @modelcontextprotocol/inspector node dist/index.js- 打开检查器UI 在浏览器中显示终端中显示的URL(通常http://localhost:5173)
- 测试工具 交互式:
- 在左侧面板中查看所有可用工具 - 点击任何工具查看其模式和参数 - 填写参数并执行工具 - 实时查看结果
这对于以下情况特别有用:
- 在开发过程中测试单个工具
- 调试工具响应
- 正在验证参数架构
- 在集成之前了解工具功能
工具示例
搜索航班
从Google flights搜索具有真实价格的往返航班:
{
"name": "search_flights",
"arguments": {
"origin": "SFO",
"destination": "LAX",
"departureDate": "2025-03-15",
"returnDate": "2025-03-20",
"passengers": 2,
"cabinClass": "economy"
}
}答复包括:
- 最佳和替代航班选择
- 实时定价(美元)
- 航班时长与中途停留信息
- 航空公司和飞机详细信息
- 碳排放数据
- 价格洞察和趋势
搜索多个城市
搜索多航段旅行(3个以上目的地):
{
"name": "search_multi_city",
"arguments": {
"flights": [
{
"origin": "SFO",
"destination": "NYC",
"departureDate": "2025-03-15"
},
{
"origin": "NYC",
"destination": "LON",
"departureDate": "2025-03-20"
},
{
"origin": "LON",
"destination": "SFO",
"departureDate": "2025-03-25"
}
],
"passengers": 1,
"cabinClass": "business"
}
}答复包括:
- 组合行程定价
- 单腿细节
- 总行程时间
- 延期信息
获取航班详细信息
获取特定航班的详细信息:
{
"name": "get_flight_details",
"arguments": {
"flightId": "FL-SFO-LAX-001"
}
}答复包括:
- 完整的时间表和时间安排
- 飞机类型和配置
- 机上设施(WiFi、娱乐、餐饮)
- 行李津贴
- 座位可用性
- 退款和更改政策
搜索酒店
搜索具有广泛过滤器的酒店:
{
"name": "search_hotels",
"arguments": {
"location": "San Francisco",
"checkIn": "2025-03-15",
"checkOut": "2025-03-17",
"guests": 2,
"rooms": 1,
"minPrice": 100,
"maxPrice": 300,
"starRating": 4,
"amenities": ["wifi", "pool", "gym"]
}
}答复包括:
- 实时可用的酒店物业
- 每晚价格和总价
- 客人评分和评论数
- 物业照片
- 位置和距离信息
- 可用设施
获取酒店详细信息
获取完整的房产信息:
{
"name": "get_hotel_details",
"arguments": {
"hotelId": "HTL-San-Francisco-001"
}
}答复包括:
- 详细的物业描述
- 房间类型和配置
- 完整的便利设施列表
- 客人评论和评分
- 附近景点
- 取消政策
搜索度假租赁
搜索度假屋和公寓:
{
"name": "search_vacation_rentals",
"arguments": {
"location": "Miami Beach",
"checkIn": "2025-03-15",
"checkOut": "2025-03-22",
"guests": 4,
"bedrooms": 2,
"bathrooms": 2,
"propertyType": "house",
"amenities": ["wifi", "kitchen", "pool", "parking"]
}
}答复包括:
- 可用的度假租赁
- 夜间和总价
- 房产照片和描述
- 主机信息
- 住客评价
- 房屋规则和入住详情
API集成详细信息
SerpAPI参数
服务器将MCP工具调用转换为SerpAPI请求:
航班搜索:
- 发动机:
google_flights - 参数:
departure_id,arrival_id,outbound_date,return_date,adults,travel_class,type - 旅游舱位映射:经济→1,保费经济→2,商业→3,第一→4
- 类型代码:1=往返,2=单程,3=多城市
酒店搜索:
- 发动机:
google_hotels - 参数:
q,check_in_date,check_out_date,adults,currency,min_price,max_price,hotel_class
多城市:
- 用途
multi_city_json带有腿阵列的参数 - 每条腿:
{departure_id, arrival_id, date}
响应结构
所有响应均返回来自Google的结构化JSON数据,包括:
best_flights/properties-最佳推荐结果other_flights/other_options-备选方案price_insights-历史定价和预测search_metadata-搜索参数和时间search_parameters-请求参数回声
数据说明
该服务器通过SerpAPI提供来自谷歌航班和谷歌酒店的实时旅行数据。所有搜索返回:
- 实时定价和可用性
- 实际航班时刻表和酒店物业
- 真实的客人评论和评分
- 当前的旅行限制和政策
重要提示: 这是一项仅限浏览的服务,不进行预订。用户应直接通过航空公司、酒店或预订平台完成预订。
发展
运行测试
该项目包括使用真实SerpAPI响应的模拟数据进行的全面测试:
# Run all tests
npm test
# Generate fresh mock data from SerpAPI
npm run generate-mocks看 测试.md 获取详细的测试文档。
建筑
npm run build观察变化
npm run watch许可证
麻省理工学院
