The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MCP Airflow listing page.
MCP server that exposes Apache Airflow REST API operations as tools. Built with FastMCP.
For development:
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 |
The client picks the auth scheme automatically based on your Airflow version:
/auth/token endpoint
using AIRFLOW_USERNAME/AIRFLOW_PASSWORD, sent as a Bearer token, and
refreshed automatically. Point AIRFLOW_BASE_URL at /api/v2.AIRFLOW_BASE_URL
at /api/v1.Run the server:
Or add to your MCP client config (e.g., Claude Desktop):
| 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 |
MIT