mcp-server-apache-airflow
Apache Airflow 向けのモデルコンテキストプロトコル (MCP) サーバー実装。MCP クライアントとのシームレスな統合を可能にします。このプロジェクトは、モデルコンテキストプロトコルを介して Apache Airflow と対話するための標準化された方法を提供します。
について
このプロジェクトは、Apache AirflowのREST APIをラップするモデルコンテキストプロトコル( MCP)サーバーを実装し、MCPクライアントが標準化された方法でAirflowとやり取りできるようにします。互換性と保守性を確保するために、公式のApache Airflowクライアントライブラリを使用しています。
機能実装状況
特徴 | APIパス | 状態 |
---|---|---|
DAG管理 | ||
DAGの一覧 | /api/v1/dags | ✅ |
DAGの詳細を取得する | /api/v1/dags/{dag_id} | ✅ |
DAGを一時停止 | /api/v1/dags/{dag_id} | ✅ |
DAG の一時停止を解除 | /api/v1/dags/{dag_id} | ✅ |
DAGを更新 | /api/v1/dags/{dag_id} | ✅ |
DAGを削除 | /api/v1/dags/{dag_id} | ✅ |
DAGソースを取得 | /api/v1/dagSources/{file_token} | ✅ |
複数のDAGをパッチする | /api/v1/dags | ✅ |
DAG ファイルの再解析 | /api/v1/dagSources/{file_token}/reparse | ✅ |
DAGラン | ||
DAG実行の一覧 | /api/v1/dags/{dag_id}/dagRuns | ✅ |
DAG 実行の作成 | /api/v1/dags/{dag_id}/dagRuns | ✅ |
DAG 実行の詳細を取得する | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
DAG 実行の更新 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
DAG実行を削除 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
DAG実行バッチを取得 | /api/v1/dags/~/dagRuns/list | ✅ |
DAGランをクリア | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/clear | ✅ |
DAG実行ノートの設定 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/setNote | ✅ |
アップストリームデータセットイベントを取得する | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents | ✅ |
タスク | ||
DAGタスクの一覧 | /api/v1/dags/{dag_id}/tasks | ✅ |
タスクの詳細を取得 | /api/v1/dags/{dag_id}/tasks/{task_id} | ✅ |
タスクインスタンスの取得 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | ✅ |
タスクインスタンスの一覧表示 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances | ✅ |
タスクインスタンスの更新 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | ✅ |
タスクインスタンスをクリア | /api/v1/dags/{dag_id}/clearTaskInstances | ✅ |
タスクインスタンスの状態を設定する | /api/v1/dags/{dag_id}/updateTaskInstancesState | ✅ |
変数 | ||
リスト変数 | /api/v1/variables | ✅ |
変数を作成 | /api/v1/variables | ✅ |
変数を取得 | /api/v1/variables/{variable_key} | ✅ |
変数の更新 | /api/v1/variables/{variable_key} | ✅ |
変数を削除 | /api/v1/variables/{variable_key} | ✅ |
接続 | ||
接続の一覧 | /api/v1/connections | ✅ |
接続を作成 | /api/v1/connections | ✅ |
接続を取得 | /api/v1/connections/{connection_id} | ✅ |
接続の更新 | /api/v1/connections/{connection_id} | ✅ |
接続を削除 | /api/v1/connections/{connection_id} | ✅ |
テスト接続 | /api/v1/connections/test | ✅ |
プール | ||
リストプール | /api/v1/pools | ✅ |
プールを作成 | /api/v1/pools | ✅ |
プールを取得 | /api/v1/pools/{pool_name} | ✅ |
アップデートプール | /api/v1/pools/{pool_name} | ✅ |
プールを削除 | /api/v1/pools/{pool_name} | ✅ |
Xコム | ||
XComsのリスト | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries | ✅ |
XComエントリーを入手 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key} | ✅ |
データセット | ||
データセットの一覧 | /api/v1/datasets | ✅ |
データセットを取得 | /api/v1/datasets/{uri} | ✅ |
データセットイベントを取得する | /api/v1/datasetEvents | ✅ |
データセットイベントの作成 | /api/v1/datasetEvents | ✅ |
DAG データセットのキューイベントの取得 | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} | ✅ |
DAG データセットのキューイベントを取得する | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents | ✅ |
DAG データセットのキューイベントの削除 | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} | ✅ |
DAG データセットのキューイベントの削除 | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents | ✅ |
データセットのキューイベントを取得する | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents | ✅ |
データセットのキューイベントの削除 | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents | ✅ |
監視 | ||
健康になる | /api/v1/health | ✅ |
DAG統計 | ||
DAG統計を取得 | /api/v1/dags/statistics | ✅ |
設定 | ||
設定を取得 | /api/v1/config | ✅ |
プラグイン | ||
プラグインを入手 | /api/v1/plugins | ✅ |
プロバイダー | ||
リストプロバイダー | /api/v1/providers | ✅ |
イベントログ | ||
イベントログの一覧表示 | /api/v1/eventLogs | ✅ |
イベントログを取得 | /api/v1/eventLogs/{event_log_id} | ✅ |
システム | ||
インポートエラーを取得する | /api/v1/importErrors | ✅ |
インポートエラーの詳細を取得する | /api/v1/importErrors/{import_error_id} | ✅ |
健康状態を取得する | /api/v1/health | ✅ |
バージョンを取得 | /api/v1/version | ✅ |
設定
依存関係
このプロジェクトは、Apache Airflow公式クライアントライブラリ( apache-airflow-client
)に依存しています。このパッケージをインストールすると、自動的にインストールされます。
環境変数
次の環境変数を設定します。
Claude Desktopでの使用
claude_desktop_config.json
に追加します:
uv
を使用した代替構成:
/path/to/mcp-server-apache-airflow
リポジトリのクローンを作成した実際のパスに置き換えます。
APIグループの選択
--apis
フラグを設定することで、使用する API グループを選択できます。
デフォルトではすべての API が使用されます。
許可される値は次のとおりです。
- 設定
- 接続
- ダグ
- ダグルン
- ダグスタッツ
- データセット
- イベントログ
- インポートエラー
- 監視
- プラグイン
- プール
- プロバイダー
- タスクインスタンス
- 変数
- エックスコム
手動実行
サーバーを手動で実行することもできます。
make run
次のオプションを受け入れます:
オプション:
--port
: SSEをリッスンするポート(デフォルト: 8000)--transport
: トランスポートタイプ (stdio/sse、デフォルト: stdio)
または、同じパラメータを受け入れる sse サーバーを直接実行することもできます。
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Apache Airflow MCP サーバーを自動的にインストールするには:
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
MCP クライアントが Apache Airflow の REST API と対話するための標準化された方法を提供し、DAG 管理や Airflow システムの健全性の監視などの操作をサポートします。
Related Resources
Related MCP Servers
- -securityAlicense-qualityAn MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.Last updated -2PythonMIT License
- AsecurityAlicenseAqualityhttps://github.com/abhishekbhakat/airflow-mcp-serverLast updated -8914PythonMIT License
mcp-confluentofficial
AsecurityAlicenseAqualityAn MCP server implementation built to interact with Confluent Kafka and Confluent Cloud REST APIs.Last updated -2412278TypeScriptMIT License- -securityAlicense-qualityA lightweight MCP server that enables agents to interface with Cloudflare's REST API, allowing management of DNS records and other Cloudflare services.Last updated -7TypeScriptMIT License