返回市场
飞行-mcp-服务器

飞行-mcp-服务器

作者:smamidipaka616 星标更新:2025-03-28

项目介绍

Google 航班 MCP 服务器

这是一个连接您的代理或大语言模型到 Google 航班数据的 Model Context Protocol (MCP) 服务器实现。访问航班信息,找到最便宜的选项,根据时间限制进行筛选,并获取 Google 航班的最佳推荐!

🌍 概述

此 MCP 服务器提供了对 Google 航班数据的无缝访问,使您的 AI 代理能够:

  • 获取全面的航班信息
  • 查找最便宜的可用航班
  • 根据特定的时间限制筛选航班
  • 获取 Google 航班推荐的最佳航班
<br>

注意: 目前,此工具仅支持单程(如果您请求往返行程,它会执行两次单程!)因为我将其作为学习 MCP 的有趣副项目构建。

如果有人发现这很有用或希望我这样做,我可以添加往返和多城市功能!!只需提出一个 PR 或联系我 点击这里

🎥 使用与演示

只需按照快速入门指南设置 Claude Desktop、Cursor 或其他 MCP 客户端,然后询问您所需的航班信息即可!

[插入 Claude Desktop 演示视频]

🛠️ 工具

可用函数/工具

  1. get_general_flights_info(): 获取给定路线的全面航班信息

    • 提供多达 40 个航班的详细信息
    • 返回人类可读的航班描述列表
  2. get_cheapest_flights(): 查找最实惠的航班选项

    • 按最低价格排序并返回航班
    • 包括当前整体路线的价格信息
  3. get_best_flights(): 获取 Google 航班推荐的最佳航班

    • 标记为“最佳”的航班
    • 帮助用户找到最优的航班选择
  4. get_time_filtered_flights(): 根据特定时间限制筛选航班

    • 在目标时间之前或之后搜索航班
    • 允许精确的调度偏好

输入参数

必需参数

  • origin: str - 出发机场的 IATA 代码(例如:"ATL", "SCL", "JFK")

  • destination: str - 目的地机场的 IATA 代码(例如:"DTW", "ICN", "LIR")

  • departure_date: str - 出发日期,格式为 YYYY-MM-DD

可选参数

  • trip_type: str - 行程类型,"one-way" 或 "round-trip"(默认:"one-way")

  • seat: str - 座位类型:"economy", "premium-economy", "business", 或 "first"(默认:"economy")

  • adults: int - 成人乘客数量(默认:1)

  • children: int - 儿童乘客数量(默认:0)

  • infants_in_seat: int - 需要座位的婴儿数量(默认:0)

  • infants_on_lap: int - 在大人腿上旅行的婴儿数量(默认:0)

