Token导航 LogoToken导航TokenDH.com
Mcpflightbooking logo
AI代理stdio官方级别未说明来源级核验

Mcpflightbooking

MCP Server

一个基于AI和MCP协议的航班预订系统,提供自然语言交互界面,支持航班搜索、预订管理及实时座位跟踪。

工具数

8

提示词数

0

GitHub Stars

0

资源数

0
Python自然语言处理Session认证

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

IliasAntoniou

提供方

IliasAntoniou

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install fastapi uvicorn python-dotenv google-generativeai mcp httpx

详细介绍

MCP航班预订

一个基于人工智能的航班预订应用程序,演示了模型上下文协议(MCP)。用户通过网络界面与对话式人工智能助手进行交互,以搜索航班和管理预订。该系统将Google Gemini与MCP服务器集成在一起,提供对航班数据和预订操作的自然语言访问。

🏗️ 建筑

┌─────────────────────────────────────────────────────┐
│ Web Frontend (index.html)                           │
│ - Chat interface & user authentication              │
│ - Tool authorization (approve/deny actions)         │
└────────────────────┬────────────────────────────────┘
                     ▲
                     │ HTTP
                     ▼
┌─────────────────────────────────────────────────────┐
│ Backend Server (host.py) - Port 8001                │
│ - Gemini AI + MCP client host                       │
│ - Conversation & session management                 │
└────────────────────┬────────────────────────────────┘
                     ▲
                     │ MCP Protocol (STDIO)
                     ▼
         ┌───────────┴──────────────┐
         ▲                          ▲
         │                          │
┌────────▼─────────┐      ┌─────────▼─────────┐
│ flightsearch.py  │      │ flightbooking.py  │
│ MCP Server       │      │ MCP Server        │
└────────┬─────────┘      └─────────┬─────────┘
         ▲                          ▲
         │ HTTP                     │ HTTP
         └────────────┬─────────────┘
                      ▲
                      │
                      ▼
┌─────────────────────────────────────────────────────┐
│ Flight API (flight_api.py) - Port 8000              │
│ - SQLite database (100k flights, seat tracking)     │
│ - REST endpoints for search & booking               │
└─────────────────────────────────────────────────────┘

✨ 主要特点

  • 自然语言接口:与人工智能聊天以搜索和预订航班
  • MCP集成:通过STDIO使用JSON-RPC的两个MCP服务器(搜索和预订)
  • 工具授权:用户在执行前批准AI操作
  • 座位管理:实时跟踪每架航班100个座位,防止超额预订
  • 用户认证:具有持久会话的配置文件管理
  • 100000次航班:预先生成具有真实飞行数据的SQLite数据库
  • 情境感知:AI理解对话历史和当前日期/时间

📁 项目结构

MCPFlightBooking/
├── src/
│   ├── backend/
│   │   ├── host.py          # Main FastAPI app + MCP client host
│   │   ├── config.py          # Centralized configuration
│   │   ├── db.py              # Database operations
│   │   ├── flight_api.py      # FastAPI flight search API
│   │   ├── flight_app.db      # SQLite database (100k flights)
│   │   └── .env               # API keys (GOOGLE_AI_STUDIO_API_KEY)
│   │
│   ├── frontend/
│   │   └── index.html         # Web UI with chat interface
│   │
│   └── MCPservers/
│       ├── flightsearch.py    # MCP server for flight search
│       └── flightbooking.py   # MCP server for booking management
│
├── start.ps1                  # PowerShell startup script
├── start.bat                  # Batch startup script
└── README.md

🛠️ 技术栈

  • 后端:Python 3.13、FastAPI、Uvicorn
  • AI模型:谷歌双子座(双子座最新flash)
  • MCP框架:FastMCP,MCP Python SDK
  • 数据库:SQLite
  • 前端:普通HTML/CSS/JavaScript
  • 运输:用于MCP通信的STDIO(标准输入/输出)

📦 安装

先决条件

  • Python 3.13+
  • UV包管理器(用于运行MCP服务器)
  • Google AI Studio API密钥

设置

  1. 克隆存储库
   git clone https://github.com/IliasAntoniou/MCPFlightBooking.git
   cd MCPFlightBooking
  1. 安装依赖项
   pip install fastapi uvicorn python-dotenv google-generativeai mcp httpx
  1. 配置环境变量

创建 src/backend/.env:

   GOOGLE_AI_STUDIO_API_KEY=your_api_key_here
  1. 初始化数据库 (首次运行时自动)

该系统将在首次启动时自动生成100000个航班。

🚀 运行应用程序

选项1:自动启动(推荐)

Windows PowerShell:

.\start.ps1

Windows命令提示符:

start.bat

这将:

  1. 启动航班API服务器(端口8000)
  2. 启动Gemini+MCP服务器(端口8001)
  3. 在浏览器中打开web界面

选项2:手动启动

1号航站楼-API航班:

cd src/backend
python -m uvicorn flight_api:app --reload --port 8000

终端2-主服务器:

cd src/backend
python -m uvicorn host:app --reload --port 8001

3号航站楼-打开浏览器:

start src/frontend/index.html

💬 用法

  1. 登录 使用演示凭据:

- 电子邮件: john.doe@example.com - 密码: secret123

  1. 与AI助手聊天:

- “2025年12月3日从ATH到BCN的搜索航班” - “显示我的预订” - “为John Doe预订FL-012345航班”

  1. 批准工具调用 当被提示时
  1. 管理您的个人资料 通过个人资料页面

🔧 MCP工具

航班搜索 (flightsearch.py)

  • search_flights -按出发地、目的地和日期查找航班
  • getflightbyid -获取特定航班的详细信息
  • 功能:LRU缓存、输入验证、结构化日志记录

航班预订 (flightbooking.py)

  • book_flight -创建已确认的预订(检查座位可用性)
  • hold_flight -临时持有到期
  • confirm_held_booking -将保留转换为已确认的预订
  • cancel_booking -删除预订并恢复座位
  • get_booking_details -查看预订信息
  • get_user_bookings -列出所有用户预订
  • 功能:原子座位更新,防止超售,保持过期跟踪

🔒 运作原理

  1. 用户通过web界面发送消息
  2. Gemini AI确定是否需要执行工具
  3. 用户批准/拒绝工具调用
  4. MCP服务器执行工具并返回结果
  5. AI格式化响应并向用户显示

所有工具执行都需要明确的用户安全批准。

📝 备注

这是一个论文项目,展示了模型上下文协议与会话人工智能在航班预订操作中的集成。

🔗 资源

目录标签

目录标签

Python自然语言处理Session认证AI助手本地部署航班预订MCP协议实时座位管理

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP