使用说明
Google Flights MCP 服务器
一个通过SerpAPI封装Google Flights API的MCP(模型上下文协议)服务器,使Claude Code能够搜索和分析航班数据。
特点/功能
- 主要飞行搜索搜索往返、单程或多城市航班
- 回程航班查询使用出发令牌获取返回/下一航段选项
- 预订选项使用预订令牌获取可预订的供应商及其价格
先决条件
- Node.js 18及以上版本
- SerpAPI账户及API密钥(在这里获取一个)
安装
- 克隆此存储库:
git clone <repository-url>
cd google_flights_mcp
- 安装依赖项:
npm install
- 创造
.env来自示例的文件:
cp .env.example .env
- 将您的SerpAPI密钥添加到
.env:
SERPAPI_API_KEY=your_actual_api_key_here
- 构建TypeScript项目:
npm run build
与Claude桌面版的使用
将此服务器添加到您的Claude Desktop配置文件中:
macOS
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"google-flights": {
"command": "node",
"args": ["/absolute/path/to/google_flights_mcp/build/index.js"],
"env": {
"SERPAPI_API_KEY": "your_api_key_here"
}
}
}
}
Windows
编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"google-flights": {
"command": "node",
"args": ["C:\\absolute\\path\\to\\google_flights_mcp\\build\\index.js"],
"env": {
"SERPAPI_API_KEY": "your_api_key_here"
}
}
}
}
Linux
编辑 ~/.config/Claude/claude_desktop_config.json (格式与macOS相同)
可用工具
1. 搜索谷歌航班
使用广泛的筛选选项进行初步的航班搜索。
必需参数:
departure_id(字符串):出发机场的国际航空运输协会(IATA)代码(例如,“SFO”)arrival_id(字符串):到达机场的国际航空运输协会(IATA)代码(例如,“JFK”)outbound_date(字符串):出发日期,格式为YYYY-MM-DD
常用可选参数:
return_date(字符串):返回日期(往返行程必填)type(1|2|3): 旅行类型 - 1=往返程,2=单程,3=多城市travel_class(1|2|3|4): 1=经济舱,2=高级经济舱,3=商务舱,4=头等舱adults(数字):成人乘客数量(默认:1)children(数字):儿童乘客数量stops(0|1|2|3): 0=任意,1=直飞,2=≤1次中转,3=≤2次中转sort_by(1|2|3|4|5|6): 1=顶部,2=价格,3=起飞时间,4=到达时间,5=时长,6=排放量max_price(数字):最高价格过滤器include_airlines(字符串):以逗号分隔的航空公司代码(例如,“UA,AA”)exclude_airlines(字符串):以逗号分隔的要排除的航空公司代码bags(数字):随身行李件数currency(字符串):货币代码(例如,“USD”)gl(字符串):国家代码(例如,“us”)hl(字符串):语言代码(例如,“en”)deep_search(boolean): 启用以获得浏览器一致性结果(速度较慢)
示例:
{
"departure_id": "SFO",
"arrival_id": "JFK",
"outbound_date": "2025-12-15",
"return_date": "2025-12-22",
"type": 1,
"travel_class": 1,
"adults": 1,
"stops": 1,
"sort_by": 2,
"currency": "USD",
"gl": "us"
}
2. 获取返程航班
使用之前搜索结果中的出发令牌来获取返程或下一航段的航班选项。
参数:
departure_token(字符串,必填):上一次搜索的令牌no_cache(布尔值,可选):绕过缓存
3. 获取预订选项
获取选定航班的可预订服务提供商及价格。
参数:
booking_token(字符串,必填):所选航班的令牌no_cache(布尔型,可选):绕过缓存
响应格式
所有工具都从SerpAPI返回结构化的JSON数据,包括:
best_flights一系列顶级推荐航班other_flights一系列额外的飞行选择price_insights价格趋势和典型范围airports关于出发/到达机场的元数据search_metadata请求状态和时间信息
每次飞行包括:
flights航班详情(出发/到达时间、航空公司、航班号等)layovers中转信息total_duration总行程时长(分钟)carbon_emissions碳足迹数据price以选定货币显示的价格departure_token用于查询回程航班booking_token用于预订选项
发展
构建
npm run build
监视模式(更改时重建)
npm run watch
直接运行
npm run dev
错误处理
服务器处理各种错误场景:
- 缺少API密钥
- 无效参数
- 来自SerpAPI的HTTP错误
- 响应中的API级别错误
错误会附带描述性消息返回,以协助调试。
Claude的示例查询
一旦配置好,您就可以向Claude询问诸如:
- 帮我翻译一下原文内容:帮我找一下12月15日至22日从旧金山到纽约的航班
- “搜索1月5日从洛杉矶(LAX)飞往东京的单程商务舱航班”
- “给我看看下个月从芝加哥到迈阿密500美元以下的直飞航班”
- “三月份从波士顿到伦敦的最便宜往返机票是多少?”
许可证
麻省理工学院(MIT)