返回市场
机票MCP

机票MCP

作者:xiaonieli713 星标更新:2025-09-01

项目介绍

飞机票 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传输协议
  • 工具注册管理 统一的工具注册和调用机制
  • 环境配置管理 灵活的配置和环境变量支持

支持的传输协议

此服务器支持三种传输协议:

  1. ss - 服务器发送事件(默认,适用于Web应用程序)
  2. Studio - 标准输入/输出(适用于Claude桌面)
  3. 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[...]
</中文翻译>