Airflow元数据协议服务

一个为Apache Airflow设计的模型上下文协议(MCP)服务器,提供标准化的DAG元数据、运行状态和任务洞察访问,实现与MCP客户端的无缝集成以进行监控和自动化。

  • by Rakesh-infosrc
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 rakesh-infosrc/mcp-airflow-openwebui

使用说明

AirTrack 的

Apache Airflow的模型上下文协议(MCP)服务器,支持对DAG元数据、运行状态和任务洞察的标准化访问,允许与MCP客户端无缝集成以进行监控和自动化。

关于

该项目实现了一个模型上下文协议服务器,该服务器封装了Apache Airflow的REST API,允许MCP客户端以标准化的方式与Airflow交互。它使用官方的Apache Airflow客户端库来确保兼容性和可维护性。

项目结构

combined_project/
├── airflow/           # Airflow project files
│   ├── dags/         # Airflow DAG definitions
│   ├── logs/         # Airflow logs
│   ├── plugins/      # Airflow plugins
│   └── Docker-compose.yaml  # Docker compose file for Airflow
│
└── mpc/              # MPC application files
    ├── utils/        # Utility functions
    ├── server.py     # Main server file
    └── main.py       # Entry point

运行项目

需求

  • Docker和Docker Compose for Airflow
  • MPC应用程序的Python 3.8+
  • MPC应用程序的虚拟环境

气流

  1. 导航到气流目录:

    cd airflow
    
  2. 使用Docker Compose启动气流:

    docker-compose up 
    
  3. 访问Airflow web界面http://localhost:8181

    用户名: admin 密码: airflow

MPC应用程序

  1. 导航到mpc目录:

    cd mpc
    
  2. 创建并激活虚拟环境:

    python -m venv .venv
    .venv\Scripts\activate  # On Windows
    source .venv/bin/activate  # On Unix/MacOS
    
  3. 安装依赖项:

    pip install -r requirements.txt
    
  4. 运行MPC服务器:

    python server.py
    

使用Claude Desktop

{
  "mcpServers": {
    "FlowPredictor": {
   "command": "D:\\Apps\\conda\\Scripts\\uv.EXE",
   "args": [
     "run",
     "--with",
     "mcp[cli]",
     "mcp",
     "run",
     "<---PATH OF YOUR SERVER FILE eg(C:\\Users\\..\\..\\..\\server.py) --->"
   ]
 }
   }
}

整合

气流DAG可以通过API调用与MPC应用程序交互。确保在执行需要MPC功能的工作流时,这两个服务都在运行。

未来发展

  • 🔄 实时更新–通过WebSocket或SSE流式传输DAG/任务状态。

  • 🔐 安全性–添加OAuth2、API密钥和基于角色的访问。

  • ⚡ 事件触发器–DAG事件上的自动触发代理。

  • A.📊 分析–DAG性能和趋势的仪表板。

  • 🤖 AI故障排除-使用LLM进行问题分析和修复。

  • 与OpenWebUi集成

    1. 安装MCPO
    pip install mcpo
    

2.在mcp文件夹中创建config.js

{
  "mcpServers": {
   "airflow-mcp-server": {
      "command": "C:\\Users\\RakeshReddyBijjam\\pipx\\venvs\\meltano\\Scripts\\uv.EXE",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "C:\\Users\\RakeshReddyBijjam\\Desktop\\claude_sam\\AirTrack\\mcp\\server.py"
      ]
    }
  }
}
  1. 运行服务器
    uvx mcpo --config config.json --port 8001