mcpField
F
FlightAware MCP Server

FlightAware MCP Server

ローカル
github.com/imonroe地図・旅行277 週間前に更新

FlightAware MCP Server について

FlightAware MCP Serverは、MCPクライアントをFlightAware AeroAPIに接続し、航空データを提供します。フライトや空港の運航、航空機情報、空港検索、詳細なフライト追跡に対応します。

主な機能

  1. 01識別子によるフライト検索
  2. 02空港の到着便・出発便の一覧
  3. 03機体番号による航空機情報の取得
  4. 04地域や検索語による空港検索
  5. 05詳細なフライト運航データの取得
  6. 06TCPとWebSocketモード

活用シーン

  1. 01特定のフライト情報を確認
  2. 02空港の到着便や出発便を確認
  3. 03機体番号から航空機を検索
  4. 04地域やキーワードから空港を検索

MCP 対応

FlightAware AeroAPIのフライト、空港、航空機データをMCPツールとして公開します。フライト検索、空港運航、航空機検索、空港検索、フライト詳細を利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"flightaware": {
"command": "npx",
"args": [
"-y",
"flightaware-mcp"
]
}
}
}
起動コマンドnpx -y flightaware-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmflightaware-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)が発生する場合は、次の解決策をお試しください。

  1. タイムアウト値を増やします。

    # With command line
    flightaware-mcp --timeout 60000
    
    # With environment variables
    MCP_REQUEST_TIMEOUT=60000 flightaware-mcp
    
  2. デバッグモードを有効にして、詳細情報を取得します。

    flightaware-mcp --debug
    
  3. ネットワーク接続を確認します。

    • サーバーが安定したインターネット接続を利用できることを確認します
    • 外向きリクエストをブロックするファイアウォールルールがないか確認します
  4. n8nとの連携の場合:

    • タイムアウト値を大きく設定します(60000ms以上)
    • MCPサーバーとn8nが正しく通信できることを確認します
    • TCPモードとWebSocketモード(--mode wsまたは--mode tcp)の両方をお試しください
  5. AeroAPIのレート制限を確認します。

    • FlightAware AeroAPIには、サブスクリプションに基づくレート制限があります
    • 詳細なAPI応答情報を確認するには、デバッグモードを有効にします

ライセンス

MIT

コメント

MCP は初めてですか?

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

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