Apache Airflow MCP Server
by madamakio.github.madamak/apache-airflow-mcp-serverv1.0.2
Diagnose Airflow failures from UI links with bounded logs and optional recovery actions.
context tax
queued
security
queued
cold start
queued
freshness
Maintained3mo ago
Install Apache Airflow MCP server
Install in Claude Code
claude mcp add apache-airflow -e AIRFLOW_MCP_HOST='<airflow-mcp-host>' -e AIRFLOW_MCP_TOKEN='<airflow-mcp-token>' -e AIRFLOW_MCP_PASSWORD='<airflow-mcp-password>' -- uvx apache-airflow-mcp-serverInstall in Cursor
{
"mcpServers": {
"apache-airflow": {
"command": "uvx",
"args": [
"apache-airflow-mcp-server"
],
"env": {
"AIRFLOW_MCP_HOST": "<airflow-mcp-host>",
"AIRFLOW_MCP_TOKEN": "<airflow-mcp-token>",
"AIRFLOW_MCP_PASSWORD": "<airflow-mcp-password>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"apache-airflow": {
"command": "uvx",
"args": [
"apache-airflow-mcp-server"
],
"env": {
"AIRFLOW_MCP_HOST": "<airflow-mcp-host>",
"AIRFLOW_MCP_TOKEN": "<airflow-mcp-token>",
"AIRFLOW_MCP_PASSWORD": "<airflow-mcp-password>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"apache-airflow": {
"type": "stdio",
"command": "uvx",
"args": [
"apache-airflow-mcp-server"
],
"env": {
"AIRFLOW_MCP_HOST": "<airflow-mcp-host>",
"AIRFLOW_MCP_TOKEN": "<airflow-mcp-token>",
"AIRFLOW_MCP_PASSWORD": "<airflow-mcp-password>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"apache-airflow": {
"command": "uvx",
"args": [
"apache-airflow-mcp-server"
],
"env": {
"AIRFLOW_MCP_HOST": "<airflow-mcp-host>",
"AIRFLOW_MCP_TOKEN": "<airflow-mcp-token>",
"AIRFLOW_MCP_PASSWORD": "<airflow-mcp-password>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| AIRFLOW_MCP_HOST | yes | — | Base URL of the Airflow instance. |
| AIRFLOW_MCP_TOKEN | — | yes | Bearer token. Provide this or both username and password; it takes precedence when set. |
| AIRFLOW_MCP_USERNAME | — | — | Basic-auth username. Required with password when token is omitted. |
| AIRFLOW_MCP_PASSWORD | — | yes | Basic-auth password. Required with username when token is omitted. |
| AIRFLOW_MCP_API_VERSION | — | — | The directory install uses the Airflow 3 client. See the README for Airflow 2 setup. |
| AIRFLOW_MCP_READ_ONLY | — | — | Expose only read tools unless write access is deliberately selected. |
Freshness
Maintained — last maintenance signal 3mo ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-07-16 · 3mo ago · GitHub
Latest release
2026-07-16 · 3mo ago · GitHub · v1.0.2
Package published
no data · npm/PyPI
Registry entry updated
2026-07-16 · 3mo ago · official registry · v1.0.2
FAQ
›How do I install the Apache Airflow MCP server in Claude Code?
Run: claude mcp add apache-airflow -e AIRFLOW_MCP_HOST='<airflow-mcp-host>' -e AIRFLOW_MCP_TOKEN='<airflow-mcp-token>' -e AIRFLOW_MCP_PASSWORD='<airflow-mcp-password>' -- uvx apache-airflow-mcp-server. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Apache Airflow require an API key?
Yes. It expects AIRFLOW_MCP_HOST, AIRFLOW_MCP_TOKEN, AIRFLOW_MCP_PASSWORD, of which 2 are secrets.
›Can I use Apache Airflow as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Apache Airflow in the official MCP registry?
Yes, as io.github.madamak/apache-airflow-mcp-server.
Alternatives to Apache Airflow
Other monitoring & observability MCP servers.