Airflow MCP server — DAG list, runs, task instances, log tails, trigger and clear over the Airflow REST API
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add airflow --env AIRFLOW_API_URL='<AIRFLOW_API_URL>' --env AIRFLOW_USERNAME='<AIRFLOW_USERNAME>' --env AIRFLOW_PASSWORD='<AIRFLOW_PASSWORD>' -- npx -y @us-all/airflow-mcp~/.codex/config.toml
[mcp_servers.airflow]
command = "npx"
args = ["-y", "@us-all/airflow-mcp"]
env = { AIRFLOW_API_URL = "<AIRFLOW_API_URL>", AIRFLOW_USERNAME = "<AIRFLOW_USERNAME>", AIRFLOW_PASSWORD = "<AIRFLOW_PASSWORD>" }
# codex mcp add airflow --env AIRFLOW_API_URL='<AIRFLOW_API_URL>' --env AIRFLOW_USERNAME='<AIRFLOW_USERNAME>' --env AIRFLOW_PASSWORD='<AIRFLOW_PASSWORD>' -- npx -y @us-all/airflow-mcp~/.cursor/mcp.json
{
"mcpServers": {
"airflow": {
"command": "npx",
"args": [
"-y",
"@us-all/airflow-mcp"
],
"env": {
"AIRFLOW_API_URL": "<AIRFLOW_API_URL>",
"AIRFLOW_USERNAME": "<AIRFLOW_USERNAME>",
"AIRFLOW_PASSWORD": "<AIRFLOW_PASSWORD>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"airflow": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@us-all/airflow-mcp"
],
"env": {
"AIRFLOW_API_URL": "<AIRFLOW_API_URL>",
"AIRFLOW_USERNAME": "<AIRFLOW_USERNAME>",
"AIRFLOW_PASSWORD": "<AIRFLOW_PASSWORD>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"airflow": {
"command": "npx",
"args": [
"-y",
"@us-all/airflow-mcp"
],
"env": {
"AIRFLOW_API_URL": "<AIRFLOW_API_URL>",
"AIRFLOW_USERNAME": "<AIRFLOW_USERNAME>",
"AIRFLOW_PASSWORD": "<AIRFLOW_PASSWORD>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"airflow": {
"command": "npx",
"args": [
"-y",
"@us-all/airflow-mcp"
],
"env": {
"AIRFLOW_API_URL": "<AIRFLOW_API_URL>",
"AIRFLOW_USERNAME": "<AIRFLOW_USERNAME>",
"AIRFLOW_PASSWORD": "<AIRFLOW_PASSWORD>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"airflow": {
"command": "npx",
"args": [
"-y",
"@us-all/airflow-mcp"
],
"env": {
"AIRFLOW_API_URL": "<AIRFLOW_API_URL>",
"AIRFLOW_USERNAME": "<AIRFLOW_USERNAME>",
"AIRFLOW_PASSWORD": "<AIRFLOW_PASSWORD>"
}
}
}
}Environment variables
AIRFLOW_API_URLAIRFLOW_USERNAMEAIRFLOW_PASSWORD
Replace the placeholders with your own credentials and keep them out of version control.