这是一个使用Duffel API搜索航班的TypeScript实现的MCP服务器。此MCP服务器提供了搜索单程、往返和多城市航班的工具。
安装依赖项:
npm install
构建项目:
npm run build
启动服务器:
npm start
创建一个.env文件,内容如下:
DUFFEL_API_KEY=your_duffel_api_key
您可以使用测试API密钥(duffel_test)来尝试功能。
要将此MCP发布到Smithery:
npx @smithery/cli publish
要运行已发布的MCP:
npx @smithery/cli run @your-username/flights-mcp-ts --config "{\"duffelApiKey\":\"your_duffel_api_key\"}"
此MCP提供以下工具:
search_flights - 搜索单程、往返或多城市航班get_offer_details - 获取特定航班报价的详细信息search_multi_city - 专门用于多城市航班搜索的工具search_stays - 搜索旅行住宿(酒店/住宿)get_stay_reviews - 获取特定住宿/酒店的客人评论search_stays)参数:
location(字符串):要搜索住宿的城市、机场代码或区域check_in_date(字符串):入住日期(YYYY-MM-DD)check_out_date(字符串):退房日期(YYYY-MM-DD)guests(数字):客人数量rooms(数字,可选):房间数量radius_km(数字,可选):搜索半径(公里)示例请求:
{
"location": "伦敦",
"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": "大饭店",
"address": "伦敦1号主街",
"price": { "amount": "350.00", "currency": "GBP" },
"room_type": "豪华套房",
"cancellation_policy": "入住前24小时内免费取消"
}
]
}
注意: 使用搜索结果中的hotel_id作为评论中的stay_id。
get_stay_reviews)参数:
stay_id(字符串):唯一的Duffel住宿/酒店ID(来自search_stays的结果)after(字符串,可选):分页游标(之后)before(字符串,可选):分页游标(之前)limit(数字,可选):最大返回评论数(1-200)示例请求:
{
"stay_id": "acc_0000AWr2VsUNIF1Vl91xg0"
}
示例响应:
{
"meta": { "limit": 50, "after": "..." },
"reviews": [
{
"text": "设施非常好。工作人员礼貌。\n空调需要维护。\n",
"score": 8.4,
"reviewer_name": "贝西·科尔曼",
"created_at": "2025-01-01"
}
]
}
为了开发时自动重新加载:
npm run dev
MIT