关于 flightaware-mcp
flightaware-mcp 将 Claude 等 MCP 客户端连接到 FlightAware AeroAPI v4,获取实时航班和航空数据。它提供航班与机场查询、时刻表和提醒管理,并在更改提醒前要求确认。
主要功能
- 01航班搜索和实时位置
- 02航班轨迹、航线、历史记录与地图
- 03机场信息、航班看板、延误和天气
- 04运营方、航空器和时刻表查询
- 05创建和管理航班提醒
- 06更改提醒前进行确认
适用场景
- 01查看航班当前位置和航线
- 02查询机场到达或出发航班
- 03了解机场延误和天气
- 04经确认后设置或更新航班提醒
MCP 相关
通过 stdio 向 MCP 客户端提供 FlightAware AeroAPI v4 的航班和航空数据工具。更改提醒前必须确认。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @chrischall/flightaware-mcpAEROAPI_API_KEY密钥Your FlightAware AeroAPI key (flightaware.com/aeroapi/portal)AEROAPI_OUTPUT_DIRDefault directory for flight-map PNGs (default: current working directory)AEROAPI_CACHE_TTLSeconds to cache identical live-data GET responses (default 15; 0 disables)AEROAPI_STATIC_CACHE_TTLSeconds to cache reference data — airports, operators, routes, ownership (default 3600; 0 disables)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
34收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| end | string | 否 | 时间窗口的 ISO-8601 结束时间 |
| view | enum | 否 | 响应格式:"compact"(默认)会省略响应中其他位置已包含的字段;"full" 会返回此服务端了解的所有字段。compact 会从响应中移除图像/avatar URL;"full" 会原样返回 FlightAware 的负载。不支持字段投影:此服务端没有经过验证的记录来确定哪些 FlightAware 字段重要,擅自指定可能导致调用方需要的字段被丢弃。compact | full |
| ident | string | 是 | 航班标识符、注册号或 fa_flight_id |
| start | string | 否 | 时间窗口的 ISO-8601 开始时间 |
| cursor | string | 否 | 分页游标:之前响应的 links.next 中的 cursor 查询参数(也可以直接传入整个 links.next 值) |
| max_pages | integer | 否 | 要获取的最大页数,范围为 1-20(AeroAPI 默认值:1)。上限为 20,因为 AeroAPI 按页计费。 |
| ident_type | enum | 否 | 消除 `ident` 解释方式的歧义designator | registration | fa_flight_id |
详细介绍
flightaware-mcp
适用于 FlightAware AeroAPI(v4)的 MCP 服务 — 为 Claude 提供实时航班追踪和航空数据。追踪航班、查看机场航班信息、查询运营商和航空器、获取计划航班并管理航班提醒,所有操作均通过 stdio 完成。
由 AI(Claude Code)开发和维护。请自行斟酌使用。
快速开始
{
"mcpServers": {
"flightaware": {
"command": "npx",
"args": ["-y", "@chrischall/flightaware-mcp"],
"env": { "AEROAPI_API_KEY": "your-aeroapi-key-here" }
}
}
}
在 flightaware.com/aeroapi/portal 获取密钥。免费的 Personal 层级(每月 500 次调用)足以入门;AeroAPI 按查询次数计费。
工具
| 区域 | 工具 |
|---|---|
| 航班 | fa_get_flights、fa_search_flights、fa_search_flights_advanced、fa_search_flight_positions、fa_count_flights、fa_get_flight_track、fa_get_flight_position、fa_get_flight_route、fa_get_flight_map、fa_get_flight_history、fa_resolve_flight |
| 机场 | fa_get_airport、fa_get_airport_flights、fa_get_airport_flight_counts、fa_get_airport_routes、fa_list_airports、fa_get_nearby_airports、fa_get_airport_delays、fa_get_airport_weather、fa_resolve_airport |
| 运营商 / 航空器 | fa_get_operator、fa_get_operator_flights、fa_list_operators、fa_get_aircraft_owner |
| 时刻表 / 预测 | fa_get_scheduled_flights、fa_foresight_search(高级层级) |
| 提醒 | fa_list_alerts、fa_get_alert、fa_create_alert、fa_update_alert、fa_delete_alert、fa_get_alerts_endpoint、fa_set_alerts_endpoint |
| 健康检查 | fa_healthcheck — 该连接器是否正常工作?报告 AEROAPI_API_KEY 是否已解析、AeroAPI 是否接受该密钥,以及需要如何修复。检查结果会静态缓存,因此重复检查不会重复计费。 |
提醒变更操作(fa_create_alert、fa_update_alert、fa_delete_alert、fa_set_alerts_endpoint)会在写入前要求你确认 — 参见确认。
确认
每项提醒变更操作都会在修改你的 AeroAPI 账户前请求确认。能够显示确认提示的客户端(Claude Code)会显示提示。无法显示确认提示的客户端(claude.ai、Claude Desktop)则不会在首次调用时发出任何网络请求,而是返回确切请求的预览(方法、路径、正文)以及一个 confirmToken;只有再次调用并附上该令牌时才会发送请求。令牌只能使用一次,会过期;如果预览后请求发生变化,令牌也会被拒绝。
| 变量 | 默认值 | |
|---|---|---|
MCP_CONFIRM_MODE | ask-user | 无法显示确认提示的客户端(claude.ai、Claude Desktop)如何处理写入操作。ask-user:分两步执行 — 首次调用不执行任何操作,而是返回预览和令牌;模型必须先在聊天中获得你的批准,然后才能再次调用并附上令牌。auto:同样分两步执行,但模型查看预览后可以自行使用令牌。refuse:此类客户端上的写入操作会被拒绝。能够显示提示的客户端(Claude Code)始终会收到真实提示,除非 MCP_CONFIRM_ELICITATION=off。无法识别的值会按 refuse 处理。 |
MCP_CONFIRM_ELICITATION | on | off 表示绝不发送确认提示,因此所有客户端都会采用 MCP_CONFIRM_MODE 指定的处理方式。若客户端声明能够显示提示但实际上从不显示(受门控的调用会一直挂起 — opencode 2.0.x),请设置此项。其他任何值都将保持为 on,并输出 stderr 警告。 |
MCP_CONFIRM_TTL_SECONDS | 600 | 令牌的有效时长。 |
MCP_CONFIRM_SECRET | 每个进程随机生成 | 签名密钥;只有在令牌需要在服务重启后继续有效时才设置。 |
配置
| 变量 | 必填 | 用途 |
|---|---|---|
AEROAPI_API_KEY | 是 | 你的 AeroAPI 密钥(作为 x-apikey 标头发送)。 |
AEROAPI_OUTPUT_DIR | 否 | 航班地图 PNG 的默认目录(默认值:~/Downloads/flightaware-mcp)。每次调用的 output_dir 必须位于此目录内(如果未设置,则必须位于 ~/Downloads/flightaware-mcp 内)。 |
AEROAPI_CACHE_TTL | 否 | 缓存相同 实时数据 GET 响应的秒数(默认值:15;设为 0 可禁用)。可减少 AeroAPI 按查询计费的费用。 |
AEROAPI_STATIC_CACHE_TTL | 否 | 参考数据的较长缓存 TTL——机场/运营商信息、航线、所有权、规范化查询(默认值:3600;设为 0 可禁用)。 |
开发
npm install
npm run build
npm test
每个请求都会使用你自己的 AeroAPI 密钥,并计入你的订阅配额。固定的端点范围请参阅 docs/FLIGHTAWARE-API.md。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。