项目介绍
飞机票 MCP 服务器
基于模型上下文协议(MCP)的机票查询服务器。该服务器为AI助手提供标准化的实时航班动态查询接口。
概述
机票 MCP 服务器实现了查询航空公司机票的工具和资源。它作为AI助手与航空服务系统之间的桥梁,专注于实时动态航班查询功能。
服务器采用模块化架构,分离核心功能、工具和实用程序,使其具有高度可维护性和可扩展性。
功能
航班路线查询
- 根据出发地点、目的地和出发日期搜索可用航班
- 支持282个国内城市和机场代码
- 智能城市名称解析(支持城市名称、机场代码、完整格式)
- 实时航班价格和时刻信息
- 航空公司和飞机类型信息
- 终端和登机口信息
- 价格统计和航空公司分布
- 格式化输出结果
转机航班路线查询
- 根据出发地、中转地和目的地搜索中转航班
- 支持自定义最短和最长中转时间(默认2-5小时)
- 智能筛选满足中转时间要求的航班组合
- 提供两个航段的完整信息
- 支持国内和国际航线中转查询
- 详细的中转时间计算和验证
天气信息查询
- 根据经纬度查询精确地理位置天气查询
- 根据城市名称查询支持主要城市的直接查询
- 支持历史、当前和未来天气数据
- 提供温度、湿度、风速、天气状况等详细信息
- 自动处理时区和日期范围
- 支持预设设置如武汉、北京、上海等主要城市
航班信息查询
- 根据航班号检索详细航班信息
- 包括航班状态、座位配置和价格信息
- 提供起飞和到达地的天气信息
- 显示基本航班信息(航空公司、飞机类型、航线类型)
- 详细的终端和登机口信息
- 实时动态状态(准点、延误、登机、飞行等)
- 座位定价和可用性信息
- 额外服务信息(餐饮、WiFi、娱乐系统等)
实时航班追踪
- 实时航班状态查询查询航班的实时位置和状态
- 查询机场周边航班查询指定机场周围30公里内的所有航班
- 区域航班查询查询指定地理区域内的所有实时航班
- 批量航班追踪同时追踪多个航班的实时状态
- 支持中国主要机场代码(包括PEK、PVG、CAN等70+机场)
- 提供详细的航班位置、速度、高度和状态信息
- 公共API无需认证,实时更新航班数据
日期和时间工具
- 获取当前系统日期(YYYY-MM-DD格式)
- 获取当前系统日期和时间(YYYY-MM-DD HH:mm:ss格式)
- 为其他功能提供标准的日期和时间支持
- 自动处理时区和格式转换
数据处理和智能分析
- 智慧城市分析支持多种城市输入格式(城市名称、机场代码、完整格式)
- 参数验证全面的输入参数验证和错误处理
- 结果格式化统一的JSON格式输出,便于AI助手解析
- 错误恢复改进的异常处理和降级机制
- 日志记录详细的操作日志和调试信息
技术架构
核心模块
- 航班数据模型和结构定义
- 机场、航空公司、航班、价格等数据模型
- 转机和座位配置数据结构
工具模块
- 航班搜索工具 (
flight_search_tools.py) 航班路线查询功能
- 转机航班工具 (
flight_transfer_tools.py) 多航程和中转查询
- 航班信息工具 (
flight_info_tools.py) 根据航班号查询详细信息
- 实时航班追踪工具 (
simple_opensky_tools.py) 基于OpenSky网络的实时航班追踪
- 天气查询工具 (
weather_tools.py) 基于经纬度和城市的天气查询
- 日期和时间工具 (
date_tools.py) 日期和时间获取及处理
实用工具
- 城市词典 (
cities_dict.py) 282个城市和机场代码映射
- 数据验证器 (
validators.py) 输入参数验证和格式检查
- 日期工具 (
date_utils.py) 日期格式化和时区处理
- API客户端 (
api_client.py) HTTP请求封装和错误处理
MCP集成层
- FastMCP服务器 基于FastMCP框架实现的MCP协议
- 支持多种传输协议 STDio、SSE、HTTP传输协议
- 工具注册管理 统一的工具注册和调用机制
- 环境配置管理 灵活的配置和环境变量支持
支持的传输协议
此服务器支持三种传输协议:
- ss - 服务器发送事件(默认,适用于Web应用程序)
- Studio - 标准输入/输出(适用于Claude桌面)
- streamable-http - 可流式传输的HTTP(适用于HTTP客户端)
安装
预备条件
- Python 3.11或更高版本
- Pip包管理器(或uvx工具)
方法1:从PyPI安装(推荐)
# 使用pip安装
pip install flight-ticket-mcp-server
# 或使用uvx直接运行(无需安装)
uvx flight-ticket-mcp-server
# 或使用uvx安装后运行
uvx --install flight-ticket-mcp-server
方法2:本地开发和安装
# 克隆或下载项目
cd FlightTicketMCP
# 安装依赖
pip install -r requirements.txt
# 或从本地源码安装
pip install -e .
UVX 用户手册
UVX 是一个现代的Python包运行时工具,允许您直接运行PyPI包而无需将其安装到系统环境中:
# 安装uv(包含uvx工具)
pip install uv
# 直接运行MCP服务器(无需安装)
uvx flight-ticket-mcp-server
# 使用最新版本(推荐)
uvx flight-ticket-mcp-server@latest
# 带参数运行
uvx flight-ticket-mcp-server --help
# 指定版本运行
uv[...]
</中文翻译>