mcpField
O
Opensky

Opensky

リモート
pipeworx.io地図・旅行05 週間前に更新
リポジトリ公式サイト

Opensky について

Openskyは、リアルタイムの航空機位置と空域活動を調べるMCPサーバーです。キー不要のコミュニティミラーを使い、OpenSkyのフィールド名と単位を維持しますが、過去のフライト検索には対応しません。

主な機能

  1. 01ICAO24または位置による状態検索
  2. 02個別航空機の現在位置取得
  3. 03指定地域の活動状況の集計
  4. 04応答元ミラーの明示

活用シーン

  1. 01空港周辺の航空機位置の確認
  2. 02指定地域の航空機数の集計
  3. 03特定航空機の現在位置の確認

MCP 対応

リアルタイム状態ベクトル、個別航空機の位置、地域活動を取得するツールをMCPクライアントに公開します。Pipeworxゲートウェイ経由の接続、またはローカルstdio MCPサーバーとしての実行に対応し、データはOpenSkyではなくコミュニティADS-Bミラーから取得します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://gateway.pipeworx.io/opensky/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

OpenSky MCP

リアルタイムの航空機位置情報と空域活動の概要を、キーなしで利用できます。

Pipeworx の一部です — AI エージェントを1679以上のリアルタイムデータソースに接続するMCPゲートウェイです。

認証

不要です。キーも登録も必要ありません。

このパックが実際に呼び出すもの

OpenSkyではありません。 OpenSky Networkはデータセンターからの外向き通信をブラックホール化します。有効なOAuth2認証情報を使っても、Cloudflare Workersからも非CFリレーからも、応答もリセットもないまま接続がハングします。住宅用IPからは動作するため修正可能に見えますが、実際には修正できず、認証情報を変えても状況は変わりません。再試行に時間を費やさないでください。

エージェントが使い慣れた名前で呼び出せるよう、ツール名にはOpenSkyの名前を使っていますが、キー不要のコミュニティADS-Bミラーから同じリアルタイム情報を提供します: adsb.lol → airplanes.live → adsb.fi の順に試します。すべての応答には、応答したミラーを示すsourceフィールドと、データがOpenSkyのものではないことを示すnoteが含まれます。

状態ベクトルはOpenSkyのフィールド名と単位(readsbのフィートやノットではなく、メートルとm/s)で返されるため、OpenSky形式を前提としたコードは高度を誤って解釈することなく、そのまま動作します。

ツール

ツール呼び出し名戻り値
get_statesopensky_get_statesicao24、またはlat/lon/radius_nmで絞り込んだリアルタイムの状態ベクトル
get_aircraftopensky_get_aircraftICAO24の16進数アドレスで指定した航空機の現在位置
get_flightsget_flights過去のフライト区間 — 利用できません。利用可能な機能を明記した、利用不可の結果を返します
airspace_activityairspace_activity指定した地域の航空機数、国別内訳、高度別・飛行中の内訳

これらのうち2つの名前は他のパックからもエクスポートされています(country-state-cityにも独自のget_statesがあり、flightsとadsbにはどちらもget_aircraftがあります)。そのため、カタログ全体ではゲートウェイがこのパックのツールをopensky_*として公開します。実際に呼び出す名前は中央の列に記載されています。スコープを限定した接続 — /opensky/mcp — では、名前が重複するものがないため、元の名前をそのまま使えます。

利用できない機能とその理由

過去のデータを取得するエンドポイントです。コミュニティミラーはリアルタイムデータのみを提供しており、「先週の火曜日にこの航空機がどの空港間を飛行したか」という情報を提供できるのはOpenSkyだけです。そのため、get_flightsは過去の期間に関する質問にリアルタイムのスナップショットで答えるのではなく、理由を添えてfound: falseを返します。

また、「現在の全航空機」を対象とするグローバルなクエリもありません。ミラーが提供するのは地点を中心とする円内のデータなので、get_statesにはicao24フィルターか位置情報が必要です。どちらも指定せずに呼び出すと、その旨と再試行時に指定する引数を返します。

カバー範囲に関する注意事項

  • 受信機ベースです。外洋や地上受信機の少ない地域では、データが限られます。
  • 軍用機や政府機はトランスポンダーを頻繁に無効にするため、airspace_activityでは民間以外の航空機数が実際より少なくなります。戦力配置ではなく、民間航空の平常性を示す指標としてご利用ください。
  • フィードが1回でカバーできる範囲を超える地域では、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/SIGMET
  • faa-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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。