Mcp Flight Search

Mcp Flight Search

🚀 基于 MCP 的航班搜索

这是一个使用 Model Context Protocol (MCP) 构建的航班搜索服务,展示了如何实现 MCP 工具以支持航班搜索功能,为航班搜索提供了高效、标准的解决方案。

🚀 快速开始

本项目是一个使用 Model Context Protocol (MCP) 构建的航班搜索服务,下面为你介绍如何快速启动它。

安装

# 从 PyPI 安装
pip install mcp-flight-search

# 或在开发模式下直接安装
pip install -e .

启动服务

启动 MCP 服务器:

# 使用命令行入口点
mcp-flight-search --connection_type http

# 或直接运行
python main.py --connection_type http

你还可以指定自定义端口:

python main.py --connection_type http --port 5000

设置环境变量

设置 SerpAPI 密钥为环境变量:

export SERP_API_KEY="your-api-key-here"

✨ 主要特性

  • 符合 MCP 标准的航班搜索功能工具,便于与兼容 MCP 的模型集成。
  • 集成使用 SerpAPI Google Flights,提供丰富的航班搜索数据。
  • 支持单程和往返航班,满足不同出行需求。
  • 丰富的日志记录功能,输出结构化日志,方便问题排查和系统监控。
  • 模块化、易于维护的代码结构,方便后续功能扩展和优化。

📦 安装指南

# 从 PyPI 安装
pip install mcp-flight-search

# 或在开发模式下直接安装
pip install -e .

💻 使用示例

基础用法

启动 MCP 服务器:

# 使用命令行入口点
mcp-flight-search --connection_type http

# 或直接运行
python main.py --connection_type http

高级用法

指定自定义端口启动服务器:

python main.py --connection_type http --port 5000

📚 详细文档

MCP 工具

此包提供以下 Model Context Protocol 工具:

  • search_flights_tool:搜索机场之间的航班,参数包括:

    • origin:出发机场代码(例如 ATL, JFK)
    • destination:到达机场代码(例如 LAX, ORD)
    • outbound_date:出发日期(YYYY-MM-DD)
    • return_date:可选的返回日期(YYYY-MM-DD)
  • server_status:检查 MCP 服务器是否运行

项目结构

mcp-flight-search/
├── mcp_flight_search/
│   ├── __init__.py              # 包初始化和导出
│   ├── config.py                # 配置变量(API 密钥)
│   ├── models/
│   │   ├── __init__.py          # 模型包初始化
│   │   └── schemas.py           # Pydantic 模型(FlightInfo)
│   ├── services/
│   │   ├── __init__.py          # 服务包初始化
│   │   ├── search_service.py    # 主航班搜索逻辑
│   │   └── serpapi_client.py    # SerpAPI 客户端包装器
│   ├── utils/
│   │   ├── __init__.py          # 工具包初始化
│   │   └── logging.py           # 日志记录配置
│   └── server.py                # MCP 服务器设置和工具注册
├── main.py                      # 入口点
├── pyproject.toml               # Python 包装配置
├── LICENSE                      # MIT 许可证
└── README.md                    # 项目文档

🔧 技术细节

Model Context Protocol (MCP) 是由 Anthropic 开发的一项标准,允许 AI 模型通过定义工具描述、调用和响应的结构化格式来使用工具。此项目实现了 MCP 工具,可用于 Claude 和其他兼容 MCP 的模型。通过集成 SerpAPI Google Flights,项目能够获取丰富的航班搜索数据,并支持单程和往返航班搜索。同时,项目采用模块化的代码结构,各个模块分工明确,便于维护和扩展。日志记录功能输出结构化日志,方便对系统进行监控和问题排查。

📄 许可证

此项目根据 MIT 许可证发布,详细信息请参阅 LICENSE 文件。

作者

了解更多关于 AI/ML 和生成式 AI 的文章,请访问作者的 Medium 博客:https://medium.com/@arjun-prabhulal

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-22 19:51

相似服务问题