谷歌航班MCP服务器
模型上下文协议(MCP)服务器实现,将您的代理或LLM连接到Google Flights数据。访问航班信息,找到最便宜的选项,按时间限制过滤,并获得谷歌航班的最佳推荐!
🌍 概述
此MCP服务器提供对Google Flights数据的无缝访问,使您的AI代理能够:
- 检索 综合航班信息
- 查找 最便宜的可用航班
- 根据以下条件过滤航班 具体时间限制
- 获得谷歌航班推荐 最佳航班
注: 目前,这个工具只做一种方式(如果你要求往返,它会做两种方式!),因为我把它作为一个有趣的宠物项目来学习MCP。 如果有人真的觉得这很有用或希望我这样做,我可以努力添加往返和多城市功能!!只需提高PR或 联系我!
🎥 使用与演示
只需按照快速入门为Claude Desktop、Cursor或另一个MCP客户端设置此设置,然后询问您想要的航班信息!!
\[插入克劳德桌面演示视频\]
🛠️ 工具
可用功能/工具
get_general_flights_info():检索给定航线的综合航班信息
- 提供多达40个航班的详细航班信息 - 返回人类可读的航班描述列表
get_cheapest_flights():寻找最实惠的航班选择
- 按最低价格排序和返回航班 - 包括当前的总体路线定价信息
get_best_flights():获取Google Flights的顶级推荐航班
- 识别并返回谷歌航班标记为“最佳”的航班 - 帮助用户找到最佳航班选择
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())
⚡ 快速开始
克劳德桌面
- 确保你有最新的 Claude桌面版 下载!
- 克隆此Repo
- 安装
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 命令拿起!
- 将此航班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 是一个不同的、无关的文件。不要编辑它。
- 将此航班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"
]
}
}
}- 就是这样!打开Claude for Desktop,您应该会看到出现小的MCP工具图标(请确保重新打开应用程序进行更新——每次更改您的
claude_desktop_config.json文件😊)
有关更多信息,请参阅 MCP官方文件.
光标
- 打开光标并转到设置
- 按下左侧面板上的MCP选项卡
- 添加新的MCP服务器(选择一个):
#### 项目配置
- 创建一个 .cursor/mcp.json 项目目录中的文件 - 非常适合用于特定于单个项目的工具
#### 全局配置
- 创建一个 ~/.cursor/mcp.json 主目录中的文件 - 使MCP服务器在所有Cursor工作区中可用
- 将以下配置附加到
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子公司无关。
