mcpField
A
airflow-mcp-server: An MCP Server for controlling Airflow

airflow-mcp-server: An MCP Server for controlling Airflow

ローカル
pypi.orgデータ・分析3354 週間前に更新

airflow-mcp-server: An MCP Server for controlling Airflow について

airflow-mcp-server は、API を通じて Apache Airflow 3 を操作する MCP サーバーです。AI アシスタントから Airflow インスタンスを確認または管理したい場合に利用します。読み取り専用のセーフモードも用意されています。

主な機能

  1. 01API による Airflow 3 の操作
  2. 02--safe モードで読み取り専用の操作に制限
  3. 03stdio と HTTP トランスポートに対応
  4. 04ローカルの Markdown ファイルを読み取り専用リソースとして公開

活用シーン

  1. 01アシスタントによる DAG とタスク状態の読み取り専用の確認
  2. 02制限付きモードでの Airflow インスタンスの点検
  3. 03エージェントへのローカルドキュメントの提供

MCP 対応

MCP サーバーとして動作し、Airflow 関連のツールを MCP クライアントに提供します。ローカルの Markdown ファイルを読み取り専用の MCP リソースとして公開することもできます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"airflow": {
"command": "uvx",
"args": [
"airflow-mcp-server"
],
"env": {
"AIRFLOW_BASE_URL": "<AIRFLOW_BASE_URL>",
"AUTH_TOKEN": "<AUTH_TOKEN>"
}
}
}
}
起動コマンドuvx airflow-mcp-server
設定が必要な環境変数
AIRFLOW_BASE_URLThe base URL for the Airflow API (e.g., http://localhost:8080)
AUTH_TOKENシークレットThe JWT authentication token for Airflow API access

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

パッケージ
pypiairflow-mcp-server0.9.0
pypiairflow-mcp-server0.8.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

airflow-mcp-server:Airflow 3 を操作する MCP サーバー

mcp-name: io.github.abhishekbhakat/airflow-mcp-server

MCPHub 認定

この MCP サーバーは MCPHub による認定を受けています。この認定により、airflow-mcp-server が Model Context Protocol の実装に関するベストプラクティスに従っていることが保証されます。

Glama で見つける
README の画像

概要

Airflow API を介して Airflow を操作するための Model Context Protocol サーバーです。

デモ動画

https://github.com/user-attachments/assets/f3e60fff-8680-4dd9-b08e-fa7db655a705

セットアップ

Claude Desktop での使用
Stdio トランスポート(デフォルト)
{
    "mcpServers": {
        "airflow-mcp-server": {
            "command": "uvx",
            "args": [
                "airflow-mcp-server",
                "--base-url",
                "http://localhost:8080",
                "--auth-token",
                "<jwt_token>"
            ]
        }
    }
}

一般的な MCP クライアントでの IDE ごとの設定例については、CONFIG.md を参照してください。

HTTP トランスポート
{
    "mcpServers": {
        "airflow-mcp-server-http": {
            "command": "uvx",
            "args": [
                "airflow-mcp-server",
                "--http",
                "--port",
                "3000",
                "--base-url",
                "http://localhost:8080",
                "--auth-token",
                "<jwt_token>"
            ]
        }
    }
}

注:

  • base_url には Airflow のルート URL(例:http://localhost:8080)を設定してください。
  • ベース URL に /api/v2 を含めないでください。サーバーは ${base_url}/openapi.json から OpenAPI 仕様を自動的に取得します。
  • 認証に必要なのは JWT トークンのみです。Airflow 3.0 では Cookie 認証とベーシック認証はサポートされなくなりました。
トランスポートのオプション

サーバーは複数のトランスポートプロトコルをサポートしています。

Stdio トランスポート(デフォルト)

プロセス間で直接通信するための標準入出力トランスポートです。

airflow-mcp-server --safe --base-url http://localhost:8080 --auth-token <jwt>
HTTP トランスポート

拡張性とウェブ互換性を高めるために、Streamable HTTP を使用します。

airflow-mcp-server --safe --http --port 3000 --base-url http://localhost:8080 --auth-token <jwt>

注: SSE トランスポートは非推奨です。双方向通信に優れ、FastMCP が推奨する方式であるため、新しいデプロイでは --http を使用してください。

動作モード

サーバーは 2 つの動作モードをサポートしています。

  • セーフモード(--safe):読み取り専用の操作(GET リクエスト)のみを許可します。Airflow インスタンスへの変更を防ぎたい場合に便利です。
  • アンセーフモード(--unsafe):変更を含むすべての操作を許可します。デフォルトのモードです。

セーフモードで起動するには:

airflow-mcp-server --safe

アンセーフモードで明示的に起動するには(デフォルトのモードですが):

airflow-mcp-server --unsafe
ツールの検出モード

サーバーは 2 種類のツール検出方法をサポートしています。

  • 階層型検出(デフォルト):ツールはカテゴリー(DAG、タスク、接続など)ごとに整理されます。まずカテゴリーを参照し、次に特定のツールを選択します。大規模な API でも管理しやすくなります。
  • 静的ツール(--static-tools):すべてのツールをすぐに利用できます。プログラムからのアクセスに適していますが、数が多く圧倒される場合があります。

静的ツールを使用するには:

airflow-mcp-server --static-tools
コマンドラインオプション
Usage: airflow-mcp-server [OPTIONS]

  MCP server for Airflow

Options:
  -v, --verbose      Increase verbosity
  -s, --safe         Use only read-only tools
  -u, --unsafe       Use all tools (default)
  --static-tools     Use static tools instead of hierarchical discovery
  --base-url TEXT    Airflow API base URL
  --auth-token TEXT  Authentication token (JWT)
  --http             Use HTTP (Streamable HTTP) transport instead of stdio
  --sse              Use Server-Sent Events transport (deprecated, use --http
                     instead)
  --port INTEGER     Port to run HTTP/SSE server on (default: 3000)
  --host TEXT        Host to bind HTTP/SSE server to (default: localhost)
  --help             Show this message and exit.
リソースの使用

エージェントがローカルドキュメントを参照できるようにする場合は、Markdown ガイドが格納されたフォルダーをサーバーに指定してください。

airflow-mcp-server --base-url http://localhost:8080 --auth-token <jwt> --resources-dir ~/airflow-resources
  • トップレベルにある .md/.markdown ファイルはすべて、MCP クライアントから参照できる読み取り専用リソース(file:///<slug>)になります。
  • 各ファイルに最初の # Heading がある場合は、それがリソースのタイトルとして使用されます。ない場合は、ファイル名(拡張子を除く)が使用されます。
  • 環境変数で設定する場合は、AIRFLOW_MCP_RESOURCES_DIR=/path/to/docs を設定してください。
  • リソース一覧を更新するには、ディスク上のファイルを更新して、サーバーを再起動してください。
注意事項

認証

  • Airflow 3.0 でサポートされているのは JWT 認証のみです。有効な AUTH_TOKEN を指定する必要があります。

ページ制限

デフォルトは 100 件ですが、airflow.cfg ファイルの [api] セクションにある maximum_page_limit オプションで変更できます。

トランスポートの選択

  • プロセス間で直接通信する場合は stdio トランスポートを使用してください(デフォルト)。
  • ウェブ環境へのデプロイ、複数のクライアントの利用、または拡張性が必要な場合は HTTP トランスポートを使用してください。
  • HTTP トランスポートが推奨されているため、非推奨の SSE トランスポートは使用しないでください。

コメント

MCP は初めてですか?

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

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