Are you the author? Sign in to claim
Airflow MCP server — DAG list, runs, task instances, log tails, trigger and clear over the Airflow REST API
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.
airflow + meta categoriespnpm add -D @us-all/airflow-mcp
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).
airflow (6 + 1 aggregation)| Tool | Description |
|---|---|
airflow-list-dags | List active DAGs with tag/search filters |
airflow-list-runs | Recent runs of one DAG (state filter, ordered newest first) |
airflow-get-task-instances | Task instances for a specific DAG run |
airflow-get-task-logs | Tail (last N kB) of one task instance log |
airflow-trigger-dag | Trigger a new run (write-gated) |
airflow-clear-task | Clear specific task instances → re-run (write-gated) |
dag-health-rollup | Aggregated DAG health: success rate + avg duration + last failed run + failing tasks |
metasearch-tools — natural-language tool discovery.
| Prompt | Use 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" |
| Env | Required | Notes |
|---|---|---|
AIRFLOW_API_URL | yes | Airflow host base, e.g. http://airflow.example.com:8080. Trailing /api/v1 or /api/v2 is stripped if present |
AIRFLOW_USERNAME | yes | Username for JWT minting via SimpleAuthManager /auth/token |
AIRFLOW_PASSWORD | yes | Password for JWT minting (secret) |
AIRFLOW_ALLOW_WRITE | no | true enables airflow-trigger-dag / airflow-clear-task |
AIRFLOW_TOOLS / AIRFLOW_DISABLE | no | Category toggles |
/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/airflow-mcp@0.1.0 for Airflow 2.x deployments.For dbt artifact parsing, run-results history, and DQ result tables, install @us-all/dbt-mcp alongside.
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 — see LICENSE.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows