description: Airflow adapter pattern for v2/v3 API compatibility globs:
- src/astro_airflow_mcp/adapters/**
- src/astro_airflow_mcp/server.py
Airflow Adapter Pattern
Enables compatibility with both Airflow 2.x (/api/v1) and 3.x (/api/v2).
Architecture
MCP Tool → _get_adapter() → AirflowV2Adapter or AirflowV3Adapter → Airflow API
Version is auto-detected at startup.
Key Files
adapters/base.py- Abstract interfaceadapters/airflow_v2.py- Airflow 2.x (/api/v1)adapters/airflow_v3.py- Airflow 3.x (/api/v2)
Related Files
- @api-differences.md - V2 vs V3 field/endpoint differences
- @patterns.md - Implementation patterns
Quick Reference
adapter = _get_adapter()
dags = adapter.list_dags(limit=100)
run = adapter.trigger_dag_run("my_dag", conf={"key": "value"})