airflow について
@us-all/airflow-mcpは、REST API経由でAirflow 3.xを操作するMCPサーバーです。DAG、実行、タスク、ログの読み取りを中心とし、書き込み操作には環境変数による明示的な許可が必要です。
主な機能
- 01DAGと最近の実行履歴の一覧
- 02タスクインスタンスとログの確認
- 03DAGの健全性指標の集計
- 04書き込み許可付きの実行開始とタスク解除
- 05JWT認証とトークン更新
活用シーン
- 01失敗したDAG実行の調査
- 02DAGの成功率と所要時間の確認
- 03書き込み許可後の実行開始やタスク再実行
MCP 対応
Airflow REST APIの操作をMCPツールとして公開し、DAGのトリアージ用プロンプトを2つ備えます。標準はstdioで、Streamable HTTPにも切り替えられます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @us-all/airflow-mcpAIRFLOW_API_URLAirflow host base, e.g. 'http://airflow.example.com:8080'. Server prepends /api/v2 internally; trailing /api/v1 or /api/v2 is stripped if supplied.AIRFLOW_USERNAMEAirflow username (used to mint a JWT via SimpleAuthManager /auth/token).AIRFLOW_PASSWORDシークレットAirflow password (used to mint a JWT via SimpleAuthManager /auth/token).AIRFLOW_ALLOW_WRITESet to 'true' to enable trigger-dag and clear-task tools. Default read-only.AIRFLOW_TOOLSComma-separated category allowlist (airflow,meta).AIRFLOW_DISABLEComma-separated category disablelist.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
17掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| tag | string | いいえ | このタグを持つ DAG に絞り込みます |
| limit | integer | いいえ | |
| search | string | いいえ | dag_id の部分文字列で照合します(大文字と小文字を区別しません) |
| onlyActive | boolean | いいえ | 一時停止中の DAG を除外します(Airflow 3.x:is_paused=false) |
| extractFields | string | いいえ | レスポンスから抽出して投影するフィールドのカンマ区切りドットパス(例:'id,name,owner.name,columns.*.name')。配列/オブジェクトのワイルドカードとして `*` を使用します。ドットを含むフィールド名はバッククォートで囲みます。大きなエンティティでレスポンスのトークン数を大幅に削減します。 |
詳細
@us-all/airflow-mcp
Airflow MCP サーバー — DAG、実行、タスクインスタンス、ログ末尾を読み取り、実行のトリガーとクリアを行います(書き込みは制限付き)。
@us-all/mcp-toolkitを基盤に構築されています。
Airflow 3.x REST API(/api/v2)に特化した MCP です。デフォルトでは読み取り専用で、airflow-trigger-dag と airflow-clear-task は AIRFLOW_ALLOW_WRITE=true の場合にのみ使用できます。認証には SimpleAuthManager 経由の JWT を使用します。AIRFLOW_USERNAME と AIRFLOW_PASSWORD を指定すると、サーバーが透過的にトークンを発行・更新します。
より深い dbt 連携(manifest の解析、run-results の履歴、ソースの鮮度、列ごとのテストカバレッジ、リネージの追跡、カスタム DQ 結果テーブル)には、コンパニオンの @us-all/dbt-mcp も併せてインストールしてください。
airflowとmetaカテゴリーに7つのツール- DAG のトリアージワークフロー用に2つの MCP プロンプト
- 実行一覧の取得からタスクインスタンス取得までの一連の処理を置き換える集約ツールが1つ
インストール
pnpm add -D @us-all/airflow-mcp
実行
AIRFLOW_API_URL=http://airflow.example.com:8080 \
AIRFLOW_USERNAME=admin AIRFLOW_PASSWORD=... \
npx @us-all/airflow-mcp
ホストのベース URL のみを渡してください。サーバーが内部で /api/v2 を付加します。末尾に /api/v1 または /api/v2 が指定されている場合は削除されます。JWT トークンはセッション中キャッシュされ、有効期限の1分前に更新されます。
サーバーは MCP stdio で通信します。Claude Desktop、Cursor など、任意の MCP クライアントに接続してください。Streamable HTTP トランスポートを使用するには、MCP_TRANSPORT=http を設定します(Bearer 認証、/health エンドポイント)。
ツール
airflow(6 + 集約1)
| ツール | 説明 |
|---|---|
airflow-list-dags | タグ/検索フィルターを使ってアクティブな DAG を一覧表示 |
airflow-list-runs | 1つの DAG の最近の実行を一覧表示(状態フィルター、新しい順) |
airflow-get-task-instances | 特定の DAG 実行のタスクインスタンスを取得 |
airflow-get-task-logs | 1つのタスクインスタンスのログ末尾(最後の N kB)を取得 |
airflow-trigger-dag | 新しい実行をトリガー(書き込みは制限付き) |
airflow-clear-task | 特定のタスクインスタンスをクリアして再実行(書き込みは制限付き) |
dag-health-rollup | DAG の状態を集約:成功率、平均実行時間、最後に失敗した実行、失敗タスク |
meta
search-tools — 自然言語によるツール検索。
プロンプト
| プロンプト | 使用する場面 |
|---|---|
dag-failure-triage | 「DAG X が失敗した理由は?」— 実行を取得し、失敗を特定して、ログを出力し、対処方法を提案します |
dag-schedule-audit | 「すべての DAG を調べ、成功率が低いものと停止している実行を確認する」 |
環境変数
| 環境変数 | 必須 | 備考 |
|---|---|---|
AIRFLOW_API_URL | はい | Airflow ホストのベース URL。例:http://airflow.example.com:8080。末尾に /api/v1 または /api/v2 がある場合は削除されます |
AIRFLOW_USERNAME | はい | SimpleAuthManager の /auth/token 経由で JWT を発行するためのユーザー名 |
AIRFLOW_PASSWORD | はい | JWT 発行用のパスワード(シークレット) |
AIRFLOW_ALLOW_WRITE | いいえ | true にすると airflow-trigger-dag/airflow-clear-task が有効になります |
AIRFLOW_TOOLS / AIRFLOW_DISABLE | いいえ | カテゴリーの切り替え |
テスト済みスキーマ
- Airflow 3.0~3.2
/api/v2(3.2.1 で検証済み。2026-05 時点の Airflow 最新リリース)。Airflow 2.x は、Basic 認証と/api/v1が削除されたため、v0.2 以降ではサポートされていません。Airflow 2.x のデプロイでは@us-all/[email protected]に固定してください。
コンパニオンサーバー
dbt アーティファクトの解析、run-results の履歴、DQ 結果テーブルには、@us-all/dbt-mcp も併せてインストールしてください。
ビルド
pnpm install
pnpm run build # tsc → dist/
pnpm test # vitest
pnpm run smoke # spawns dist/index.js, calls initialize + tools/list (set env first)
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。