mcpField
A
Airflow MCP 服务器

Airflow MCP 服务器

本地服务
github.com/treerootboy数据与分析045 周前更新

关于 Airflow MCP 服务器

Airflow MCP 服务器将 Apache Airflow 的 DAG 管理与监控操作提供给 MCP 客户端,适合需要查看运行状态和处理工作流的用户。它涵盖触发、回填、日志查询及任务实例清理等操作。

主要功能

  1. 01触发和启用 DAG
  2. 02列出 DAG 与运行记录
  3. 03获取状态和日志
  4. 04生成每日运行报告
  5. 05按日期范围回填 DAG
  6. 06清除任务实例

适用场景

  1. 01触发指定 DAG 运行
  2. 02检查 DAG 状态与日志
  3. 03回填日期范围内的数据
  4. 04重置失败任务实例

MCP 相关

该 MCP 服务向客户端提供管理和监控 Apache Airflow DAG 运行的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"airflow": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
启动命令docker run -i --rm compose

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocicompose

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

Airflow 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"
      }
    }
  }
}

开发

  1. uv sync
  2. 修改 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"
      }
    }
  }
}
  1. 启动 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。