这是一个使用 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"
# 从 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
此包提供以下 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