SkyGlance — What's Flying Above You について
SkyGlanceは、航空機の位置・機体情報・航路をリアルタイムで調べるMCPサーバーです。任意で目撃履歴をローカルに記録でき、仰角と方位による観察案内や、送信前の位置情報の丸め処理も備えています。
主な機能
- 01近隣および世界の航空機を検索
- 02機種・運航者・航路を特定
- 03仰角と方位による観察案内
- 04航空機の目撃履歴をローカル保存
- 05空港の活動状況と航空会社の機材を検索
- 06送信前に位置座標を丸める
活用シーン
- 01頭上や接近中の航空機を確認
- 02機体を特定して航路を調べる
- 03機種や航空会社で航空機を検索
- 04個人の目撃記録と統計を確認
MCP 対応
航空機の位置、識別、航路、空港の活動状況、目撃履歴を調べるツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx skyglanceSKYGLANCE_HOME_LATYour latitude. Enables background sighting history.SKYGLANCE_HOME_LONYour longitude. Enables background sighting history.SKYGLANCE_POLLSet to 0 to disable background history recording.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
24掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| lat | any | いいえ | |
| lon | any | いいえ | |
| limit | integer | いいえ | |
| radius_nm | integer | いいえ |
詳細
SkyGlance
頭上を飛んでいるものをClaudeに聞いてみましょう。
現在位置、実際の機体情報、航路、写真、そして上空を通過したすべての記録。
クイックスタート
claude mcp add skyglance -- uvx --from skyglance skyglance
その後、Claudeに「今、頭上を飛んでいるのは何?」と聞いてみましょう。
uvが必要です。インストールガイドでは、すべてのプラットフォームを網羅しています。APIキーは不要です。ここで使うデータソースはすべて無料です。
位置情報を設定すると、何度も伝える必要がなくなり、SkyGlanceが目撃履歴を作成できるようになります。
claude mcp add skyglance \
-e SKYGLANCE_HOME_LAT=40.71 -e SKYGLANCE_HOME_LON=-74.01 \
-- uvx --from skyglance skyglance
Claude Codeプラグインとしてインストール
サーバーとskyスキルをまとめて提供します。このスキルは、Claudeに仰角の読み方や、飛行機を見たことがない人への説明の仕方を教えます。
/plugin marketplace add darshjoshi/skyglance-mcp
/plugin install skyglance@skyglance
SkyGlance Spotter:Claudeディレクトリ版
リポジトリのルートもプラグインで、AnthropicのClaudeプラグインディレクトリ向けに構築されたSkyGlance Spotter(skyglance-spotter)です。このリポジトリのソースから同じサーバーを実行し、次の4点が異なります。
- 2つのツールは含まれません。
military_aircraftとprivacy_blocked_aircraftは含まれず、search_aircraftには軍用機のフィルターがありません。これらの機能は、追跡を望まない運航者や所有者の航空機を追跡するためのものです。 - 履歴の記録はオプトインです。 プラグインの設定で目撃履歴を記録を有効にした後に限り、目撃履歴が記録されます。
- 環境変数の代わりに設定を使用します。 自宅の緯度と経度は、任意のプラグイン設定です。
- 履歴はプラグインのデータフォルダーに保存されます。 履歴データベースは、Claude Codeがプラグインの更新後も保持し、アンインストール時に削除するフォルダーに保存されます。初回起動時に
uvが構築するPython環境はプラグインフォルダーに保存され、更新のたびに再構築されます。
/plugin marketplace add darshjoshi/skyglance-mcp
/plugin install skyglance-spotter@skyglance
uvが必要です。初回起動時にuv run --lockedが、uv.lockに記載された正確なバージョンの依存関係(MCP SDK、httpxおよびその依存関係)をPyPIからインストールします。数秒かかります。SkyGlance SpotterはClaude CodeとCoworkで動作します。ローカルで実行されるため、claude.aiのチャットでは利用できません。
質問できること
"What's flying over me right now?" → ranked by what you'd actually notice
"What's about to pass overhead?" → but only 90 seconds ahead, honestly
"What is that plane?" → type, operator, route, photograph
"Where is flight UAL123?" → anywhere in the world
"Any A380s airborne?" → 44 of them, right now
"Any military aircraft near me?" → and any emergencies, worldwide
"Have I ever seen this plane before?" → your own history says
"What's the closest one ever?" → your personal records
"Can I even see anything tonight?" → cloud, visibility, daylight
こうした設計にした理由
「頭上にいる」は距離ではなく角度です。 半径で絞り込むと、19 km 離れた高度 38,000 ft の旅客機が見つかります。地平線から 32°上、木々の上の小さな点にすぎません。一方で、高度 800 ft、仰角 0.7°のヘリコプターは、建物の陰に隠れて見えないのに、同じ重みで扱われます。SkyGlance は仰角、見るべき方角を示すコンパス方位、斜距離を計算するため、答えを見ればどこに顔を向ければよいかが分かります。
予測できる範囲を超えて予測することはありません。 機体の航跡と対地速度からの直線外挿は、30 秒先なら約 0.11 km の誤差で正確です。4 分先になると誤差の中央値は 6 km になり、機体の 77% が 2 km 以上ずれます。進入中の機体は絶えず旋回するためです。そのため、カウントダウンは 90 秒で打ち切り、それ以降は具体的な時間を示さず「接近中」と報告します。
見えないときは、そのことを把握しています。 無料の ADS-B カバレッジは、屋根に受信機を設置したボランティアによって支えられています。人口密度の高いヨーロッパ、米国、東アジアでは、商用フィードの 90~95% をカバーしています。海洋、アフリカ、中央アジアでは、ほぼゼロです。結果が少ない場合、空が何もないかのように示すのではなく、そのことを SkyGlance が伝えます。
座標は送信前に丸められます。 フィードへのクエリは小数点以下 2 桁(約 1.1 km)に丸められるため、ボランティアのフィード運用者に、自分の位置や起きている時間が屋上まで特定できる精度で記録されることはありません。どこを見ればよいかを正確に伝えられるよう、方位と仰角は正確な位置情報を使ってローカルで計算されます。丸めていない座標がフィードに送信されると失敗するテストもあります。
24 個のツール
| グループ | ツール |
|---|---|
| 頭上 | whats_overhead · coming_overhead · nearest_aircraft |
| 機体の識別 | identify_aircraft · track_flight · track_history · airline_info |
| 空港 | airport_activity · busiest_airports |
| 世界を検索 | fleet_view · search_aircraft · global_stats |
| 航空機スポッティング | military_aircraft · emergencies · find_by_type · interesting_nearby · privacy_blocked_aircraft |
| コンテキスト | viewing_conditions · feed_health |
| 自分の履歴 | sighting_history · is_this_new · my_records · spotting_stats · poller_status |
Flightradar24 との比較
SkyGlance は質問に答えるツールであり、地図ではありません。そのため、比較するのは何を見られるかではなく、何を知ることができるかです。
| SkyGlance | FR24 | |
|---|---|---|
| 現在位置、機種、登録記号、運航会社、写真 | ✅ | 無料 |
| スコーク、垂直速度、機齢 | ✅ | Silver |
| 航空会社、機種、高度、速度による絞り込み | ✅ | Silver |
| フリートビュー — 航空会社が運航中の全便 | ✅ | Business |
| 空港の運航状況、最も混雑する空港 | ✅ 観測データ | Business |
| 飛行経路の履歴 | ✅ 約 24 時間 | 90 日~3 年 |
| 世界の統計 | ✅ | — |
| 時刻表、遅延、搭乗ゲート、時刻表との比較による到着予定時刻 | ❌ | 無料 |
| 海洋カバレッジ(衛星 ADS-B)、MLAT、レーダー | ❌ | すべてのプラン |
| 航空図、洋上航路、航空管制区域 | ❌ | Gold |
率直にまとめると、 航空機スポッティングや識別、つまり頭上にいるのは何か、あれは何か、どこを飛んできたのか、747 は何機飛んでいるのかについては、SkyGlance なら FR24 が Silver と Business で提供している内容を無料で利用できます。一方、自分の便は遅れているか、搭乗ゲートはどこかといった旅行の手配には対応できません。ADS-B ではなく、ライセンス契約が必要な時刻表データだからです。また、FR24 の衛星ネットワークは、ボランティアの受信機では受信できない洋上の航空機も捉えます。
つまり、航空ファン向けの機能には有力な代替手段ですが、乗客向けの機能にはなりません。
意図的に対応していないこと
無料の ADS-B データに含まれるのは位置情報であり、スケジュールではありません。そのため、遅延、時刻表に対する到着予定時刻、搭乗ゲートやターミナルは取得できず、「今日、JFK からロンドンへ向かう便」のような検索もできません。ルート検索は逆方向、つまりすでに把握しているコールサインから検索する場合にのみ機能します。track_history は過去約24時間のローリングウィンドウであり、アーカイブではありません。
これらの機能はロードマップに含まれていません。別種のデータ製品(Cirium、OAG、FlightAware)が必要で、いずれかを購入すると API キー不要という方針を維持できなくなるためです。ツールは推測で答えるのではなく、こうした質問には明示的に対応できないと伝えます。同梱のスキルも、Claude に同じように対応するよう指示します。
目撃履歴
SKYGLANCE_HOME_LAT/LON を設定すると、SkyGlance はバックグラウンドで毎分一度、上空をポーリングして通過する航空機をすべて記録します。これにより、ライブフィードでは答えられない「この機体を以前見たことがあるか」「この機種はここでは初めてか」「これまでで最も低く飛んだのは何か」といった質問に答えられます。
~/.skyglance/sky.dbの SQLite にローカル保存されます。データが外部にアップロードされることはありません。- Claude のセッションを複数開いていても、ポーリングするプロセスは1つだけです。PID を記録したロックで制御するため、ボランティアが運営するフィードに何度も負荷をかけることはありません。
SKYGLANCE_POLL=0に設定すると無効になります。- 正直なところ、通過は1分間隔のスナップショットから推定されるため、ポーリングの合間に低空を高速で通過した航空機は記録されません。
poller_statusで間隔を確認できます。
設定
| 変数 | デフォルト | 用途 |
|---|---|---|
SKYGLANCE_HOME_LAT / SKYGLANCE_HOME_LON | 未設定 | 位置情報です。履歴の記録が有効になります。 |
SKYGLANCE_POLL | 1 | バックグラウンドで記録するかどうかです。1/true/yes/on で有効になり、それ以外では無効になります。 |
SKYGLANCE_POLL_INTERVAL | 60 | ポーリング間隔(秒)です(最小30秒)。 |
SKYGLANCE_HOME_DIR | ~/.skyglance | データベースとロックの保存場所です。 |
SKYGLANCE_EDITION | 未設定 | directory を指定すると、前述の SkyGlance Spotter の動作になります。プラグインが設定します。 |
データの取得元
API キー不要の無料サービスを7つ利用しており、月額費用は0ドルです。利用規約の全文は NOTICE.md をご覧ください。
| レイヤー | サービス |
|---|---|
| 位置情報 | adsb.lol · adsb.fi |
| 機体情報 | adsbdb.com → フォールバック先の hexdb.io |
| 写真 | planespotters.net |
| 気象状況 | Open-Meteo |
2つの位置情報フィードには並列でクエリを送り、フェイルオーバーではなく結果をマージします。3つ目のフィード(airplanes.live)も使用していた2026-08-02に、Newark 上空で測定したところ、最良の単一ソースでは52機、統合結果では61機、17%増でした。マージすることで、冗長性だけでなくカバー範囲も広がります。airplanes.live はその後、事前に連絡していない利用者に対して API を閉鎖したため、SkyGlance は現在このサービスにクエリを送りません。
各ソースの前段にはサーキットブレーカーを設けています(3回失敗すると、30秒間クールダウンします)。これらのサービスは、ボランティアが自費で運営しており、SLA も誰かに対する義務もありません。両方のフィードが失敗した場合は、エラーではなく、最後に正常に取得したスナップショットを stale としてフラグ付けして返します。40秒前の航空機情報でも、読み込み中のままよりは役に立ちます。
運航などの業務用途には適していません。 ディスパッチ、安全、ATC 関連の用途では、商用フィードを購入してください。上流サービスの利用規約にも同じことが記載されています。
ネットワークアクセス
SkyGlance は、公開されている航空データの取得にのみ外部へのリクエストを行います。各サービスに送信するのは、検索に必要な情報だけです。位置情報は小数点以下2桁に丸められます(約1.1 km)。または、航空機の識別子、航空会社コード、空港コードを送信します。会話、ファイル、アカウント情報を送信することはなく、API キーも使用しません。
| ホスト | 用途 |
|---|---|
api.adsb.lol、globe.adsb.lol(および adsb.lol) | 位置周辺のリアルタイム位置情報、機種・コールサイン・登録記号による世界規模の検索、および約24時間分の飛行経路 |
opendata.adsb.fi | adsb.lol と統合された、位置周辺のリアルタイム位置情報 |
api.adsbdb.com | 航空機の識別情報と飛行経路 |
hexdb.io | adsbdb に記録がない場合の航空機の識別情報 |
api.planespotters.net | 撮影者のクレジット付き航空機写真 |
api.open-meteo.com | 観測条件を確認するための雲量、視程、日照情報 |
pypi.org、files.pythonhosted.org | プラグインのみ:初回起動時に uv が固定された依存関係をインストールします |
github.com | プラグインのみ。Python 3.10 以降がインストールされていない場合に限り、uv がスタンドアロンの Python をダウンロードします |
各サービスにはそれぞれ利用規約があります。NOTICE.md に規約を掲載し、SkyGlance がそれらをどのように遵守しているかを説明しています。
このリポジトリには、開発時にのみネットワークリクエストを行うファイルも2つあります。サーバーもプラグインも、これらを実行することはありません。
tools/build_airports.pyは、パブリックドメインの OurAirports CSV をdavidmegginson.github.ioからダウンロードしてsrc/skyglance/airport_data.pyを再生成します。このスクリプトはメンテナーが手動で実行します。.github/workflows/publish.ymlは、リリース公開時に GitHub Actions 上で実行されます。Model Context Protocol レジストリの GitHub リリースから、バージョンが固定され、チェックサム検証済みのmcp-publisherをダウンロードし、PyPI と MCP レジストリに公開します。このワークフローの認証には、GitHub Actions が発行する有効期間の短い OIDC トークンを使用します。SkyGlance とそのプラグインは、認証情報の読み取り、保存、送信を一切行いません。
プライバシーポリシー
このポリシーは、SkyGlance MCP サーバー、skyglance プラグイン、および SkyGlance Spotter プラグインに適用されます。
データの収集。 SkyGlance はアカウント、分析機能、テレメトリ、クラッシュレポートを使用せず、作者がデータを受け取ることもありません。Claude のメモリ、チャット履歴、ファイルを読み取ることはありません。位置情報を使用するのは、質問で位置を指定した場合、または自宅の位置を設定した場合のみです。
使用方法。 位置情報は、その周辺にいる航空機を検索するために使用されます。コンピューターから送信される前に約1.1 km単位に丸められるため、データサービスが正確な位置を受け取ることはありません。どの方向や高度を調べるかは、正確な座標を使ってコンピューター上で算出されます。航空機の識別子、航空会社コード、空港コードは、それらを検索するサービスにのみ送信されます。
保存。 SkyGlance が保存するデータはすべて、サーバーの場合は ~/.skyglance/sky.db、SkyGlance Spotter の場合はプラグインのデータフォルダー内にある SQLite データベースに保存され、コンピューターの外に出ることはありません。保存されるのは、航空機と空港の検索結果のキャッシュ、および目撃履歴が有効な場合に限り、自宅の位置の上空を通過した航空機の記録です。自宅の位置は、設定した場所に保存されます。プラグインの場合は Claude Code の設定、サーバーの場合は MCP の設定です。
第三者との共有。 作者とデータを共有することはなく、第三者に販売することもありません。ネットワークアクセスに記載されたサービスは、それぞれのプライバシーポリシーに従って、各検索に必要な丸められた位置情報または識別子を受け取ります。
データの保持。 ローカルデータは、削除するまで保持されます。~/.skyglance を削除するか、SkyGlance Spotter をアンインストールすると、そのデータフォルダーが削除されます。SkyGlance がほかの場所にデータを保持することはありません。
お問い合わせ。 [email protected]、または課題を作成してください。
関連
- skyglance-mac — 同じデータを使ったmacOSメニューバーアプリです。本プロジェクトの基盤となった調査内容も掲載しています(FREE-STACK.md、OVERHEAD-DETECTION.md、COVERAGE-AND-COST.md)
開発
uv venv && uv pip install -e ".[dev]"
pytest # geometry parity, merge, breakers, privacy, history
ジオメトリテストでは、Macアプリのreference/overhead.mjsとの桁単位での完全一致を検証します。このファイルは既知の11ケースすべてに正しい結果を返します。移植版に差異が生じた場合、まずこれらのテストで検出されます。
MITライセンスです。航空会社、空港、航空航法サービスプロバイダーとは提携していません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。