mcp-server-apache-airflow
A Model Context Protocol (MCP) server implementation for Apache Airflow, enabling seamless integration with MCP clients. This project provides a standardized way to interact with Apache Airflow through the Model Context Protocol.
About
This project implements a Model Context Protocol server that wraps Apache Airflow's REST API, allowing MCP clients to interact with Airflow in a standardized way. It uses the official Apache Airflow client library to ensure compatibility and maintainability.
Feature Implementation Status
| Feature | API Path | Status |
|---|---|---|
| DAG Management | ||
| List DAGs | /api/v1/dags |
✅ |
| Get DAG Details | /api/v1/dags/{dag_id} |
✅ |
| Pause DAG | /api/v1/dags/{dag_id} |
✅ |
| Unpause DAG | /api/v1/dags/{dag_id} |
✅ |
| Update DAG | /api/v1/dags/{dag_id} |
✅ |
| Delete DAG | /api/v1/dags/{dag_id} |
✅ |
| Get DAG Source | /api/v1/dagSources/{file_token} |
✅ |
| Patch Multiple DAGs | /api/v1/dags |
✅ |
| Reparse DAG File | /api/v1/dagSources/{file_token}/reparse |
✅ |
| DAG Runs | ||
| List DAG Runs | /api/v1/dags/{dag_id}/dagRuns |
✅ |
| Create DAG Run | /api/v1/dags/{dag_id}/dagRuns |
✅ |
| Get DAG Run Details | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} |
✅ |
| Update DAG Run | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} |
✅ |
| Delete DAG Run | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} |
✅ |
| Get DAG Runs Batch | /api/v1/dags/~/dagRuns/list |
✅ |
| Clear DAG Run | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/clear |
✅ |
| Set DAG Run Note | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/setNote |
✅ |
| Get Upstream Dataset Events | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents |
✅ |
| Tasks | ||
| List DAG Tasks | /api/v1/dags/{dag_id}/tasks |
✅ |
| Get Task Details | /api/v1/dags/{dag_id}/tasks/{task_id} |
✅ |
| Get Task Instance | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} |
✅ |
| List Task Instances | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances |
✅ |
| Update Task Instance | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} |
✅ |
| Get Task Instance Log | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number} |
✅ |
| Clear Task Instances | /api/v1/dags/{dag_id}/clearTaskInstances |
✅ |
| Set Task Instances State | /api/v1/dags/{dag_id}/updateTaskInstancesState |
✅ |
| List Task Instance Tries | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries |
✅ |
| Variables | ||
| List Variables | /api/v1/variables |
✅ |
| Create Variable | /api/v1/variables |
✅ |
| Get Variable | /api/v1/variables/{variable_key} |
✅ |
| Update Variable | /api/v1/variables/{variable_key} |
✅ |
| Delete Variable | /api/v1/variables/{variable_key} |
✅ |
| Connections | ||
| List Connections | /api/v1/connections |
✅ |
| Create Connection | /api/v1/connections |
✅ |
| Get Connection | /api/v1/connections/{connection_id} |
✅ |
| Update Connection | /api/v1/connections/{connection_id} |
✅ |
| Delete Connection | /api/v1/connections/{connection_id} |
✅ |
| Test Connection | /api/v1/connections/test |
✅ |
| Pools | ||
| List Pools | /api/v1/pools |
✅ |
| Create Pool | /api/v1/pools |
✅ |
| Get Pool | /api/v1/pools/{pool_name} |
✅ |
| Update Pool | /api/v1/pools/{pool_name} |
✅ |
| Delete Pool | /api/v1/pools/{pool_name} |
✅ |
| XComs | ||
| List XComs | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries |
✅ |
| Get XCom Entry | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key} |
✅ |
| Datasets | ||
| List Datasets | /api/v1/datasets |
✅ |
| Get Dataset | /api/v1/datasets/{uri} |
✅ |
| Get Dataset Events | /api/v1/datasetEvents |
✅ |
| Create Dataset Event | /api/v1/datasetEvents |
✅ |
| Get DAG Dataset Queued Event | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} |
✅ |
| Get DAG Dataset Queued Events | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents |
✅ |
| Delete DAG Dataset Queued Event | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} |
✅ |
| Delete DAG Dataset Queued Events | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents |
✅ |
| Get Dataset Queued Events | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents |
✅ |
| Delete Dataset Queued Events | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents |
✅ |
| Monitoring | ||
| Get Health | /api/v1/health |
✅ |
| DAG Stats | ||
| Get DAG Stats | /api/v1/dags/statistics |
✅ |
| Config | ||
| Get Config | /api/v1/config |
✅ |
| Plugins | ||
| Get Plugins | /api/v1/plugins |
✅ |
| Providers | ||
| List Providers | /api/v1/providers |
✅ |
| Event Logs | ||
| List Event Logs | /api/v1/eventLogs |
✅ |
| Get Event Log | /api/v1/eventLogs/{event_log_id} |
✅ |
| System | ||
| Get Import Errors | /api/v1/importErrors |
✅ |
| Get Import Error Details | /api/v1/importErrors/{import_error_id} |
✅ |
| Get Health Status | /api/v1/health |
✅ |
| Get Version | /api/v1/version |
✅ |







