mcpField
F
Flight + Stay Search MCP (TypeScript)

Flight + Stay Search MCP (TypeScript)

本地服务
github.com/clockworked247搜索与检索480 周前更新

关于 Flight + Stay Search MCP (TypeScript)

Flight + Stay Search MCP (TypeScript) 是通过 Duffel API 搜索航班和住宿的旅行搜索服务,支持多种航线类型、报价详情、住宿搜索和住客评价。

主要功能

  1. 01搜索单程、往返和多城市航班
  2. 02查看航班报价详情
  3. 03设置舱位、乘客数量和中转偏好
  4. 04按出发和到达时间筛选
  5. 05搜索住宿并获取住客评价

适用场景

  1. 01比较行程的航班选项
  2. 02查看特定航班报价
  3. 03按日期和人数查找住宿
  4. 04查看酒店或住宿的评价

MCP 相关

它通过 Duffel API 向 MCP 客户端提供航班和住宿搜索、报价详情及住宿评价工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"flights-mcp-ts": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Flight + Stay Search MCP(TypeScript)

一个使用 Duffel API 搜索航班的航班与住宿搜索 MCP 服务的 TypeScript 实现。此 MCP 服务提供搜索单程、往返和多城市航班的工具。

smithery badge

功能

  • 搜索单程、往返和多城市航班
  • 获取特定航班报价的详细信息
  • 指定舱位等级、乘客人数和中转偏好
  • 按出发和到达时间范围筛选
  • 搜索旅行住宿(酒店/住宿)
  • 获取特定住宿/酒店的住客评价

设置

  1. 安装依赖项:

    npm install
    
  2. 构建项目:

    npm run build
    
  3. 启动服务:

    npm start
    

环境变量

创建一个 .env 文件,其中包含:

DUFFEL_API_KEY=your_duffel_api_key

你可以先使用测试 API 密钥(duffel_test)试用功能。

与 Smithery 配合使用

要将此 MCP 发布到 Smithery:

npx @smithery/cli publish

要运行已发布的 MCP:

npx @smithery/cli run @your-username/flights-mcp-ts --config "{\"duffelApiKey\":\"your_duffel_api_key\"}"

可用工具

此 MCP 提供以下工具:

  1. search_flights - 搜索单程、往返或多城市航班
  2. get_offer_details - 获取特定航班报价的详细信息
  3. search_multi_city - 用于搜索多城市航班的专用工具
  4. search_stays - 搜索旅行住宿(酒店/住宿)
  5. get_stay_reviews - 获取特定住宿/酒店的住客评价

示例查询

  • “查找 2025 年 5 月 15 日从 SFO 飞往 NYC 的航班”
  • “搜索 6 月 10 日从 LAX 飞往 LHR、6 月 20 日返程的往返航班”
  • “查找 2 位成人从东京飞往巴黎的商务舱航班”
  • “获取航班报价 [offer_id] 的详细信息”
  • “查找伦敦的酒店,入住时间为 2025-06-10 至 2025-06-12,共 2 位客人”
  • “获取住宿 [hotel_id] 的评价”

住宿/酒店搜索与评价

1. 搜索住宿(search_stays)

参数:

  • location(string):要搜索住宿的城市、机场代码或区域
  • check_in_date(string):入住日期(YYYY-MM-DD)
  • check_out_date(string):退房日期(YYYY-MM-DD)
  • guests(number):客人数量
  • rooms(number,可选):房间数量
  • radius_km(number,可选):搜索半径,单位为公里

请求示例:

{
  "location": "London",
  "check_in_date": "2025-06-10",
  "check_out_date": "2025-06-12",
  "guests": 2
}

响应示例:

{
  "offers": [
    {
      "offer_id": "off_123",
      "hotel_id": "acc_0000AWr2VsUNIF1Vl91xg0",
      "hotel_name": "The Grand Hotel",
      "address": "1 Main St, London",
      "price": { "amount": "350.00", "currency": "GBP" },
      "room_type": "Deluxe Suite",
      "cancellation_policy": "Free cancellation until 24h before check-in"
    }
  ]
}

注意: 使用搜索结果中的 hotel_id 作为评价请求的 stay_id。


2. 获取住宿评价(get_stay_reviews)

参数:

  • stay_id(string):Duffel 住宿/酒店的唯一 ID(来自 search_stays 的结果)
  • after(string,可选):分页游标(之后)
  • before(string,可选):分页游标(之前)
  • limit(number,可选):返回的评价数量上限(1-200)

请求示例:

{
  "stay_id": "acc_0000AWr2VsUNIF1Vl91xg0"
}

响应示例:

{
  "meta": { "limit": 50, "after": "..." },
  "reviews": [
    {
      "text": "Excellent facilities. Polite staff.\nAir conditioning could use some maintenance.\n",
      "score": 8.4,
      "reviewer_name": "Bessie Coleman",
      "created_at": "2025-01-01"
    }
  ]
}

本地开发

如需启用自动重新加载进行开发:

npm run dev

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。