查找航班 MCP 服务器
MCP 服务器使用 Duffel API 搜索和检索航班信息。
工作原理
视频演示
https://github.com/user-attachments/assets/c111aa4c-9559-4d74-a2f6-60e322c273d4
为什么这很有用
虽然像 Google Flights 这样的工具对于简单的行程来说已经很实用了,但这款工具在处理复杂的旅行计划时却更加出色。原因如下:
- 上下文记忆:Claude 会记住您之前在聊天中搜索过的所有航班,因此您无需打开多个标签页来比较价格
- 灵活的日期搜索:轻松搜索多天以找到最佳价格,无需手动检查每个日期
- 复杂的行程:非常适合多城市旅行、单程航班,或者当您需要比较不同的路线选择时,您只需询问即可!
- 自然对话:只需描述您要查找的内容 - 无需再点击日历界面或调整搜索参数来解析城市名称、日期和时间。
可以将其想象为在您的聊天中有一位旅行社代理,他能记住您讨论过的所有内容,并可以立即搜索日期和路线。
特征
- 搜索多个目的地之间的航班
- 支持单程、往返、多城市航班查询
- 详细的航班优惠信息
- 灵活的搜索参数(出发时间、舱位等级、乘客人数)
- 自动处理航班转接
- 搜索多日内的航班,找到最适合您行程的航班(速度较慢)
先决条件
- Python 3.x
- Duffel API 实时密钥
获取您的 Duffel API 密钥
Duffel 需要帐户验证和付款信息设置,但此 MCP 服务器仅使用 API 来搜索航班 - 不会向您的帐户进行实际预订或收费。
先试用 duffel_test 来体验一下这个工具的强大功能。如果您觉得好用,可以按照下面的验证流程使用正式版密钥。
首先测试模式(推荐)
您可以先使用测试 API 密钥( duffel_test
)来尝试使用模拟数据的功能,然后再进行完整的验证过程:
- 访问Duffel 的注册页面
- 创建帐户(公司名称可以选择“个人使用”)
- 导航至“更多”>“开发者”以找到您的测试 API 密钥(已提供一个)
获取实时 API 密钥
要访问真实飞行数据,请按照以下步骤操作:
- 在 Duffel 仪表板中,关闭左上角的“测试模式”
- 验证过程需要多个步骤 - 您需要反复关闭测试模式:
- 第一个切换:验证您的电子邮件地址
- 再次切换:填写公司信息(个人使用即可)
- 再次切换:添加付款信息(Duffel 要求,但此 MCP 服务器不会收取任何费用)
- 再次切换:完成所有剩余的验证步骤
- 最后切换:点击“同意并提交”后进入实时模式
- 完全验证后,转到更多>开发者>创建实时令牌
- 复制您的实时 API 密钥
💡 提示:每次完成验证步骤后,您都需要再次关闭测试模式才能继续下一步。请持续关闭测试模式,直到完成所有要求。
⚠️重要提示:
- 您的付款信息由 Duffel 直接处理,MCP 服务器不会访问或存储
- 此 MCP 服务器为只读服务器 - 它只能搜索航班,而不能预订航班
- 通过此集成,您的付款方式不会收取任何费用
- 所有敏感信息(包括 API 密钥)都保留在您的机器本地
- 您可以从测试 API 密钥(
duffel_test
)开始评估功能 - 验证过程可能需要一些时间 - 这是 Duffel 的标准要求
安全说明
此 MCP 服务器仅使用 Duffel 的搜索端点,无法进行预订或收费。您的付款信息仅用于 Duffel 的验证流程,MCP 服务器绝不会访问或与 Duffel 共享。
关于 API 使用限制的说明
- 查看 Duffel 的当前价格和使用限制
- 根据您的需求提供不同等级
- 建议查看其网站上的当前价格
安装
通过 Smithery 安装
要通过Smithery自动安装 Claude Desktop 的 Find Flights:
手动安装
克隆存储库:
使用 uv 安装依赖项:
注意:由于该项目使用 pyproject.toml 进行依赖管理,因此我们使用 uv 而不是 pip。
配置为 MCP 服务器
要将此工具添加为 MCP 服务器,请修改您的 Claude 桌面配置文件。
配置文件位置:
- MacOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
将以下配置添加到您的 JSON 文件:
⚠️重要提示:
- 将
YOUR_USERNAME
替换为您的实际系统用户名 - 将
your_duffel_live_api_key_here
替换为您的实际 Duffel Live API 密钥 - 确保目录路径与本地安装匹配
部署
建筑
准备包裹:
这将在dist/
目录中创建分布。
调试
为了获得最佳调试体验,请使用 MCP Inspector:
检查员提供:
- 实时请求/响应监控
- 输入/输出验证
- 错误追踪
- 性能指标
可用工具
1. 搜索航班
支持三种航班类型:
- 单程航班
- 往返航班
- 多城市航班
参数包括:
type
:航班类型('单程','往返','多城市')origin
:出发机场代码destination
:目的地机场代码departure_date
:出发日期(YYYY-MM-DD)- 可选参数:
return_date
:往返行程的返回日期adults
:成人乘客人数cabin_class
:首选舱位departure_time
:具体出发时间范围arrival_time
:具体到达时间范围max_connections
:最大连接数
2. 获取优惠详情
使用其唯一 ID 检索特定航班优惠的全面详细信息。
3. 搜索多城市航班
针对复杂的多城市航班行程的专用工具。
参数包括:
segments
:航段列表adults
:成人乘客人数cabin_class
:首选舱位max_connections
:最大连接数
用例
一些例子(但请自己尝试一下!)
您可以使用这些工具来查找各种复杂程度的航班:
- “查找 1 月 7 日从旧金山国际机场飞往纽约的 2 名成人商务舱单程航班”
- “搜索 1 月 8 日从洛杉矶国际机场飞往伦敦的往返航班,1 月 15 日返回”
- “计划 1 月 7 日从纽约飞往巴黎,1 月 10 日飞往罗马,1 月 15 日返回纽约”
- “1 月 7 日至 1 月 15 日,从 旧金山 飞往 洛杉矶 的两名成人经济舱最便宜的航班是哪一班?”
- 您甚至可以搜索多日内的航班,找到最适合您行程的航班。目前,我们建议仅通过这种方式搜索单程或往返航班。例如:“查找 1 月 7 日至 1 月 10 日从旧金山国际机场飞往洛杉矶国际机场,两位成人经济舱的最便宜航班。”
响应格式
该工具返回 JSON 格式的响应,内容如下:
- 航班优惠详情
- 定价信息
- 切片(路线)详细信息
- 承运商信息
- 连接详细信息
错误处理
该服务包括针对以下方面的强大错误处理:
- API 请求失败
- 机场代码无效
- API 密钥缺失或无效
- 网络超时
- 搜索参数无效
贡献
[如适用,请添加贡献指南]
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
演出说明
- 单程/往返航班的搜索限制为 50 个
- 多城市搜索限制为 10 个优惠
- 根据搜索类型,供应商超时设置为 15-30 秒
舱位等级
可选舱位:
economy
:标准经济舱premium_economy
:高级经济舱business
:商务舱first
:头等舱
含舱位等级的请求示例:
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
使用 Duffel API 搜索和检索详细的航班信息,支持各种航班类型和灵活的搜索参数,以实现高效的旅行规划。
- How it Works
- Video Demo
- Why This is Helpful
- Features
- Prerequisites
- Getting Your Duffel API Key
- Installation
- Configure as MCP Server
- Deployment
- Debugging
- Available Tools
- Use Cases
- Response Format
- Error Handling
- Contributing
- License
- Performance Notes