Connects to Apache Airflow through its official Python client to manage DAGs, runs and check system health.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add apache-airflow --env AIRFLOW_HOST='<AIRFLOW_HOST>' --env AIRFLOW_PASSWORD='<AIRFLOW_PASSWORD>' --env AIRFLOW_USERNAME='<AIRFLOW_USERNAME>' -- python -m src.main~/.codex/config.toml
[mcp_servers.apache-airflow]
command = "python"
args = ["-m", "src.main"]
env = { AIRFLOW_HOST = "<AIRFLOW_HOST>", AIRFLOW_PASSWORD = "<AIRFLOW_PASSWORD>", AIRFLOW_USERNAME = "<AIRFLOW_USERNAME>" }
# codex mcp add apache-airflow --env AIRFLOW_HOST='<AIRFLOW_HOST>' --env AIRFLOW_PASSWORD='<AIRFLOW_PASSWORD>' --env AIRFLOW_USERNAME='<AIRFLOW_USERNAME>' -- python -m src.main~/.cursor/mcp.json
{
"mcpServers": {
"apache-airflow": {
"command": "python",
"args": [
"-m",
"src.main"
],
"env": {
"AIRFLOW_HOST": "<AIRFLOW_HOST>",
"AIRFLOW_PASSWORD": "<AIRFLOW_PASSWORD>",
"AIRFLOW_USERNAME": "<AIRFLOW_USERNAME>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"apache-airflow": {
"type": "stdio",
"command": "python",
"args": [
"-m",
"src.main"
],
"env": {
"AIRFLOW_HOST": "<AIRFLOW_HOST>",
"AIRFLOW_PASSWORD": "<AIRFLOW_PASSWORD>",
"AIRFLOW_USERNAME": "<AIRFLOW_USERNAME>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"apache-airflow": {
"command": "python",
"args": [
"-m",
"src.main"
],
"env": {
"AIRFLOW_HOST": "<AIRFLOW_HOST>",
"AIRFLOW_PASSWORD": "<AIRFLOW_PASSWORD>",
"AIRFLOW_USERNAME": "<AIRFLOW_USERNAME>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"apache-airflow": {
"command": "python",
"args": [
"-m",
"src.main"
],
"env": {
"AIRFLOW_HOST": "<AIRFLOW_HOST>",
"AIRFLOW_PASSWORD": "<AIRFLOW_PASSWORD>",
"AIRFLOW_USERNAME": "<AIRFLOW_USERNAME>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"apache-airflow": {
"command": "python",
"args": [
"-m",
"src.main"
],
"env": {
"AIRFLOW_HOST": "<AIRFLOW_HOST>",
"AIRFLOW_PASSWORD": "<AIRFLOW_PASSWORD>",
"AIRFLOW_USERNAME": "<AIRFLOW_USERNAME>"
}
}
}
}Environment variables
AIRFLOW_HOSTAIRFLOW_PASSWORDAIRFLOW_USERNAME
Replace the placeholders with your own credentials and keep them out of version control.