这是一个连接您的代理或大语言模型到 Google 航班数据的 Model Context Protocol (MCP) 服务器实现。访问航班信息,找到最便宜的选项,根据时间限制进行筛选,并获取 Google 航班的最佳推荐!
此 MCP 服务器提供了对 Google 航班数据的无缝访问,使您的 AI 代理能够:
注意: 目前,此工具仅支持单程(如果您请求往返行程,它会执行两次单程!)因为我将其作为学习 MCP 的有趣副项目构建。
如果有人发现这很有用或希望我这样做,我可以添加往返和多城市功能!!只需提出一个 PR 或联系我 点击这里!
只需按照快速入门指南设置 Claude Desktop、Cursor 或其他 MCP 客户端,然后询问您所需的航班信息即可!
[插入 Claude Desktop 演示视频]
get_general_flights_info(): 获取给定路线的全面航班信息
get_cheapest_flights(): 查找最实惠的航班选项
get_best_flights(): 获取 Google 航班推荐的最佳航班
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 for Desktop!
克隆此仓库
安装 uv 来设置我们的 Python 环境
# 检查是否已安装 uv
uv --version
# 如果未安装
curl -LsSf https://astral.sh/uv/install.sh | sh
# 检查是否已安装 uv
uv --version
# 如果未安装
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
⚠️ 重要提示:安装后,必须重新启动终端以使 uv 命令生效!
将此航班 MCP 服务器添加到您的 Claude for Desktop 配置中:
~/Library/Application Support/Claude/claude_desktop_config.jsoncode ~/Library/Application\ Support/Claude/claude_desktop_config.json
code $env:AppData\Claude\claude_desktop_config.json
注意:~/Library/Application Support/Claude/config.json 是另一个不相关的文件。不要编辑它。
在 mcpServers 键下添加此航班 MCP 服务器:
{
"mcpServers": {
"flights": {
"command": "/ABSOLUTE/PATH/.local/bin/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER",
"run",
"flights.py"
]
}
}
}
确保修改代码以包含 uv 的绝对路径作为 command 参数以及此仓库的绝对路径作为 args 参数。
您可能需要在命令字段中放置 uv 可执行文件的完整路径。可以通过运行以下命令获取:
which uvwhere uv示例:
{
"mcpServers": {
"flights": {
"command": "/Users/sahitmamidipaka/.local/bin/uv",
"args": [
"--directory",
"/Users/ssahitmamidipaka/Documents/Google-Flights-MCP-Server",
"run",
"flights.py"
]
}
}
}
这就完成了!打开 Claude for Desktop,您应该能看到 MCP 工具图标出现(确保重新打开应用程序以使更改生效——每次更改 claude_desktop_config.json 文件时都需要这样做 😊)
更多详情,请参阅 官方 MCP 文档。 <br>
打开 Cursor 并进入设置
点击左侧面板上的 MCP 标签
添加一个新的 MCP 服务器(选择一种):
.cursor/mcp.json 文件~/.cursor/mcp.json 文件在 mcp.json 文件中附加以下配置:
{
"mcpServers": {
"flights": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER",
"run",
"flights.py"
]
}
}
}
确保替换 /ABSOLUTE/PATH/TO/PARENT/FOLDER 为实际的仓库路径。
您可能需要在命令字段中放置 uv 可执行文件的完整路径。可以通过运行以下命令获取:
which uvwhere uv示例:
{
"mcpServers": {
"flights": {
"command": "/Users/sahitmamidipaka/.local/bin/uv",
"args": [
"--directory",
"/Users/sahitmamidipaka/Documents/Google-Flights-MCP-Server",
"run",
"flights.py"
]
}
}
}
更多详情,请参阅 官方 Cursor MCP 文档。
随时欢迎:
本项目采用 MIT 许可证 - 详情见 LICENSE 文件。
这意味着您可以:
根据 MIT 许可证条款,您必须在任何分发的软件或衍生作品中包含原始版权声明和引用。
感谢您查看此项目!如有任何原因,随时欢迎联系我。
注意: 此项目是出于娱乐目的而创建的,并且与 Google、Google 航班或任何其他 Alphabet 子公司无关。