mcp-airflow
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-airflowFor development:
uv pip install -e ".[dev]"
# or with dependency groups
uv sync --group devConfiguration
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/tokenendpoint usingAIRFLOW_USERNAME/AIRFLOW_PASSWORD, sent as aBearertoken, and refreshed automatically. PointAIRFLOW_BASE_URLat/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_URLat/api/v1.






