关于 Airflow MCP 服务器
Airflow MCP 服务器将 Apache Airflow 的 DAG 管理与监控操作提供给 MCP 客户端,适合需要查看运行状态和处理工作流的用户。它涵盖触发、回填、日志查询及任务实例清理等操作。
主要功能
- 01触发和启用 DAG
- 02列出 DAG 与运行记录
- 03获取状态和日志
- 04生成每日运行报告
- 05按日期范围回填 DAG
- 06清除任务实例
适用场景
- 01触发指定 DAG 运行
- 02检查 DAG 状态与日志
- 03回填日期范围内的数据
- 04重置失败任务实例
MCP 相关
该 MCP 服务向客户端提供管理和监控 Apache Airflow DAG 运行的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
来自项目 READMEAirflow MCP 服务器
项目概述
本项目是一个与 Apache Airflow 集成的 Model Context Protocol (MCP) 服务器,提供多种工具来管理和监控 Airflow 的 DAG 运行。它支持触发 DAG、获取 DAG 状态、回填数据、获取日志等操作。
功能特性
- 触发 DAG (
trigger-dag): 触发指定 DAG 的运行。 - 启用 DAG (
enable-dag): 启用指定的 DAG。 - 获取每日报告 (
get-daily-report): 获取指定时间范围内的所有 DAG 运行的汇总报告。 - 列出所有 DAG (
list-dags): 列出所有可用的 DAG。 - 批量获取 DAG 运行记录 (
list-dag-runs): 批量获取 DAG 的运行记录。 - 获取 DAG 运行状态 (
get-dag-status): 获取特定 DAG 的运行状态。 - 获取 DAG 日志 (
get-dag-logs): 获取 DAG 运行的日志。 - 回填 DAG (
backfill-dag): 回填指定日期范围内的 DAG 数据。支持通过可选的task_id参数指定回填特定任务,若不指定则回填整个 DAG。 - 清除任务实例 (
clear-task-instances): 清除指定日期范围内的任务实例,重置任务状态以便重新运行。支持按任务ID过滤、只清除失败任务、重置DAG运行状态等选项。
使用
{
"mcpServers": {
"airflow": {
"command": "uvx",
"args": [
"airflow-mcp"
],
"env": {
"AIRFLOW_API_BASE": "http://localhost:8000/api/v1",
"AIRFLOW_USERNAME": "admin",
"AIRFLOW_PASSWORD": "admin"
}
}
}
}
开发
- uv sync
- 修改 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"
}
}
}
}
- 启动 airflow 实例
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
贡献
欢迎贡献代码!请提交 Pull Request 并确保遵循项目的编码规范。
许可
本项目采用 MIT 许可协议。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。