mcpField
F
Faa Aircraft Registry

Faa Aircraft Registry

リモート
pipeworx.io法務・行政03 日前に更新
リポジトリ公式サイト

Faa Aircraft Registry について

Faa Aircraft Registry は、米国の民間航空機登録情報を調べる航空関係者や研究者向けの MCP サーバーです。N-number から機体、エンジン、登録状況、証明書の日付を取得でき、個人登録者の氏名は返しません。

主な機能

  1. 01N-number による登録情報検索
  2. 02機体とエンジンの参照情報
  3. 03登録状況と証明書の日付の表示
  4. 04個人登録者の氏名を非表示

活用シーン

  1. 01米国航空機の型式とシリアル番号の確認
  2. 02航空機登録が有効かどうかの確認
  3. 03登録抹消された番号の履歴確認

MCP 対応

Pipeworx のリモートサーバーまたはローカル stdio MCP サーバーを通じて、N-number による FAA 登録情報検索ツールを MCP クライアントに提供します。

設定

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

エンドポイントhttps://gateway.pipeworx.io/faa-aircraft-registry/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

@pipeworx/faa-aircraft-registry

FAA の民間航空機登録簿で、米国の航空機のテールナンバー(N ナンバー)を検索します。メーカー、モデル、シリアル番号、エンジン、耐空性クラス、登録者の種類、登録状況、証明書の日付、および N ナンバーが有効な登録簿から削除されている場合は登録抹消情報を取得できます。

Pipeworx の一部です。AI エージェントを 1879 以上の稼働中データソースに接続する MCP ゲートウェイです。これは独立した非公式の連携であり、上流プロバイダーとは提携、承認、公開のいずれも行っていません。

ツール

  • faa_reg_lookup(n_number) — 1 つの N ナンバー(「N12345」または「12345」)を照会し、航空機/エンジンの参照データ、登録者の種類、登録状況を返します。登録者名が返されるのは、個人以外の登録者の種類(法人、LLC、パートナーシップ、共同所有、政府)の場合のみです。個人名は個人情報のため、返されず、その旨が応答に示されます。登録抹消済みのレコードでは、登録者名は一切返されません(下記の「個人情報」を参照)。

認証

不要です。

データソース

  • https://registry.faa.gov/database/ReleasableAircraft.zip — FAA の民間航空機登録簿全体で、毎日更新されます。次の 4 つのファイルが読み込まれます。MASTER.txt(現在登録されている航空機)、ACFTREF.txt(機体のメーカー/モデル参照)、ENGINE.txt(エンジン参照)、DEREG.txt(過去の登録抹消)。同じ ZIP には DEALER.txt と RESERVED.txt も含まれていますが、このパックの対象外です。米国連邦政府のデータであり、パブリックドメインです。

ライブプロキシではなくローカルコピーのパックである理由

ライブ照会 API はありません。FAA が公開しているのは日次の一括 ZIP のみです。このパックは Supabase のミラー(faa_reg_acftref、faa_reg_engine、faa_reg_aircraft、faa_reg_dereg。スキーマは supabase/migrations/236_faa_aircraft_registry.sql)を読み取ります。このミラーには scripts/ingest-faa-aircraft-registry.mjs(.github/workflows/faa-aircraft-registry-refresh.yml)によって 1 日 1 回データが読み込まれます。照会が成功すると、各応答に行自身の loaded_at に基づく data_as_of が含まれます。

取得自体はゲートウェイ経由で行い、直接取得することはありません。 registry.faa.gov は Akamai の背後にあり、ブロックの原因は IP 評判だけではなく、ヘッダーの形式です(2026-10-08 に訂正:更新実行 37731086667 では、ゲートウェイ自身の Worker ルートからライブの Akamai 403 が返されました。以前の誤った記述では、これは起こり得ないとしていました)。本番アカウント上の使い捨て Cloudflare Worker で再現し、修正しました。ボット形式の UA と Accept: */* では、この URL へのアクセスで Akamai の「Access Denied」HTML(HTTP 403)が返ります。一方、現実的なブラウザーのヘッダーセット(実際の Chrome UA、ブラウザー形式の Accept/Accept-Language、同一オリジンの Referer)では、正規の約 73 MB の ZIP が HTTP 200 で正常に返されます。同じ Worker、同じ IP で、異なるのはヘッダーのみです。住宅用 IP と Supabase のエグレスリレーも試しましたが、ヘッダー形式にかかわらず、どちらも 403 でした。そのため、ブラウザー形式のヘッダーを送信するゲートウェイ自身の /admin/faa_reg_fetch_zip ルート(workers/gateway/src/index.ts)がデータを取得できる唯一のルートです。取り込みスクリプトはこのルートを呼び出し、実行環境を問わず実際の解凍、解析、読み込みを行います。

DB への読み込みは、各テーブルに対する TRUNCATE と psql \copy を 1 つのトランザクション内で行います。接続には、取り込みスクリプトが環境から読み取るプール接続文字列を使用します。これは完全な日次スナップショットであり、差分アップサートではありません。今日の MASTER.txt には、昨日登録抹消された N ナンバーが含まれていないためです。4 つのファイルのいずれかで解析に失敗した場合はトランザクション全体がロールバックされるため、テーブルが中途半端に置き換わることなく、昨日のデータが引き続き有効です。

空のレジストリに対するガード

日次更新で一度も正常に実行されたことがない場合、バックエンドの テーブルは空ですが、それらに対するクエリ自体は成功します。そのため、 単純に読み取るだけでは、データが正常な状態で本当に該当しない場合と 区別できないまま、すべての N ナンバーに対して確信を持って found:false と回答してしまいます。faa_reg_lookup は回答する前に 少なくとも1行が読み込まれていることを確認し、代わりにその状態を示す dataset_unavailable クラスのエラーを明確にスローします (fleet #2790、2026-10-08)。

個人データ

MASTER の TYPE REGISTRANT 列では、登録者が個人(コード 1) か、パートナーシップ/法人/共同所有者/政府機関/LLC/非市民の 団体(コード 2,3,4,5,7,8,9)かを区別します。個人の場合、登録者の NAME 列は個人データです。ミラーには保存されますが(FAA 自身の 公開バルクファイルに含まれています)、type_registrant が 1 または 空欄/不明の場合、faa_reg_lookup が返すことは決してありません。 返されるのは個人以外の登録者名のみで、レスポンスにはどちらのケースに 該当するかが記載されます。

(過去の登録抹消を記録した)DEREG.txt には登録者の種類を示す列が 一切ありません。そのファイルだけでは個人と団体を見分ける方法が ないため、実際の登録者の種別にかかわらず、faa_reg_lookup は登録抹消 済みのレコードについて登録者名を返すことはありません。

登録抹消の繰り返し

N ナンバーは登録抹消後に再割り当てされ、再び登録抹消されることが あります。実際のファイルで確認された最悪のケースでは、2026-10-08時点で 1つの N ナンバーに9件のイベントがありました。しかし、ミラーの登録抹消 テーブルは N ナンバーのみをキーとするため、最も新しいイベント (抹消日による)のみが保持されます (scripts/lib/faa-dereg-dedupe.mjs)。登録抹消に関する各レスポンスには、 1つにまとめられた過去のイベント数を示す dereg_events と、その数が 1より大きい場合の note が含まれます。そのため、表示されたイベントが 記録上唯一のイベントであるかのような誤解を招くことはありません。

コードテーブル

type_registrant、type_aircraft、type_engine、および耐空性クラス (CERTIFICATION)は、FAA 独自の、長年にわたって広く公開されている コードセットです。src/index.ts でデコードされ、生コードも常にラベルと 併記されます。status_code のテーブルは、一般的なコード (A/D/E/M/R/S/V/W/Z)を対象とした、より小規模でベストエフォートの デコードです。これは FAA 独自の ardata.pdf レイアウト文書の公開検索 スニペットを情報源としています。この文書は試したすべての送信経路で 403 を返しましたが、データ ZIP とは異なり、1つの参考文書のために 経路を迂回する価値はありませんでした。一般的でないコードや将来追加 されるコードは、推測したラベルではなく、生の値と null のラベルが 返されます。

クイックスタート

MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。

{
  "mcpServers": {
    "faa-aircraft-registry": {
      "url": "https://gateway.pipeworx.io/faa-aircraft-registry/mcp"
    }
  }
}
このエンドポイントが実際に提供するもの

https://gateway.pipeworx.io/faa-aircraft-registry/mcp の tools/list は、 上の表にあるツールに加えて、共有 Pipeworx メタツール(ask_pipeworx、 discover_tools、search_within、remember/recall など、ゲートウェイ 全体で使える一連のツール)を返します。そのため、表示されるツール数は この表より多くなります。現在、単一パックのエンドポイントには、パック 固有のツールに加えて、共有ツールが約30個表示されます。接続の initialize レスポンスに正確なスコープが記載されており、その日の状態を 確認するうえでの正式な情報源となります。

これは意図的なものであり、偶然の多重化ではありません。メタツールを 使うと、このパックが対応していない質問にも、カタログ全体を横断して ルーティングする ask_pipeworx を通じて回答できます。MCP サーバーを 2つ目に追加する必要はありません。現在、メタツールを含めずにパックの エンドポイントをマウントする方法はありません。追加のスキーマによる コンテキスト消費がルーティングの利便性に見合わない場合は、複数の パックエンドポイントではなく、フルゲートウェイに一度接続してください。

または、Pipeworx のフルゲートウェイに接続すると、このパックだけでは なく、すべてのパックのツールが直接一覧表示されます。

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

どちらの URL も同じゲートウェイと同じ1879以上のデータソースに接続します。 違いは、どのパックのツールが直接一覧表示されるかだけです。 ask_pipeworx を使えば、どちらからでもすべてのツールを利用できます。

MCP クライアントがない場合:HTTP 経由で呼び出す

curl -X POST https://gateway.pipeworx.io/v1/tools/faa_reg_lookup \
  -H 'Content-Type: application/json' \
  -d '{"n_number":"N10000"}'

最初の呼び出しにアカウントは必要ありません。任意のツールを確認できます:GET https://gateway.pipeworx.io/v1/tools/faa_reg_lookup。ツールを検索するには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を呼び出します。

スタンドアロン(ゲートウェイアカウント不要)

このパッケージはローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイとの往復通信も不要です:

{
  "mcpServers": {
    "faa-aircraft-registry": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-faa-aircraft-registry"]
    }
  }
}

または、直接実行して起動することを確認できます:

npx -y @pipeworx/mcp-faa-aircraft-registry

stdin/stdout 経由で MCP を使用し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。

ask_pipeworx の使用

ツールを直接呼び出す代わりに、平易な英語で質問できます。これは上記のパックのエンドポイントと、ゲートウェイ全体の両方で機能します:

ask_pipeworx({ question: "your question about Faa Aircraft Registry data" })

ゲートウェイが適切なツールを選び、引数を自動的に入力します。

詳細

ライセンス

MIT

コメント

MCP は初めてですか?

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

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