Command Palette

Search for a command to run...

UnylyUnyly
Browse all

antonio-mello-ai/mcp-airflow

FreeNot checked

Manage Apache Airflow through its REST API — list DAGs, inspect DAG runs and task instances, trigger runs, and check failed-DAG and scheduler/metadatabase healt

GitHubEmbed

About

Manage Apache Airflow through its REST API — list DAGs, inspect DAG runs and task instances, trigger runs, and check failed-DAG and scheduler/metadatabase health. 7 tools, built with FastMCP. Install: uvx mcp-airflow.

README

MCP server that exposes Apache Airflow REST API operations as tools. Built with FastMCP.

Install

# Run directly with uvx (no install needed)
uvx mcp-airflow

# Or install with pip
pip install mcp-airflow

For development:

uv pip install -e ".[dev]"
# or with dependency groups
uv sync --group dev

Configuration

Set these environment variables (or create a .env file from .env.example):

Variable Description Example
AIRFLOW_BASE_URL Airflow REST API base URL. Use /api/v2 for Airflow 3.x or /api/v1 for 2.x http://100.x.x.x:8080/api/v2
AIRFLOW_USERNAME Auth username (JWT on 3.x, basic auth on 2.x) admin
AIRFLOW_PASSWORD Auth password

Authentication

The client picks the auth scheme automatically based on your Airflow version:

  • Airflow 3.x (JWT) — a JWT token is obtained from the /auth/token endpoint using AIRFLOW_USERNAME/AIRFLOW_PASSWORD, sent as a Bearer token, and refreshed automatically. Point AIRFLOW_BASE_URL at /api/v2.
  • Airflow 2.x (basic auth) — if the JWT flow is unavailable, the client falls back to HTTP basic auth with the same username/password. Point AIRFLOW_BASE_URL at /api/v1.

Usage

Run the server:

mcp-airflow

Or add to your MCP client config (e.g., Claude Desktop):

{
  "mcpServers": {
    "airflow": {
      "command": "mcp-airflow",
      "env": {
        "AIRFLOW_BASE_URL": "http://100.x.x.x:8080/api/v2",
        "AIRFLOW_USERNAME": "admin",
        "AIRFLOW_PASSWORD": "your-password"
      }
    }
  }
}

Tools

Tool Description
list_dags List all DAGs with paused/active status
get_dag_runs_today Get all DAG runs from today with status
get_dag_run_status Get the latest run status for a specific DAG
trigger_dag_run Trigger a manual DAG run
get_task_instances Get task instances for a specific DAG run
check_failed_dags Check for failed DAGs in the last 24 hours
check_scheduler_health Check scheduler heartbeat and metadatabase status

Tests

pytest

License

MIT

from github.com/antonio-mello-ai/mcp-airflow

Install antonio-mello-ai/mcp-airflow in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install antonio-mello-ai-mcp-airflow

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add antonio-mello-ai-mcp-airflow -- uvx mcp-airflow

FAQ

Is antonio-mello-ai/mcp-airflow MCP free?

Yes, antonio-mello-ai/mcp-airflow MCP is free — one-click install via Unyly at no cost.

Does antonio-mello-ai/mcp-airflow need an API key?

No, antonio-mello-ai/mcp-airflow runs without API keys or environment variables.

Is antonio-mello-ai/mcp-airflow hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install antonio-mello-ai/mcp-airflow in Claude Desktop, Claude Code or Cursor?

Open antonio-mello-ai/mcp-airflow on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare antonio-mello-ai/mcp-airflow with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All productivity MCPs