特定函数的附加参数

  • n_flights: int - 返回的航班数量(默认:40,仅适用于 get_general_flights_info()

  • state: str - 时间过滤状态,"before" 或 "after"(仅适用于 get_time_filtered_flights()

  • target_time_str: str - 目标时间,格式为 HH:MM AM/PM(仅适用于 get_time_filtered_flights()

⚡ 快速开始

Claude Desktop

  1. 确保已下载最新版的 Claude for Desktop

  2. 克隆此仓库

  3. 安装 uv 来设置我们的 Python 环境

    MacOS

    # 检查是否已安装 uv
    uv --version
    
    # 如果未安装
    curl -LsSf https://astral.sh/uv/install.sh | sh
    

    Windows

    # 检查是否已安装 uv
    uv --version
    
    # 如果未安装
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    

    ⚠️ 重要提示:安装后,必须重新启动终端以使 uv 命令生效!

  4. 将此航班 MCP 服务器添加到您的 Claude for Desktop 配置中:

    MacOS

    • 通过终端导航到配置文件位置:~/Library/Application Support/Claude/claude_desktop_config.json
    • 或者,如果您有 VSCode 和 Code 别名,可以创建/编辑:
    code ~/Library/Application\ Support/Claude/claude_desktop_config.json
    

    Windows

    • 通过 PowerShell 导航到配置文件位置:%AppData%\Claude\claude_desktop_config.json
    • 或者,如果您有 VSCode 和 Code 别名,可以创建/编辑:
    code $env:AppData\Claude\claude_desktop_config.json
    

    注意:~/Library/Application Support/Claude/config.json 是另一个不相关的文件。不要编辑它。

  5. mcpServers 键下添加此航班 MCP 服务器:

    {
      "mcpServers": {
        "flights": {
          "command": "/ABSOLUTE/PATH/.local/bin/uv",
          "args": [
            "--directory",
            "/ABSOLUTE/PATH/TO/PARENT/FOLDER",
            "run",
            "flights.py"
          ]
        }
      }
    }
    

    确保修改代码以包含 uv 的绝对路径作为 command 参数以及此仓库的绝对路径作为 args 参数。

    您可能需要在命令字段中放置 uv 可执行文件的完整路径。可以通过运行以下命令获取:

    • MacOS/Linux 上运行 which uv
    • Windows 上运行 where uv

    示例:

    {
      "mcpServers": {
        "flights": {
          "command": "/Users/sahitmamidipaka/.local/bin/uv",
          "args": [
            "--directory",
            "/Users/ssahitmamidipaka/Documents/Google-Flights-MCP-Server",
            "run",
            "flights.py"
          ]
        }
      }
    }
    
  6. 这就完成了!打开 Claude for Desktop,您应该能看到 MCP 工具图标出现(确保重新打开应用程序以使更改生效——每次更改 claude_desktop_config.json 文件时都需要这样做 😊)

<!-- Claude Desktop MCP 工具图标 --> <img src="./assets/images/claude-mcp-tool.png" alt="Claude Desktop MCP 工具图标" />

更多详情,请参阅 官方 MCP 文档<br>

Cursor

  1. 打开 Cursor 并进入设置

  2. 点击左侧面板上的 MCP 标签

  3. 添加一个新的 MCP 服务器(选择一种):

    项目配置

    • 在项目目录中创建一个 .cursor/mcp.json 文件
    • 适合特定于单一项目的工具

    全局配置

    • 在您的主目录中创建一个 ~/.cursor/mcp.json 文件
    • 使 MCP 服务器在所有 Cursor 工作空间中可用
  4. mcp.json 文件中附加以下配置:

    {
      "mcpServers": {
        "flights": {
          "command": "uv",
          "args": [
            "--directory",
            "/ABSOLUTE/PATH/TO/PARENT/FOLDER",
            "run",
            "flights.py"
          ]
        }
      }
    }
    

    确保替换 /ABSOLUTE/PATH/TO/PARENT/FOLDER 为实际的仓库路径。

    您可能需要在命令字段中放置 uv 可执行文件的完整路径。可以通过运行以下命令获取:

    • MacOS/Linux 上运行 which uv
    • Windows 上运行 where uv

    示例:

    {
      "mcpServers": {
        "flights": {
          "command": "/Users/sahitmamidipaka/.local/bin/uv",
          "args": [
            "--directory",
            "/Users/sahitmamidipaka/Documents/Google-Flights-MCP-Server",
            "run",
            "flights.py"
          ]
        }
      }
    }
    
<!-- Cursor MCP 图片 --> <img src="./assets/images/cursor-mcp.png" alt="Cursor 航班 MCP 图片" />

更多详情,请参阅 官方 Cursor MCP 文档

🚀 示例用法

  • 显示从亚特兰大到上海的 2026 年 1 月 1 日的航班选项
  • 这周末从底特律到亚特兰大的航班价格如何?
  • 我住在纽约,想去日本。查找本周五出发的最便宜航班选项,并考虑我附近的机场!
  • 显示今天洛杉矶的航班选项,但只显示晚上 8 点以后的航班

✨ 即将推出的功能

  • 更好的往返功能 🚀
  • 多城市功能 🌍
  • 探索/前往任何地方功能 🗺️
  • 价格图表及价格历史 📈

🤝 贡献

随时欢迎:

📄 许可证

本项目采用 MIT 许可证 - 详情见 LICENSE 文件。

这意味着您可以:

  • 商业使用软件
  • 修改源代码
  • 分发软件
  • 私下使用软件

根据 MIT 许可证条款,您必须在任何分发的软件或衍生作品中包含原始版权声明和引用。


感谢您查看此项目!如有任何原因,随时欢迎联系我。

注意: 此项目是出于娱乐目的而创建的,并且与 Google、Google 航班或任何其他 Alphabet 子公司无关。