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

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

site icon
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 实例的管理和操作。

核心功能

  1. Airflow API 控制:通过 Airflow API 实现对 Airflow 实例的全面控制。
  2. 操作模式支持
  3. 安全模式(Safe Mode):仅允许只读操作(GET 请求),防止对 Airflow 实例的修改。
  4. 不安全模式(Unsafe Mode):允许所有操作,包括修改(默认模式)。
  5. Airflow 3.0 支持:专为 Airflow 3.0 设计,仅支持 JWT 令牌认证。
  6. OpenAPI 解析:自动从 Airflow 实例的 OpenAPI 规范中解析 API 功能。
  7. 配置获取:支持获取 Airflow 配置,如页面限制(page limit)。

适用场景

  1. Airflow 实例管理:通过 API 对 Airflow 实例进行管理和操作。
  2. 安全控制:在需要限制对 Airflow 实例的修改时,使用安全模式。
  3. 开发与调试:在开发和调试阶段,使用不安全模式进行全面的 API 操作。

工具列表

  • airflow-mcp-server:主服务器工具,用于启动和控制 Airflow MCP 服务。
  • 能力:支持安全模式和不安全模式,解析 OpenAPI 规范,获取 Airflow 配置。

常见问题解答

  1. 认证问题:仅支持 JWT 令牌认证,不支持 Cookie 和基本认证。
  2. 页面限制:默认限制为 100 项,可通过修改 airflow.cfg 文件中的 maximum_page_limit 调整。
  3. 环境变量:目前不支持通过环境变量配置 Airflow 插件。

使用教程

使用依赖

  1. 确保已安装 Airflow 3.0 或更高版本。
  2. 确保已生成有效的 JWT 令牌用于认证。

安装教程

  1. 通过以下命令启动服务器(默认不安全模式): bash airflow-mcp-server --base-url http://localhost:8080 --auth-token <jwt_token>
  2. 启动安全模式: bash airflow-mcp-server --safe --base-url http://localhost:8080 --auth-token <jwt_token>
  3. 启动不安全模式(显式指定): bash airflow-mcp-server --unsafe --base-url http://localhost:8080 --auth-token <jwt_token>

调试方式

  1. 确保服务器已正确启动并连接到 Airflow 实例。
  2. 使用 API 工具(如 Postman)测试 API 端点,确保返回预期结果。
  3. 检查日志以排查任何错误或警告信息。

许可证

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