旅行数据服务

一个安全的模型上下文协议(MCP)服务器,提供航班、酒店和租车的内存旅行数据,为AI代理提供生产就绪的工具来访问旅行信息。

  • by vigu2004
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 vigu2004/travel-mcp

使用说明

旅游公司MCP服务器

一个安全的模型上下文协议(MCP)服务器,为航班、酒店和汽车租赁提供内存中的旅行数据。该服务器为人工智能代理访问旅行信息提供了干净、生产就绪的工具。

特性

🛫 航班搜索

  • 按出发地、目的地、日期和舱位搜索航班
  • 6个主要国际航线的样本航班
  • 详细信息,包括价格、时间表和可用性

🏨 酒店搜索

  • 按位置、评级和价格范围搜索酒店
  • 不同城市的6家酒店,价格各异
  • 设施、房间类型和可用性信息

🚗 租车搜索

  • 按位置、类型和价格搜索汽车租赁
  • 从经济型到豪华型共有6种租赁选择
  • 功能包括变速器类型、座位容量和附加功能

可用工具

所有工具都是安全的,生产就绪:

  1. 探照灯 -搜索可用航班

    • 参数:起点、终点、日期(可选)、cabin_class(可选)
    • 返回:包含详细信息的匹配航班列表
  2. 搜索酒店 -搜索可用酒店

    • 参数:位置,check_in(可选),check_out(可选)
    • 返回:包含详细信息的匹配酒店列表
  3. search_car_联系方式 -搜索汽车租赁

    • 参数:位置、car_type(可选)、max_price(可选)
    • 返回:可用汽车租赁列表
  4. get_light_details -获取详细的航班信息

    • 参数:flight_id
    • 返回:完整的航班信息
  5. 获取hotel_详细信息 -获取详细的酒店信息

    • 参数:hotel_id
    • 返回:完整的酒店信息
  6. 书籍_灯光 -模拟航班预订

    • 参数:flight_id、passenger_name、num_seats(可选)
    • 退货:带有参考号的预订确认

安装

  1. 安装Python 3.10或更高版本

  2. 安装依赖项:

pip install -r requirements.txt

运行服务器

使用以下命令启动服务器:

python travel_mcp_server.py

服务器将于启动 http://localhost:8000 默认情况下。您可以通过设置来更改端口 PORT 环境变量:

PORT=3000 python travel_mcp_server.py

Claude桌面配置

要将此MCP服务器与Claude Desktop一起使用,请将以下内容添加到您的Claude Desktop配置文件中:

视窗: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "travel-company": {
      "command": "python",
      "args": ["/path/to/travel_mcp/travel_mcp_server.py"]
    }
  }
}

替换 /path/to/travel_mcp/ 带有travel_mcp目录的实际路径。

添加配置后,重新启动Claude Desktop。

样品数据

航班

  • 纽约→ 伦敦(经济与商业)
  • 洛杉矶→ Tokyo
  • 巴黎→ Dubai
  • 迈阿密→ 巴塞罗那
  • 新加坡→ 悉尼

酒店

  • 伦敦:大广场酒店(五星级),经济型住宿旅馆(三星级)
  • 东京:樱花花园旅馆(四星级)
  • 迪拜:沙漠绿洲度假村(5星级)
  • 巴塞罗那:巴塞罗那海滩酒店(四星级)
  • 悉尼:悉尼海景酒店(5星级)

租车服务

在伦敦、东京、迪拜、巴塞罗那和悉尼的主要机场有售,从紧凑型轿车到豪华轿车都有。

AI Agent使用示例

服务器运行后,AI代理(如Claude)可以查询它:

User: "I need a flight from New York to London next week"
AI Agent: [Calls search_flights tool]
Server: [Returns available flights with details]

User: "Book the economy flight and find me a 4-star hotel in London"
AI Agent: [Calls book_flight and search_hotels tools]
Server: [Returns booking confirmation and hotel options]

API访问

服务器在上公开HTTP API http://localhost:8000/mcp/v1 使用JSON-RPC 2.0。

使用简单客户端进行测试

您可以使用提供的测试客户端与服务器交互:

python test_client_example.py

发展

添加更多数据

在中编辑数据结构 travel_tools.py:

  • FLIGHTS_DATA -添加更多航班条目
  • HOTELS_DATA -添加更多酒店条目
  • CAR_RENTALS_DATA -添加更多汽车租赁条目

建筑

服务器由以下组件构建:

  • FastMCP:Python的现代MCP框架
  • Uvicorn:用于HTTP传输的ASGI服务器
  • 内存数据:无需数据库,非常适合开发和演示

看 ARCHITECTURE.md 获取详细的架构文档。

协议

此服务器实现了模型上下文协议(MCP)规范:

  • 使用JSON-RPC 2.0进行通信
  • 支持启用CORS的HTTP传输
  • 实现标准MCP工具调用接口

测试

运行测试套件:

python test_travel_server.py

这将使用各种输入测试所有可用工具。

安全

✅ 此服务器使用安全编码实践:

  • 没有eval()或exec()调用
  • 对所有用户输入进行输入验证
  • 没有任意文件系统访问权限
  • 没有命令执行能力
  • 任何数据库操作的参数化查询

许可证

MIT许可证-您可以根据需要自由使用和修改。

后续步骤

构建一个AI代理,它可以:

  1. 连接到此MCP服务器
  2. 使用自然语言查询旅行数据
  3. 帮助用户规划完整的行程(航班+酒店+租车)
  4. 进行预订并提供确认

服务器已准备好与任何支持MCP的LLM集成!

贡献

欢迎投稿!请确保:

  • 所有代码都遵循安全编码实践
  • 新工具包括全面的文档
  • 包括新功能的测试