旅行规划服务

一个全面的旅行规划服务,提供航班搜索、住宿预订、货币兑换、天气预报和旅行预算计算功能。

  • by gs-ysingh
  • JavaScript
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 gs-ysingh/travel-mcp-server

使用说明

旅行MCP服务器

用于综合旅行计划的模型上下文协议(MCP)服务器,提供航班搜索、住宿预订、货币兑换、天气预报和旅行预算计算功能。

特性

  • 🛫 航班搜索:查找并比较各种选项的航班
  • 🏨 住宿搜索:搜索酒店、度假屋和其他住宿
  • 💱 货币兑换:获取旅行预算的实时汇率
  • 🌤️ 天气预报:检查旅行日期的天气状况
  • 💰 旅行预算计算器:计算和计划您的旅行费用

安装

  1. 克隆存储库:
git clone <repository-url>
cd travel-mcp-server
  1. 安装依赖项:
npm install
  1. 设置环境变量:
    • 复制 .env.example 向 .env
    • 填写API密钥(请参阅 API密钥设置)

API密钥设置

您需要从以下服务获取API密钥:

  1. API航班:Amadeus、Skyscanner或类似的飞行数据提供商
  2. 住宿API:Booking.com、Airbnb或类似的住宿服务
  3. 货币兑换API:Fixer.io、ExchangeRate-API或类似服务
  4. 天气API:OpenWeatherMap、WeatherAPI或类似的天气服务
  5. Google Places API:景点和餐厅推荐

更新您的 .env 使用这些密钥的文件:

FLIGHT_API_KEY=your_flight_api_key
BOOKING_API_KEY=your_booking_api_key
EXCHANGE_API_KEY=your_exchange_api_key
WEATHER_API_KEY=your_weather_api_key
GOOGLE_PLACES_API_KEY=your_google_places_api_key

用法

发展

在热重载的开发模式下运行服务器:

npm run dev

生产

构建并启动服务器:

npm run build
npm start

观看模式

文件更改时自动重新启动运行:

npm run watch

可用工具

MCP服务器提供以下工具:

1.搜索航班(search_flights)

使用可定制的选项搜索目的地之间的航班。

参数:

  • origin:出发机场/城市
  • destination:到达机场/城市
  • departureDate:出发日期
  • returnDate:返回日期(单程可选)
  • passengers:乘客人数
  • class:经济舱、商务舱、头等舱

2.搜索住宿(search_accommodation)

查找酒店、度假租赁和其他住宿选择。

参数:

  • destination:城市或地点
  • checkIn:入住日期
  • checkOut:退房日期
  • guests:客人数量
  • rooms:房间数量
  • type:住宿类型(酒店、公寓等)

3.获取汇率(get_exchange_rate)

获取货币之间的当前汇率。

参数:

  • from:源货币代码(例如美元)
  • to:目标货币代码(例如欧元)
  • amount:要转换的金额(可选)

4.获取天气预报(get_weather_forecast)

检查您旅行目的地的天气状况。

参数:

  • location:城市或地点
  • date:预测日期
  • days:预测天数(可选)

5.计算行程预算(calculate_trip_budget)

计算预计的旅行费用,包括航班、住宿和日常开支。

参数:

  • destination:旅行目的地
  • duration:行程持续时间(天)
  • travelers:旅客人数
  • category:预算类别(预算、中档、豪华)

项目结构

travel-mcp-server/
├── src/
│   ├── index.ts              # Main server entry point
│   └── services/
│       ├── FlightService.ts       # Flight search functionality
│       ├── AccommodationService.ts # Accommodation search
│       ├── CurrencyService.ts     # Currency exchange
│       └── WeatherService.ts      # Weather forecasting
├── dist/                     # Compiled TypeScript output
├── package.json             # Project dependencies and scripts
├── tsconfig.json           # TypeScript configuration
├── .env                    # Environment variables (not in repo)
├── .gitignore             # Git ignore rules
└── README.md              # This file

与MCP客户端集成

此服务器可以与任何兼容MCP的客户端一起使用,例如:

  • 克劳德桌面
  • 其他支持MCP的AI助手
  • 自定义MCP客户端应用程序

将服务器添加到MCP客户端配置中:

{
  "mcpServers": {
    "travel-planner": {
      "command": "npx",
      "args": ["travel-mcp-server"]
    }
  }
}

开发指南

技术栈

  • TypeScript:类型安全的JavaScript开发
  • Node.js:运行时环境
  • MCP-SDK:模型上下文协议实现
  • 阿西奥斯:API请求的HTTP客户端
  • 萨德:架构验证
  • dotenv:环境变量管理

添加新服务

  1. 在中创建新的服务类 src/services/
  2. 实施所需的方法
  3. 在中注册服务 src/index.ts
  4. 添加相应的工具和处理程序

运行测试

npm test

贡献

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature-name
  3. 进行更改
  4. 运行测试: npm test
  5. 提交您的更改: git commit -m 'Add feature'
  6. 推到分支: git push origin feature-name
  7. 提交拉取请求

许可证

此项目根据ISC许可证获得许可-请参阅 许可证 文件以获取详细信息。

支持

如果您遇到任何问题或有疑问:

  1. 检查 问题 章节
  2. 创建包含详细信息的新问题
  3. 提供日志和复制步骤

路线图

  • []添加更多旅行服务集成
  • []为API响应实现缓存
  • []添加旅行行程计划
  • []支持团体旅行协调
  • []与日历服务集成
  • []移动应用伴侣

备注:请记住保持API密钥的安全,永远不要将其提交给版本控制。始终使用环境变量进行敏感配置。