Back to MCP directory
publicPublicdnsLocal runtime

airflow-mcp

一个与Apache Airflow集成的MCP服务器,提供DAG管理、监控和操作功能

article

README

🚀 Airflow MCP 服务器

本项目是一个与 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"
      }
    }
  }
}

✨ 主要特性

  • 触发 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 数据。

📦 安装指南

开发环境搭建

  1. 同步代码:将项目代码同步到本地。
  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

💻 使用示例

基础用法

以下是使用该服务器的基础配置示例:

{
  "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 许可协议。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client