
mcp-server-apache-airflow

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 进行交互,提升开发和管理效率。
核心功能
- DAG 管理:包括 DAG 的列表、详情、暂停、取消暂停、更新、删除等操作。
- DAG 运行管理:支持 DAG 运行的创建、详情查看、更新、删除等操作。
- 任务管理:支持任务的列表、详情查看、实例管理、状态更新等操作。
- 变量管理:支持变量的创建、读取、更新、删除等操作。
- 连接管理:支持连接的创建、测试、更新、删除等操作。
- 数据集管理:支持数据集的列表、详情查看、事件管理等操作。
- 监控与健康检查:提供健康状态检查和版本信息获取功能。
适用场景
- 自动化工作流管理:适用于需要管理和监控复杂工作流的场景。
- 任务调度与监控:适用于需要调度和监控任务的场景。
- 数据管道管理:适用于需要管理数据管道的场景。
- 开发与测试环境:适用于开发和测试环境中需要与 Apache Airflow 交互的场景。
使用教程
使用依赖
- 确保已安装
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>
安装与运行
-
通过 Smithery 安装:
bash npx -y @smithery/cli install @yangkyeongmo/mcp-server-apache-airflow --client claude
-
手动运行:
bash make run
或直接运行 SSE 服务器:bash make run-sse
调试方式
- 检查服务是否正常运行:
bash curl http://localhost:8000/api/v1/health
- 查看版本信息:
bash curl http://localhost:8000/api/v1/version
工具列表
- uvx:用于运行 MCP 服务器的命令行工具。
- uv:另一种运行 MCP 服务器的命令行工具。
- Smithery CLI:用于自动化安装和管理 MCP 服务器的工具。
常见问题解答
- 如何选择特定的 API 组?
使用
--apis
参数指定需要启用的 API 组,例如:bash uv run mcp-server-apache-airflow --apis "dag,dagrun"
- 如何修改监听端口?
使用
--port
参数指定端口号,例如:bash make run --port 8080
- 如何切换传输类型?
使用
--transport
参数指定传输类型(stdio/sse),例如:bash make run --transport sse