关于 Opensky
Opensky 是查询实时航空器位置和空域活动的 MCP 服务,面向需要 ADS-B 监测数据的用户。它从无需密钥的社区镜像获取实时数据,并保留 OpenSky 的字段名称和单位;不提供历史航班查询。
主要功能
- 01按 ICAO24 或位置查询实时状态
- 02查询单架航空器当前位置
- 03汇总指定区域的空域活动
- 04标明实际响应的数据镜像来源
适用场景
- 01查看机场周边航空器位置
- 02统计指定区域航空器数量
- 03检查单架航空器的当前所在位置
MCP 相关
向 MCP 客户端提供实时状态、单机位置和区域活动工具。可通过 Pipeworx 网关连接或作为本地 stdio MCP 服务运行;数据来自社区 ADS-B 镜像,而非 OpenSky。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/opensky/mcpclaude mcp add --transport http pipeworx-io-opensky https://gateway.pipeworx.io/opensky/mcp{"mcpServers":{"pipeworx-io-opensky":{"type":"http","url":"https://gateway.pipeworx.io/opensky/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-opensky":{"type":"http","url":"https://gateway.pipeworx.io/opensky/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-opensky":{"type":"http","url":"https://gateway.pipeworx.io/opensky/mcp"}}}{"mcpServers":{"pipeworx-io-opensky":{"serverUrl":"https://gateway.pipeworx.io/opensky/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
OpenSky MCP
实时航空器位置和空域活动摘要,无需密钥。
属于 Pipeworx — 一个将 AI Agent 连接到 1679+ 个实时数据源的 MCP 网关。
身份验证
无需身份验证。无需密钥,也无需注册。
此工具包实际调用的服务
不是 OpenSky。 OpenSky Network 会屏蔽来自数据中心的出口流量——无论是从 Cloudflare Workers 还是非 CF 中继发起的连接,都会在提供有效 OAuth2 凭据的情况下挂起,既无响应,也不会重置连接。从住宅 IP 发起的连接则可以正常工作,这让人误以为问题可以修复;其实不行,凭据也无济于事。别再花时间重试了。
这些工具保留了 OpenSky 名称,因为 Agent 常会使用这些名称进行调用;实际数据来自无需密钥的社区 ADS-B 镜像,并提供相同的实时画面:
adsb.lol → airplanes.live
→ adsb.fi,按此顺序尝试。每个响应都包含一个 source 字段,标明提供数据的镜像,以及一个 note 字段,说明这些数据并非来自 OpenSky。
状态向量采用 OpenSky 的字段名称和单位 返回——单位为米和 m/s,而非 readsb 使用的英尺和节——因此,针对 OpenSky 数据结构编写的代码仍能正常工作,不会悄然误读高度。
工具
| 工具 | 调用名称 | 返回内容 |
|---|---|---|
get_states | opensky_get_states | 实时状态向量,可按 icao24 或 lat/lon/radius_nm 筛选 |
get_aircraft | opensky_get_aircraft | 按 ICAO24 十六进制地址查询某架航空器当前的位置 |
get_flights | get_flights | 历史航段 — 不可用,会返回明确的不可用结果,并指出哪些功能可用 |
airspace_activity | airspace_activity | 指定区域内的航空器数量、国家/地区细分、海拔和飞行状态细分 |
其中两个名称也由其他工具包导出(country-state-city 自带 get_states;flights 和 adsb 都有 get_aircraft),因此在完整目录中,网关会将此工具包中的名称作为 opensky_* 暴露。中间一列是实际调用名称。在限定范围的连接 /opensky/mcp 中,直接使用原始名称即可,因为没有其他名称会与之冲突。
不可用的功能及原因
历史端点。社区镜像仅提供实时数据,而 OpenSky 是唯一能回答“某架航空器上周二飞过哪些机场”的数据源。因此,get_flights 会返回带有原因的 found: false,而不会用实时快照来回答关于过去时间段的问题。
也没有“此刻所有航空器”的全球查询功能——镜像只提供某个地点周围圆形区域内的数据,因此 get_states 必须带有 icao24 筛选条件或位置信息。如果两者都未提供,它会说明这一点,并给出重试时所需的参数。
覆盖范围注意事项
- 基于接收器。远洋区域和地面接收器较少的区域,覆盖稀疏。
- 军用和国家航空器会经常关闭应答机,因此
airspace_activity会低估非民用空中交通。应将其视为民用航空正常运行情况的信号,而非战斗序列。 - 对于大于数据源单次覆盖范围的区域,结果会标记为
coverage: "partial",计数只是下限,并非总数。 origin_country根据 ICAO 24 位地址块推导,该地址块按注册国分配,并非由航空器发送。只有经实时注册信息确认的地址块才会进行映射(经验证,1,125 架航空器结果一致,0 项冲突);其他情况会报告unknown,而不会猜测。
相关工具包
flights—get_flight_route(呼号 → 航空公司和航线),get_arrivals/get_departures(根据 ADS-B 推断的机场实时活动)adsb— 使用 readsb 原生字段名称和单位的相同镜像链aviation-weather— 相关机场的 METAR/TAF/SIGMETfaa-delays— 美国机场的 FAA 地面停飞和延误计划
数据源
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"opensky": {
"url": "https://gateway.pipeworx.io/opensky/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/opensky/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、
discover_tools、search_within、remember/recall,还有网关级别的其他工具。因此,你看到的工具数量会多于此表中的数量:目前,单个工具包端点除了列出自身工具外,还会列出约 30 个共享工具。连接的 initialize 响应会说明其确切范围,是判断当天情况的权威依据。
这是有意为之,并非意外的多路复用。元工具让限定范围的连接也能回答此工具包未涵盖的问题——通过 ask_pipeworx 跨整个目录进行路由——无需你再添加第二个 MCP 服务。目前无法在不包含这些元工具的情况下挂载工具包端点;如果额外的架构占用的上下文比路由带来的价值更大,请连接一次完整网关,而不是连接多个工具包端点。
或者,连接完整的 Pipeworx 网关,直接列出每个工具包的所有工具,而不只是此工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都会连接到同一个网关和相同的 1679+ 个数据源。唯一的区别是直接列出的工具属于哪个工具包;无论连接哪一个,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/opensky_get_states \
-H 'Content-Type: application/json' \
-d '{"lat":51.47,"lon":-0.45,"radius_nm":50}'
首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/opensky_get_states。查找工具:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需通过网关往返:
{
"mcpServers": {
"opensky": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-opensky"]
}
}
}
或者直接运行,以确认服务已启动:
npx -y @pipeworx/mcp-opensky
它通过 stdin/stdout 使用 MCP,并为仅此工具包的工具响应 initialize/tools/list/tools/call——不包含上述网关连接所添加的任何共享元工具。相同的源代码、相同的工具,但没有 ask_pipeworx 路由。
使用 ask_pipeworx
你可以用通俗的英文提问,而不是直接调用工具——此功能既适用于上面的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Opensky data" })
网关会选择合适的工具,并自动填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。