io.github.us-all/airflow

Official registry Productivity

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @us-all/airflow-mcp
Claude Code
claude mcp add airflow -e 'AIRFLOW_API_URL=<AIRFLOW_API_URL>' -e 'AIRFLOW_USERNAME=<AIRFLOW_USERNAME>' -e 'AIRFLOW_PASSWORD=<your airflow_password>' -e 'AIRFLOW_ALLOW_WRITE=false' -e 'AIRFLOW_TOOLS=<AIRFLOW_TOOLS>' -e 'AIRFLOW_DISABLE=<AIRFLOW_DISABLE>' -- npx -y @us-all/airflow-mcp@1.4.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "airflow": {
            "command": "npx",
            "args": [
                "-y",
                "@us-all/airflow-mcp@1.4.1"
            ],
            "env": {
                "AIRFLOW_API_URL": "<AIRFLOW_API_URL>",
                "AIRFLOW_USERNAME": "<AIRFLOW_USERNAME>",
                "AIRFLOW_PASSWORD": "<your airflow_password>",
                "AIRFLOW_ALLOW_WRITE": "false",
                "AIRFLOW_TOOLS": "<AIRFLOW_TOOLS>",
                "AIRFLOW_DISABLE": "<AIRFLOW_DISABLE>"
            }
        }
    }
}

Environment variables

  • AIRFLOW_API_URL required Airflow 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_USERNAME required Airflow username (used to mint a JWT via SimpleAuthManager /auth/token).
  • AIRFLOW_PASSWORD required secret Airflow password (used to mint a JWT via SimpleAuthManager /auth/token).
  • AIRFLOW_ALLOW_WRITE Set to 'true' to enable trigger-dag and clear-task tools. Default read-only.
  • AIRFLOW_TOOLS Comma-separated category allowlist (airflow,meta).
  • AIRFLOW_DISABLE Comma-separated category disablelist.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. @us-all/airflow-mcp
  2. Install
  3. Run
  4. Tools
  5. Environment variables
  6. Tested-against schemas
  7. Companion server
  8. Build
  9. License

@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

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

Run

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/airflow-mcp@0.1.0 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

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

License

MIT — see LICENSE.

Frequently asked questions

What is io.github.us-all/airflow?

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

How do I install io.github.us-all/airflow?

It runs on your machine. In Claude Code: claude mcp add airflow -e 'AIRFLOW_API_URL=<AIRFLOW_API_URL>' -e 'AIRFLOW_USERNAME=<AIRFLOW_USERNAME>' -e 'AIRFLOW_PASSWORD=<your airflow_password>' -e 'AIRFLOW_ALLOW_WRITE=false' -e 'AIRFLOW_TOOLS=<AIRFLOW_TOOLS>' -e 'AIRFLOW_DISABLE=<AIRFLOW_DISABLE>' -- npx -y @us-all/airflow-mcp@1.4.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.us-all/airflow need an API key?

Yes. It expects AIRFLOW_API_URL, AIRFLOW_USERNAME, AIRFLOW_PASSWORD, which you set in its configuration.

Is io.github.us-all/airflow open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.us-all/airflow?

It is published by us-all. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.