Install
$ agentstack add mcp-antonio-mello-ai-mcp-airflow ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
mcp-airflow
MCP server that exposes Apache Airflow REST API operations as tools. Built with FastMCP.
Install
# Run directly with uvx (no install needed)
uvx mcp-airflow
# Or install with pip
pip install mcp-airflow
For development:
uv pip install -e ".[dev]"
# or with dependency groups
uv sync --group dev
Configuration
Set these environment variables (or create a .env file from .env.example):
| Variable | Description | Example | |----------|-------------|---------| | AIRFLOW_BASE_URL | Airflow REST API base URL. Use /api/v2 for Airflow 3.x or /api/v1 for 2.x | http://100.x.x.x:8080/api/v2 | | AIRFLOW_USERNAME | Auth username (JWT on 3.x, basic auth on 2.x) | admin | | AIRFLOW_PASSWORD | Auth password | |
Authentication
The client picks the auth scheme automatically based on your Airflow version:
- Airflow 3.x (JWT) — a JWT token is obtained from the
/auth/tokenendpoint
using AIRFLOW_USERNAME/AIRFLOW_PASSWORD, sent as a Bearer token, and refreshed automatically. Point AIRFLOW_BASE_URL at /api/v2.
- Airflow 2.x (basic auth) — if the JWT flow is unavailable, the client falls
back to HTTP basic auth with the same username/password. Point AIRFLOW_BASE_URL at /api/v1.
Usage
Run the server:
mcp-airflow
Or add to your MCP client config (e.g., Claude Desktop):
{
"mcpServers": {
"airflow": {
"command": "mcp-airflow",
"env": {
"AIRFLOW_BASE_URL": "http://100.x.x.x:8080/api/v2",
"AIRFLOW_USERNAME": "admin",
"AIRFLOW_PASSWORD": "your-password"
}
}
}
}
Tools
| Tool | Description | |------|-------------| | list_dags | List all DAGs with paused/active status | | get_dag_runs_today | Get all DAG runs from today with status | | get_dag_run_status | Get the latest run status for a specific DAG | | trigger_dag_run | Trigger a manual DAG run | | get_task_instances | Get task instances for a specific DAG run | | check_failed_dags | Check for failed DAGs in the last 24 hours | | check_scheduler_health | Check scheduler heartbeat and metadatabase status |
Tests
pytest
License
MIT
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: antonio-mello-ai
- Source: antonio-mello-ai/mcp-airflow
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.