FlightAware MCP Server について
FlightAware MCP Serverは、MCPクライアントをFlightAware AeroAPIに接続し、航空データを提供します。フライトや空港の運航、航空機情報、空港検索、詳細なフライト追跡に対応します。
主な機能
- 01識別子によるフライト検索
- 02空港の到着便・出発便の一覧
- 03機体番号による航空機情報の取得
- 04地域や検索語による空港検索
- 05詳細なフライト運航データの取得
- 06TCPとWebSocketモード
活用シーン
- 01特定のフライト情報を確認
- 02空港の到着便や出発便を確認
- 03機体番号から航空機を検索
- 04地域やキーワードから空港を検索
MCP 対応
FlightAware AeroAPIのフライト、空港、航空機データをMCPツールとして公開します。フライト検索、空港運航、航空機検索、空港検索、フライト詳細を利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
FlightAware MCP サーバー
Model Context Protocol(MCP)クライアントをFlightAwareのAeroAPIに接続し、リアルタイムの航空データを提供するブリッジサーバーです。
機能
- フライト情報:特定のフライトのリアルタイム情報を取得します
- 空港の運航状況:空港に到着するフライトや出発するフライトを追跡します
- 航空機の詳細:機体記号を使って航空機情報を取得します
- 空港検索:地域、国、またはカスタムクエリで空港を検索します
- 詳細な追跡:フライト運航の包括的な詳細情報を取得します
- 柔軟なプロトコル対応:TCP接続とWebSocket接続の両方に対応しています
- 簡単な設定:環境変数またはコマンドラインから簡単に設定できます
MCP ツール
このサーバーは、MCPインターフェースを通じて次のツールを提供します。
getFlightByIdent
識別子を使って特定のフライトの情報を取得します。
{
"id": "req123",
"method": "getFlightByIdent",
"params": {
"ident": "AAL100"
}
}
getFlightsForAirport
特定の空港に到着するフライトや、空港から出発するフライトを一覧表示します。
{
"id": "req124",
"method": "getFlightsForAirport",
"params": {
"airport_code": "KJFK",
"arrivals": true,
"departures": true,
"type": "all"
}
}
getAircraftByTail
機体記号を使って特定の航空機の情報を取得します。
{
"id": "req125",
"method": "getAircraftByTail",
"params": {
"tail": "N12345"
}
}
getAirportsByRegion
国、地域、またはカスタムクエリで空港を検索します。
{
"id": "req126",
"method": "getAirportsByRegion",
"params": {
"country": "US",
"region": "CA",
"query": "international"
}
}
getFlightDetails
特定のフライトの詳細情報を取得します。
{
"id": "req127",
"method": "getFlightDetails",
"params": {
"ident": "AAL100"
}
}
設定
AeroAPI キー
このサーバーを使用するには、FlightAware AeroAPIキーが必要です。
- FlightAware AeroAPIでサインアップします
- APIキーを取得するには、FlightAwareの手順に従ってください
インストール
NPX を使用する(インストール不要)
npxで直接実行します。
npx flightaware-mcp --port 8080 --aeroapi-key YOUR_API_KEY
グローバルインストール
グローバルにインストールして、どこからでも実行できます。
npm install -g flightaware-mcp
flightaware-mcp --port 8080 --aeroapi-key YOUR_API_KEY
ローカルインストール
プロジェクトにローカルインストールします。
npm install flightaware-mcp
次に、package.jsonのスクリプトに追加します。
"scripts": {
"start-mcp": "flightaware-mcp --port 8080"
}
コマンドラインオプション
Usage: flightaware-mcp [options]
Options:
-V, --version output the version number
-p, --port <number> Port to listen on (default: "8080")
-k, --aeroapi-key <string> FlightAware AeroAPI key
-m, --mode <string> Server mode (tcp or ws) (default: "tcp")
-t, --timeout <number> Request timeout in milliseconds (default: "30000")
-d, --debug Enable debug mode with verbose logging
-h, --help display help for command
Notes:
- If you experience timeout errors (MCP error -32001), try increasing the timeout value.
- Debug mode will provide detailed logs about requests and timeouts.
- For n8n integrations, set a higher timeout value (60000 or more) if needed.
環境変数
コマンドライン引数の代わりに環境変数を使用できます。
AEROAPI_KEY=your_api_key
MCP_SERVER_PORT=8080
MCP_SERVER_MODE=tcp # or ws for WebSocket
MCP_REQUEST_TIMEOUT=60000 # timeout in milliseconds, increase if experiencing timeouts
DEBUG=true # enable debug mode with verbose logging
LOG_LEVEL=info # log level (error, warn, info, debug)
使用例
MCP クライアントの設定
サーバー設定に対応したMCPクライアントでは、次の設定を使用できます。
{
"mcpServers": {
"flightaware": {
"command": "npx",
"args": [
"-y",
"flightaware-mcp"
],
"env": {
"AEROAPI_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
MCP クライアントのサンプルコード
const net = require('net');
const client = new net.Socket();
client.connect(8080, '127.0.0.1', () => {
console.log('Connected to MCP server');
// Request flight information
const request = {
id: 'req1',
method: 'getFlightByIdent',
params: {
ident: 'UAL123'
}
};
client.write(JSON.stringify(request) + '\n');
});
client.on('data', (data) => {
const response = JSON.parse(data.toString().trim());
console.log('Received response:', response);
client.end();
});
client.on('close', () => {
console.log('Connection closed');
});
同梱クライアントでのテスト
このパッケージには、簡単にテストできるテストクライアントが含まれています。
# First, start the server
npm start
# In another terminal, run the test client
npm run client
開発
ソースからビルドする
# Clone the repository
git clone <repository-url>
cd flightaware-mcp
# Install dependencies
npm install
# Start development server
npm start
テストの実行
npm test
リント
npm run lint
トラブルシューティング
タイムアウトエラー
タイムアウトエラー(MCP error -32001: Request timed out)が発生する場合は、次の解決策をお試しください。
-
タイムアウト値を増やします。
# With command line flightaware-mcp --timeout 60000 # With environment variables MCP_REQUEST_TIMEOUT=60000 flightaware-mcp -
デバッグモードを有効にして、詳細情報を取得します。
flightaware-mcp --debug -
ネットワーク接続を確認します。
- サーバーが安定したインターネット接続を利用できることを確認します
- 外向きリクエストをブロックするファイアウォールルールがないか確認します
-
n8nとの連携の場合:
- タイムアウト値を大きく設定します(60000ms以上)
- MCPサーバーとn8nが正しく通信できることを確認します
- TCPモードとWebSocketモード(
--mode wsまたは--mode tcp)の両方をお試しください
-
AeroAPIのレート制限を確認します。
- FlightAware AeroAPIには、サブスクリプションに基づくレート制限があります
- 詳細なAPI応答情報を確認するには、デバッグモードを有効にします
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。