Airflow

io.github.us-all由 GitHub 帳號 us-all 發布v1.4.1更新於 Oct 25, 2026

Airflow MCP — list DAGs/runs/task instances, tail logs, trigger and clear (write-gated)

概覽

AI 產生的概覽

針對 Apache Airflow 3.x 的 MCP 伺服器,讓助理列出 DAG、執行紀錄與任務實例、查看日誌,並可選擇觸發或清除任務。

可以做什麼
依標籤與搜尋條件列出作用中的 DAG,並依狀態篩選、由新到舊列出某個 DAG 的近期執行。取得指定 DAG 執行的任務實例,並查看某個任務實例日誌的最後數千位元組。取得彙總的 DAG 健康狀態,包括成功率、平均時長、最近失敗執行與失敗任務。啟用寫入後可觸發新的 DAG 執行並清除任務實例使其重跑。支援自然語言工具探索,並提供 DAG 失敗排查與排程稽核的內建提示詞。
適用情境
適合維運 Airflow 管線、希望助理在不開啟 Airflow 介面的情況下檢查 DAG 狀態、依日誌診斷失敗或查看各 DAG 成功率的場景。若需要在聊天用戶端中偶爾觸發或清除任務,可在明確啟用寫入後加入。
執行需求
透過 npm 套件以本機 Node.js 程序執行。需要 AIRFLOW_API_URL(僅主機位址)、AIRFLOW_USERNAME 與 AIRFLOW_PASSWORD 以透過 SimpleAuthManager 取得 JWT,並需要連線至 Airflow 執行個體的網路。針對 Airflow 3.x 的 /api/v2;Airflow 2.x 需固定使用較舊的套件版本。
安裝前請注意
AIRFLOW_PASSWORD 是傳送給 Airflow 主機以取得權杖的機密。設定 AIRFLOW_ALLOW_WRITE=true 會啟用 trigger-dag 與 clear-task,因而啟動與重跑管線工作;僅供讀取使用時請勿設定。清除任務可能導致重複或非預期的執行。此伺服器也可切換為帶 Bearer 驗證的 HTTP 傳輸。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Airflow,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@us-all/airflow-mcp

Airflow MCP server — read DAGs, runs, task instances, log tails; trigger and clear (write-gated). Built on @us-all/mcp-toolkit.

A focused MCP for the Airflow 3.x REST API (/api/v2). Read by default; airflow-trigger-dag and airflow-clear-task are gated behind AIRFLOW_ALLOW_WRITE=true. Auth is JWT via SimpleAuthManager — supply AIRFLOW_USERNAME + AIRFLOW_PASSWORD and the server mints/refreshes the token transparently.

For deeper dbt integration (manifest parsing, run-results history, source freshness, per-column test coverage, lineage walks, custom DQ result tables), install the companion @us-all/dbt-mcp alongside.

  • 7 tools in airflow + meta categories
  • 2 MCP Prompts for DAG triage workflows
  • 1 aggregation tool that replaces the list-runs → get-task-instances combo

Install

bash
pnpm add -D @us-all/airflow-mcp

Run

bash
AIRFLOW_API_URL=http://airflow.example.com:8080 \AIRFLOW_USERNAME=admin AIRFLOW_PASSWORD=... \npx @us-all/airflow-mcp

Pass the host base only — the server prepends /api/v2 internally. A trailing /api/v1 or /api/v2 is stripped if supplied. JWT tokens are cached for the lifetime of the session and refreshed 1 minute before they expire.

The server speaks MCP stdio; wire it into Claude Desktop / Cursor / any MCP client. Set MCP_TRANSPORT=http to opt in to Streamable HTTP transport (Bearer auth, /health endpoint).

Tools

airflow (6 + 1 aggregation)

ToolDescription
airflow-list-dagsList active DAGs with tag/search filters
airflow-list-runsRecent runs of one DAG (state filter, ordered newest first)
airflow-get-task-instancesTask instances for a specific DAG run
airflow-get-task-logsTail (last N kB) of one task instance log
airflow-trigger-dagTrigger a new run (write-gated)
airflow-clear-taskClear specific task instances → re-run (write-gated)
dag-health-rollupAggregated DAG health: success rate + avg duration + last failed run + failing tasks

meta

search-tools — natural-language tool discovery.

Prompts

PromptUse when
dag-failure-triage"Why did DAG X fail?" — pulls runs, isolates failure, dumps logs, proposes remediation
dag-schedule-audit"Sweep all DAGs for low success rate and stuck runs"

Environment variables

EnvRequiredNotes
AIRFLOW_API_URLyesAirflow host base, e.g. http://airflow.example.com:8080. Trailing /api/v1 or /api/v2 is stripped if present
AIRFLOW_USERNAMEyesUsername for JWT minting via SimpleAuthManager /auth/token
AIRFLOW_PASSWORDyesPassword for JWT minting (secret)
AIRFLOW_ALLOW_WRITEnotrue enables airflow-trigger-dag / airflow-clear-task
AIRFLOW_TOOLS / AIRFLOW_DISABLEnoCategory toggles

Tested-against schemas

  • Airflow 3.0–3.2 /api/v2 (verified against 3.2.1, current Airflow release as of 2026-05). Airflow 2.x is not supported by v0.2+ because basic auth + /api/v1 were removed; pin to @us-all/[email protected] for Airflow 2.x deployments.

Companion server

For dbt artifact parsing, run-results history, and DQ result tables, install @us-all/dbt-mcp alongside.

Build

bash
pnpm installpnpm run build      # tsc → dist/pnpm test           # vitestpnpm run smoke      # spawns dist/index.js, calls initialize + tools/list (set env first)

License

MIT — see LICENSE.

來源:README.md,提交 486363a

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.4.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分