航班信息查询服务

一个连接AI代理与Google Flights数据的MCP服务器实现,提供航班信息检索、最便宜选项查找、时间限制筛选和最佳航班推荐功能。

  • by smamidipaka6
  • Python
  • 本地部署
  • 30 星标
  • 更新于
在 GitHub 查看 smamidipaka6/flights-mcp-server

使用说明

谷歌航班MCP服务器

模型上下文协议(MCP)服务器实现,将您的代理或LLM连接到Google Flights数据。访问航班信息,找到最便宜的选项,按时间限制过滤,并获得谷歌航班的最佳推荐!

🌍 概述

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

  • 检索 综合航班信息
  • 查找 最便宜的可用航班
  • 根据以下条件过滤航班 具体时间限制
  • 获得谷歌航班推荐 最佳航班

注: 目前,这个工具只做一种方式(如果你要求往返,它会做两种方式!),因为我把它作为一个有趣的宠物项目来学习MCP。

如果有人真的觉得这很有用或希望我这样做,我可以努力添加往返和多城市功能!!只需提高PR或 联系我!

🎥 使用与演示

只需按照快速入门为Claude Desktop、Cursor或另一个MCP客户端设置此设置,然后询问您想要的航班信息!!

[插入克劳德桌面演示视频]

🛠️ 工具

可用功能/工具

  1. get_general_flights_info():检索给定航线的综合航班信息

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

    • 按最低价格排序和返回航班
    • 包括当前的总体路线定价信息
  3. get_best_flights():获取Google Flights的顶级推荐航班

    • 识别并返回谷歌航班标记为“最佳”的航班
    • 帮助用户找到最佳航班选择
  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 -行程类型,“单程”或“往返”(默认:“单程”)

  • seat: str -座位类型:“经济舱”、“高级经济舱”,“商务舱”或“头等舱”(默认:“经济型”)

  • 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 -时间过滤器状态,“之前”或“之后”(仅适用于 get_time_filtered_flights())

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

⚡ 快速开始

克劳德桌面

  1. 确保你有最新的 Claude桌面版 下载!

  2. 克隆此Repo

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

    MacOS

    # Check if uv is already installed
    uv --version
    
    # If not installed
    curl -LsSf https://astral.sh/uv/install.sh | sh
    

    视窗

    # Check if uv is already installed
    uv --version
    
    # If not installed
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    

    ⚠️ 重要提示:安装后,您必须重新启动终端 uv 命令拿起!

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

    MacOS

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

    视窗

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

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

  5. 将此航班MCP服务器添加到 mcpServers 按键:

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

    确保修改代码以包含的绝对路径 uv 为了 command param和绝对路径 args 此报告的参数。

    您可能需要将完整路径放在 uv 可在命令字段中执行。你可以通过运行以下命令来获得:

    • which uv 在MacOS/Linux上
    • where uv 在Windows上

    例子:

    {
      "mcpServers": {
        "flights": {
          "command": "/Users/sahitmamidipaka/.local/bin/uv",
          "args": [
            "--directory",
            "/Users/sahitmamidipaka/Documents/Google-Flights-MCP-Server",
            "run",
            "flights.py"
          ]
        }
      }
    }
    
  6. 就是这样!打开Claude for Desktop,您应该会看到出现小的MCP工具图标(请确保重新打开应用程序进行更新——每次更改您的 claude_desktop_config.json 文件😊)

有关更多信息,请参阅 MCP官方文件.

光标

  1. 打开光标并转到设置

  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 可在命令字段中执行。你可以通过运行以下命令来获得:

    • which uv 在MacOS/Linux上
    • where uv 在Windows上

    例子:

    {
      "mcpServers": {
        "flights": {
          "command": "/Users/sahitmamidipaka/.local/bin/uv",
          "args": [
            "--directory",
            "/Users/sahitmamidipaka/Documents/Google-Flights-MCP-Server",
            "run",
            "flights.py"
          ]
        }
      }
    }
    

有关更多信息,请参阅 官方光标MCP文档.

🚀 示例用法

  • 显示2026年1月1日从亚特兰大到上海的航班选项
  • 这个周末从底特律到亚特兰大的航班价格是多少?
  • 我住在纽约,想去日本。找到本周五出发的最便宜的航班选择,并考虑我附近的所有机场!
  • 显示今天洛杉矶国际机场的航班选项,但仅限于晚上8:00之后

✨ 即将推出的功能

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

🤝 贡献

请随意:

  • bug或功能请求的未决问题
  • 提交拉取请求
  • 直接联系我sahit.mamidipaka@gmail.com

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

这意味着您可以自由地:

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

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


感谢您查看此项目!无论出于何种原因,随时与我联系。

注: 这个项目是为了好玩而创建的,与谷歌、谷歌航班或任何其他Alphabet子公司无关。