Airflow MCP Server
by us-allio.github.us-all/airflowv1.4.1
Airflow REST API: list DAGs, runs and task instances, tail logs and roll up DAG health. Read-only by default; trigger and clear are write-gated.
context tax
queued
security
queued
cold start
queued
freshness
Slowing3mo ago
Install Airflow MCP server
Install in Claude Code
claude mcp add airflow -e AIRFLOW_API_URL='<airflow-api-url>' -e AIRFLOW_USERNAME='<airflow-username>' -e AIRFLOW_PASSWORD='<airflow-password>' -- npx -y @us-all/airflow-mcpInstall in Cursor
{
"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>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"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>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"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>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"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>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| AIRFLOW_API_URL | yes | — | Airflow host base, e.g. 'http://airflow.example.com:8080'. Server prepends /api/v2 internally; trailing /api/v1 or /api/v2 is stripped if supplied. |
| AIRFLOW_USERNAME | yes | — | Airflow username (used to mint a JWT via SimpleAuthManager /auth/token). |
| AIRFLOW_PASSWORD | yes | yes | Airflow password (used to mint a JWT via SimpleAuthManager /auth/token). |
| AIRFLOW_ALLOW_WRITE | — | — | Set to 'true' to enable trigger-dag and clear-task tools. Default read-only. |
| AIRFLOW_TOOLS | — | — | Comma-separated category allowlist (airflow,meta). |
| AIRFLOW_DISABLE | — | — | Comma-separated category disablelist. |
Freshness
Slowing — last maintenance signal 3mo ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-07-10 · 3mo ago · GitHub
Latest release
2026-06-19 · 4mo ago · GitHub · v1.4.1
Package published
no data · npm/PyPI
Registry entry updated
2026-06-19 · 4mo ago · official registry · v1.4.1
FAQ
›How do I install the Airflow MCP server in Claude Code?
Run: claude mcp add airflow -e AIRFLOW_API_URL='<airflow-api-url>' -e AIRFLOW_USERNAME='<airflow-username>' -e AIRFLOW_PASSWORD='<airflow-password>' -- npx -y @us-all/airflow-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Airflow require an API key?
Yes. It expects AIRFLOW_API_URL, AIRFLOW_USERNAME, AIRFLOW_PASSWORD, of which 1 is a secret.
›Can I use Airflow as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Airflow in the official MCP registry?
Yes, as io.github.us-all/airflow.
Alternatives to Airflow
Other monitoring & observability MCP servers.