本项目是一个与 Apache Airflow 集成的模型上下文协议 (MCP) 服务器,提供了一系列工具,可用于管理和监控 Airflow 的 DAG 运行。借助该服务器,用户能够轻松触发 DAG、获取 DAG 状态、回填数据以及获取日志等。
使用此服务器时,可参考以下配置示例:
{
"mcpServers": {
"airflow": {
"command": "uvx",
"args": [
"airflow-mcp"
],
"env": {
"AIRFLOW_API_BASE": "http://localhost:8000/api/v1",
"AIRFLOW_USERNAME": "admin",
"AIRFLOW_PASSWORD": "admin"
}
}
}
}
trigger-dag):触发指定 DAG 的运行。enable-dag):启用指定的 DAG。get-daily-report):获取指定时间范围内的所有 DAG 运行的汇总报告。list-dags):列出所有可用的 DAG。list-dag-runs):批量获取 DAG 的运行记录。get-dag-status):获取特定 DAG 的运行状态。get-dag-logs):获取 DAG 运行的日志。backfill-dag):回填指定日期范围内的 DAG 数据。mcp_config.json,添加 Airflow 配置。{
"mcpServers": {
"airflow": {
"command": "uv",
"args": [
"--directory",
"/path/to/airflow-mcp",
"run",
"airflow_mcp.py"
],
"env": {
"AIRFLOW_API_BASE": "http://localhost:8000/api/v1",
"AIRFLOW_USERNAME": "admin",
"AIRFLOW_PASSWORD": "admin"
}
}
}
}
mkdir ~/airflow-docker
cd ~/airflow-docker
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.8.3/docker-compose.yaml'
cat << EOF > .env
AIRFLOW_UID=$(id -u)
AIRFLOW__CORE__LOAD_EXAMPLES=false
AIRFLOW__CORE__EXECUTOR=SequentialExecutor
EOF
docker compose up -d
以下是使用该服务器的基础配置示例:
{
"mcpServers": {
"airflow": {
"command": "uvx",
"args": [
"airflow-mcp"
],
"env": {
"AIRFLOW_API_BASE": "http://localhost:8000/api/v1",
"AIRFLOW_USERNAME": "admin",
"AIRFLOW_PASSWORD": "admin"
}
}
}
}
欢迎贡献代码!请提交 Pull Request 并确保遵循项目的编码规范。
本项目采用 MIT 许可协议。