An MCP server that connects MCP clients to Apache Airflow deployments so agents can inspect DAG runs, failed tasks, and task logs, and optionally trigger or clear runs. It supports multiple Airflow instances with safety checks, read-only mode, and Airflow 2/3 API compatibility via the generated apache-airflow-client.
From the registry: Diagnose Airflow failures from UI links with bounded logs and optional recovery actions.
$ uv tool install apache-airflow-mcp-server --with 'apache-airflow-client==<your-airflow-version>'https://pypi.org/project/apache-airflow-mcp-server/Please install the `apache-airflow-mcp-server` MCP server into my current AI client (that's you).
Optional prerequisites:
- Install uv — Install the uv Python package/tool runner to install and run the MCP server. Run: `uv tool install apache-airflow-mcp-server --with 'apache-airflow-client==<your-airflow-version>'` (https://pypi.org/project/apache-airflow-mcp-server/)
- Choose and install a matching apache-airflow-client version — Pin the generated apache-airflow-client to match your deployed Airflow version. For Airflow 3, match the client release to your Airflow release. For Airflow 2.11 and other Airflow 2.x versions using the v1 API, use apache-airflow-client==2.10.0.
Canonical MCP server config (stdio transport):
- command: `uvx`
- args: ["--from","apache-airflow-mcp-server","--with","apache-airflow-client==<your-airflow-version>","airflow-mcp","--transport","stdio"]
- required environment variables:
- `AIRFLOW_MCP_HOST`: Airflow base URL. (example: `https://<your-airflow-host>`)
- optional environment variables:
- `AIRFLOW_MCP_USERNAME`: Basic auth username. Required when using basic authentication instead of a bearer token; must be paired with AIRFLOW_MCP_PASSWORD. (example: `<your-airflow-username>`)
- `AIRFLOW_MCP_PASSWORD`: Basic auth password. Required when using basic authentication instead of a bearer token; must be paired with AIRFLOW_MCP_USERNAME. (example: `<your-airflow-password>`)
- `AIRFLOW_MCP_TOKEN`: Bearer/JWT token. Required if not using AIRFLOW_MCP_USERNAME and AIRFLOW_MCP_PASSWORD. (example: `<your-airflow-token>`)
- `AIRFLOW_MCP_API_VERSION`: Airflow API version: v1 for Airflow 2 or v2 for Airflow 3. Defaults to the API family matching the installed apache-airflow-client. (example: `<v1-or-v2>`)
- `AIRFLOW_MCP_VERIFY_SSL`: Whether to verify TLS certificates. Defaults to true. (example: `<true-or-false>`)
- `AIRFLOW_MCP_INSTANCES_FILE`: Path to a YAML registry file for multi-instance configuration. If set, it takes precedence over single-instance environment variables. (example: `<path-to-instances.yaml>`)
- `AIRFLOW_MCP_DEFAULT_INSTANCE`: Default instance key when using a multi-instance registry. (example: `<your-default-instance-key>`)
- `AIRFLOW_MCP_READ_ONLY`: If true, write tools are not registered. Quickstarts use true. (example: `<true-or-false>`)
- `AIRFLOW_MCP_TIMEOUT_SECONDS`: Timeout for Airflow API requests in seconds. (example: `<timeout-seconds>`)
- `AIRFLOW_MCP_TOKEN_REFRESH_SECONDS`: Airflow 3 only: JWT refresh interval for basic-auth instances. (example: `<refresh-seconds>`)
- `AIRFLOW_MCP_LOG_FILE`: Optional log file path. (example: `<path-to-log-file>`)
- `AIRFLOW_MCP_ENABLE_EXTENDED_CLEAR_PARAMS`: Enable extended clear parameters for supported Airflow versions. (example: `<true-or-false>`)
- `AIRFLOW_MCP_HTTP_BLOCK_GET_ON_MCP`: Whether to return 405 for GET /mcp on HTTP deployments. Primarily relevant to HTTP transport. (example: `<true-or-false>`)
Note: Authentication requires either AIRFLOW_MCP_TOKEN or the pair AIRFLOW_MCP_USERNAME and AIRFLOW_MCP_PASSWORD. Prefer pinning apache-airflow-client to your deployed Airflow version. For Airflow 2.x, use apache-airflow-client==2.10.0; for Airflow 3.x, match the client version to the deployed Airflow version.
Add this MCP server to my current client's config in the correct format for you. If you need secrets or credentials I haven't provided, ASK me — do not invent values or leave raw placeholders. After adding it, tell me how to verify the server is connected.AIRFLOW_MCP_HOSTrequiredAirflow base URL.AIRFLOW_MCP_USERNAMErequiredBasic auth username for Airflow, used with AIRFLOW_MCP_PASSWORD unless AIRFLOW_MCP_TOKEN is provided.AIRFLOW_MCP_PASSWORDrequiredBasic auth password for Airflow, used with AIRFLOW_MCP_USERNAME unless AIRFLOW_MCP_TOKEN is provided.AIRFLOW_MCP_TOKENrequiredBearer/JWT token for Airflow, used instead of basic auth.Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
Persistent codebase knowledge graph. Survives session restarts and context compaction.
Validate oh-my-posh configurations and segment snippets against the official schema.