返回市场
旅行-mcp-服务器

旅行-mcp-服务器

作者:gs-ysingh10 星标更新:2025-09-14

项目介绍

旅行 MCP 服务器

一个全面的旅行规划 Model Context Protocol (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 地点 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:源货币代码(例如,USD)
  • to:目标货币代码(例如,EUR)
  • amount:要转换的数量(可选)

4. 获取天气预报 (get_weather_forecast)

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

参数:

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

5. 计算旅行预算 (calculate_trip_budget)

计算包括航班、住宿及日常开销在内的预计旅行成本。

参数:

  • destination:旅行目的地
  • duration:旅行持续天数
  • travelers:旅行者数量
  • category:预算类别(经济型、中档、豪华)

项目结构

travel-mcp-server/
├── src/
│   ├── index.ts              # 主服务器入口点
│   └── services/
│       ├── FlightService.ts       # 航班搜索功能
│       ├── AccommodationService.ts # 住宿搜索
│       ├── CurrencyService.ts     # 货币兑换
│       └── WeatherService.ts      # 天气预报
├── dist/                     # 编译后的 TypeScript 输出
├── package.json             # 项目依赖和脚本
├── tsconfig.json           # TypeScript 配置
├── .env                    # 环境变量(不在仓库中)
├── .gitignore             # Git 忽略规则
└── README.md              # 此文件

与 MCP 客户端集成

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

  • Claude Desktop
  • 支持 MCP 的其他 AI 助手
  • 自定义 MCP 客户端应用程序

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

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

开发指南

技术栈

  • TypeScript:类型安全的 JavaScript 开发
  • Node.js:运行时环境
  • MCP SDK:Model Context Protocol 实现
  • Axios:HTTP 客户端用于 API 请求
  • Zod:模式验证
  • 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 '添加功能'
  6. 推送到分支:git push origin feature-name
  7. 提交拉取请求

许可证

本项目采用 ISC 许可证 - 查看 LICENSE 文件了解详情。

支持

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

  1. 检查 问题 部分
  2. 创建一个带有详细信息的新问题
  3. 提供日志和重现步骤

发展路线图

  • 增加更多的旅行服务整合
  • 实现 API 响应缓存
  • 添加旅行行程规划
  • 支持团队旅行协调
  • 与日历服务集成
  • 移动应用伴侣

注意:请务必妥善保管您的 API 密钥,切勿将其提交到版本控制中。始终使用环境变量来管理敏感配置。