
airflow-mcp-server: An MCP Server for controlling Airflow

2025.05.08
0
PythonAirflow 控制API 管理开发效率
airflow-mcp-server 是一个基于 Model Context Protocol (MCP) 的服务器,用于通过 Airflow API 控制 Airflow。它支持两种操作模式:安全模式(仅允许只读操作)和不安全模式(允许所有操作,包括修改)。该服务器专为 Airflow 3.0 设计,仅支持 JWT 令牌认证。
View on GitHub
Overview
基本能力
产品定位
airflow-mcp-server 是一个用于控制 Airflow 的 MCP 服务器,通过 Airflow API 实现对 Airflow 实例的管理和操作。
核心功能
- Airflow API 控制:通过 Airflow API 实现对 Airflow 实例的全面控制。
- 操作模式支持:
- 安全模式(Safe Mode):仅允许只读操作(GET 请求),防止对 Airflow 实例的修改。
- 不安全模式(Unsafe Mode):允许所有操作,包括修改(默认模式)。
- Airflow 3.0 支持:专为 Airflow 3.0 设计,仅支持 JWT 令牌认证。
- OpenAPI 解析:自动从 Airflow 实例的 OpenAPI 规范中解析 API 功能。
- 配置获取:支持获取 Airflow 配置,如页面限制(page limit)。
适用场景
- Airflow 实例管理:通过 API 对 Airflow 实例进行管理和操作。
- 安全控制:在需要限制对 Airflow 实例的修改时,使用安全模式。
- 开发与调试:在开发和调试阶段,使用不安全模式进行全面的 API 操作。
工具列表
- airflow-mcp-server:主服务器工具,用于启动和控制 Airflow MCP 服务。
- 能力:支持安全模式和不安全模式,解析 OpenAPI 规范,获取 Airflow 配置。
常见问题解答
- 认证问题:仅支持 JWT 令牌认证,不支持 Cookie 和基本认证。
- 页面限制:默认限制为 100 项,可通过修改
airflow.cfg
文件中的maximum_page_limit
调整。 - 环境变量:目前不支持通过环境变量配置 Airflow 插件。
使用教程
使用依赖
- 确保已安装 Airflow 3.0 或更高版本。
- 确保已生成有效的 JWT 令牌用于认证。
安装教程
- 通过以下命令启动服务器(默认不安全模式):
bash airflow-mcp-server --base-url http://localhost:8080 --auth-token <jwt_token>
- 启动安全模式:
bash airflow-mcp-server --safe --base-url http://localhost:8080 --auth-token <jwt_token>
- 启动不安全模式(显式指定):
bash airflow-mcp-server --unsafe --base-url http://localhost:8080 --auth-token <jwt_token>
调试方式
- 确保服务器已正确启动并连接到 Airflow 实例。
- 使用 API 工具(如 Postman)测试 API 端点,确保返回预期结果。
- 检查日志以排查任何错误或警告信息。