Aviation Weather MCP Server

by finack
Verified
MIT License
  • Apple

Integrations

  • Uses the official Aviation Weather API Swagger definition to generate a type-safe API client that ensures proper typing and formatting for API calls.

航空気象MCPサーバー

これは、飛行計画のための航空気象情報を提供するモデルコンテキストプロトコル(MCP)サーバーです。Aviation Weather APIに接続して、METAR、TAF、PIREPなどのデータを取得します。

免責事項

このツールを飛行計画や飛行中の意思決定に使用しないでください。

重要な免責事項:このAviation Weather MCPサーバーは、aviationweather.govから取得した気象データを情報提供のみを目的として提供しています。このツールによって提供される情報は、飛行計画や飛行中の意思決定の唯一の情報源として使用しないでください。

気象データは不完全、遅延、または不正確である可能性があります。さらに、このデータを解釈する大規模言語モデルは、重要な情報を誤解したり、不正確に表現したりする可能性があります。飛行前には必ず公式の航空気象情報源を参照し、認定機関から適切な気象情報を入手してください。

このツールはFAAの承認を受けておらず、認定気象サービスの代替となるものではなく、あくまでも補助的な参考資料としてご利用ください。開発者は、このツールによって提供される情報に基づいて行われた決定について一切の責任を負いません。

重要な気象情報は必ず公式チャンネルを通じて確認してください。

特徴

  • 公式のAviation Weather API Swagger定義から自動的に生成された型安全なAPIクライアント
  • 気象データ用のMCPツール:
    • get-metar : 現在の気象観測情報を取得する
    • get-taf : ターミナル空港の予報を取得する
    • get-pireps : 空港付近のパイロットレポートを取得する
    • get-route-weather : 2つの空港間のルートの総合的な天気を取得します

設定

前提条件

  • Node.js 18以上
  • npmまたはyarn
  • curl (Swagger YAML を取得するため)

インストール

  1. このリポジトリをクローンします:
    git clone https://github.com/yourusername/aviation-weather-mcp-server.git cd aviation-weather-mcp-server
  2. 依存関係をインストールします:
    npm install
  3. サーバーをビルドします (これにより、最新の Swagger 定義が取得され、API クライアントが生成され、TypeScript がコンパイルされます)。
    npm run build
  4. サーバーを起動します。
    npm start

Claude for Desktop と併用

このサーバーをClaude for Desktopで使用するには:

  1. Claude for Desktop 構成ファイルを編集します。
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. サーバーを構成に追加します。
    { "mcpServers": { "aviation-weather": { "command": "node", "args": [ "/absolute/path/to/aviation-weather-mcp-server/build/index.js" ] } } }
  3. デスクトップ版のClaudeを再起動

クエリの例

Claude に接続すると、次のような質問をすることができます。

  • 「KJFKの現在の天気はどうですか?」
  • 「KORD で使用できる TAF はありますか?」
  • 「明日、KBOSからKPHLへ飛ぶ予定です。天気はどうですか?」
  • 「KDEN の近くに PIREP はありますか?」

発達

プロジェクト構造

  • src/index.ts : メインサーバーコード
  • packages/aviation-weath-api : Aviation Weather .gov の自動生成 API クライアント

航空気象クライアントの構築

ビルド プロセスは次の手順に従います。

  1. npm run aviation-weather-api:clean : 既存のクライアントを削除します
  2. npm run aviation-weather-api:fetch : aviationweather.gov から最新の Swagger 定義を取得します。
  3. npm run aviation-weather-api:generate : Swagger定義から型付きTypeScriptクライアントを生成します。

アプリの構築と実行

  1. npm run build : JavaScriptクライアントをビルドする
  2. npm run start : MCPサーバーを実行する

ツールの追加

サーバーに新しいツールを追加するには、次のパターンに従います。

server.tool( "tool-name", { // Zod schema for parameters param1: z.string().describe("Parameter description"), param2: z.number().optional().describe("Optional parameter") }, async ({ param1, param2 }) => { try { // Implementation return { content: [{ type: "text", text: "Response text" }] }; } catch (error) { return { content: [{ type: "text", text: `Error: ${error.message}` }], isError: true }; } } );

仕組み

  1. サーバーはaviationweather.govから最新のSwagger定義を取得します。
  2. OpenAPIジェネレーターはこの定義から型安全なクライアントを作成します
  3. サーバーはこのクライアントを使用して、適切な型でAPI呼び出しを実行します。
  4. エラー処理とレスポンスのフォーマットによりスムーズなエクスペリエンスが保証されます

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

モデル コンテキスト プロトコル サーバーを通じて航空気象情報を提供します。これにより、METAR、TAF、PIREP、およびルート気象データに情報提供のみを目的としてアクセスできるようになります。

  1. DISCLAIMER
    1. Features
      1. Setup
        1. Prerequisites
        2. Installation
      2. Using with Claude for Desktop
        1. Example Queries
          1. Development
            1. Project Structure
            2. Building the aviation weather client
            3. Building and running the app
            4. Adding More Tools
          2. How It Works
            1. License
              ID: wg6s54fuab