Add it to Claude Code
claude mcp add astro-airflow -- uvx astro-airflow-mcp --transport stdioMake your agent remember this setup
astro-airflow's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- Support for both Airflow 2.x and 3.x versions
- Comprehensive DAG management including trigger, pause, and source code retrieval
- Consolidated diagnostic tools for debugging failed DAG runs
- Exposes static Airflow info like providers and plugins as MCP resources
- Guided MCP prompts for troubleshooting and health checks
Tools 3
explore_dagGet comprehensive DAG information in one call.diagnose_dag_runDebug failed DAG runs with task instance details.get_system_healthGet a system overview with health, errors, and warnings.Environment Variables
AIRFLOW_API_URLAirflow webserver URLAIRFLOW_USERNAMEUsername for authenticationAIRFLOW_PASSWORDPassword for authenticationAIRFLOW_AUTH_TOKENBearer token for authenticationTry it
Original README from astronomer/astro-airflow-mcp
[!WARNING] This project has been relocated to the Astronomer agents monorepo.
Airflow MCP Server
A Model Context Protocol (MCP) server for Apache Airflow that provides AI assistants with access to Airflow's REST API. Built with FastMCP.
Quickstart
IDEs
<details> <summary>Manual configuration</summary>Add to your MCP settings (Cursor: ~/.cursor/mcp.json, VS Code: .vscode/mcp.json):
{
"mcpServers": {
"airflow": {
"command": "uvx",
"args": ["astro-airflow-mcp", "--transport", "stdio"]
}
}
}
</details>
CLI Tools
<details> <summary>Claude Code</summary>claude mcp add airflow -- uvx astro-airflow-mcp --transport stdio
</details>
<details>
<summary>Gemini CLI</summary>
gemini mcp add airflow -- uvx astro-airflow-mcp --transport stdio
</details>
<details>
<summary>Codex CLI</summary>
codex mcp add airflow -- uvx astro-airflow-mcp --transport stdio
</details>
Desktop Apps
<details> <summary>Claude Desktop</summary>Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"airflow": {
"command": "uvx",
"args": ["astro-airflow-mcp", "--transport", "stdio"]
}
}
}
</details>
Other MCP Clients
<details> <summary>Manual JSON Configuration</summary>Add to your MCP configuration file:
{
"mcpServers": {
"airflow": {
"command": "uvx",
"args": ["astro-airflow-mcp", "--transport", "stdio"]
}
}
}
Or connect to a running HTTP server: "url": "http://localhost:8000/mcp"
Note: No installation required -
uvxruns directly from PyPI. The--transport stdioflag is required because the server defaults to HTTP mode.
Configuration
By default, the server connects to http://localhost:8080 (Astro CLI default). Set environment variables for custom Airflow instances:
| Variable | Description |
|---|---|
AIRFLOW_API_URL |
Airflow webserver URL |
AIRFLOW_USERNAME |
Username (Airflow 3.x uses OAuth2 token exchange) |
AIRFLOW_PASSWORD |
Password |
AIRFLOW_AUTH_TOKEN |
Bearer token (alternative to username/password) |
Example with auth (Claude Code):
claude mcp add airflow -e AIRFLOW_API_URL=https://your-airflow.example.com -e AIRFLOW_USERNAME=admin -e AIRFLOW_PASSWORD=admin -- uvx astro-airflow-mcp --transport stdio
Features
- Airflow 2.x and 3.x Support: Automatic version detection with adapter pattern
- MCP Tools for accessing Airflow data:
- DAG management (list, get details, get source code, stats, warnings, import errors, trigger, pause/unpause)
- Task management (list, get details, get task instances, get logs)
- Pool management (list, get details)
- Variable management (list, get specific variables)
- Connection management (list connections with credentials excluded)
- Asset/Dataset management (unified naming across versions, data lineage)
- Plugin and provider information
- Configuration and version details
- Consolidated Tools for agent workflows:
explore_dag: Get comprehensive DAG information in one calldiagnose_dag_run: Debug failed DAG runs with task instance detailsget_system_health: System overview with health, errors, and warnings
- MCP Resources: Static Airflow info exposed as resources (version, providers, plugins, config)
- MCP Prompts: Guided workflows for common tasks (troubleshooting, health checks, onboarding)
- Dual deployment modes: