mcp-server-apache-airflow

mcp-server-apache-airflow

site icon
2025.03.20 25
Python工作流管理任务调度数据管道开发效率
mcp-server-apache-airflow 是一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于与 Apache Airflow 进行无缝集成。该项目通过 MCP 协议提供了一种标准化的方式来与 Apache Airflow 进行交互,涵盖了 DAG 管理、任务运行、变量管理、连接管理等多种功能。
View on GitHub

Overview

基本能力

产品定位

mcp-server-apache-airflow 是一个用于 Apache Airflow 的 MCP 服务器实现,旨在通过标准化的协议与 Apache Airflow 进行交互,提升开发和管理效率。

核心功能

  1. DAG 管理:包括 DAG 的列表、详情、暂停、取消暂停、更新、删除等操作。
  2. DAG 运行管理:支持 DAG 运行的创建、详情查看、更新、删除等操作。
  3. 任务管理:支持任务的列表、详情查看、实例管理、状态更新等操作。
  4. 变量管理:支持变量的创建、读取、更新、删除等操作。
  5. 连接管理:支持连接的创建、测试、更新、删除等操作。
  6. 数据集管理:支持数据集的列表、详情查看、事件管理等操作。
  7. 监控与健康检查:提供健康状态检查和版本信息获取功能。

适用场景

  1. 自动化工作流管理:适用于需要管理和监控复杂工作流的场景。
  2. 任务调度与监控:适用于需要调度和监控任务的场景。
  3. 数据管道管理:适用于需要管理数据管道的场景。
  4. 开发与测试环境:适用于开发和测试环境中需要与 Apache Airflow 交互的场景。

使用教程

使用依赖

  1. 确保已安装 apache-airflow-client 库,安装命令: bash pip install apache-airflow-client

环境变量设置

设置以下环境变量:

export AIRFLOW_HOST=<your-airflow-host>
export AIRFLOW_USERNAME=<your-airflow-username>
export AIRFLOW_PASSWORD=<your-airflow-password>

安装与运行

  1. 通过 Smithery 安装bash npx -y @smithery/cli install @yangkyeongmo/mcp-server-apache-airflow --client claude

  2. 手动运行bash make run 或直接运行 SSE 服务器: bash make run-sse

调试方式

  1. 检查服务是否正常运行: bash curl http://localhost:8000/api/v1/health
  2. 查看版本信息: bash curl http://localhost:8000/api/v1/version

工具列表

  1. uvx:用于运行 MCP 服务器的命令行工具。
  2. uv:另一种运行 MCP 服务器的命令行工具。
  3. Smithery CLI:用于自动化安装和管理 MCP 服务器的工具。

常见问题解答

  1. 如何选择特定的 API 组? 使用 --apis 参数指定需要启用的 API 组,例如: bash uv run mcp-server-apache-airflow --apis "dag,dagrun"
  2. 如何修改监听端口? 使用 --port 参数指定端口号,例如: bash make run --port 8080
  3. 如何切换传输类型? 使用 --transport 参数指定传输类型(stdio/sse),例如: bash make run --transport sse

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。