返回 MCP 目录
public公开dns本地运行

airflow-mcp-server

一个通过Airflow API控制Airflow的MCP服务器

article

README

🚀 Airflow MCP服务器

这是一个用于通过Airflow API控制Airflow的Model Context Protocol(MCP)服务器,借助它可方便地对Airflow进行操作与管理。

🚀 快速开始

演示视频

点击以下链接查看演示视频: 演示视频

📦 安装指南

使用Claude Desktop的配置方法

以下是Claude Desktop的配置示例:

{
  "mcpServers": {
    "airflow-mcp-server": {
      "command": "uvx",
      "args": [
        "airflow-mcp-server"
      ],
      "env": {
        "AIRFLOW_BASE_URL": "http://<host:port>/api/v1",
        // 使用AUTH_TOKEN进行基本认证
        "AUTH_TOKEN": "<base64_encoded_username_password>",
        // 或使用COOKIE进行基于Cookie的认证
        "COOKIE": "<session_cookie>"
      }
    }
  }
}

运行模式

服务器支持两种运行模式:

  • 安全模式 (--safe):只允许读取操作(GET请求),适合防止对Airflow实例进行任何修改的场景。
  • 不安全模式 (--unsafe):允许所有操作,包括修改,此为默认模式。

以安全模式启动:

airflow-mcp-server --safe

明确以不安全模式启动(尽管这是默认设置):

airflow-mcp-server --unsafe

考虑事项

MCP服务器期望以下环境变量已配置:

  • AIRFLOW_BASE_URL:Airflow API的基础URL
  • AUTH_TOKEN:用于基本认证的base64编码用户名:密码(如果提供COOKIE则可选)
  • COOKIE:用于基于Cookie认证的会话Cookie(如果提供AUTH_TOKEN则可选)
  • OPENAPI_SPEC:OpenAPI规格文件的路径(默认为最新稳定版本)

认证方法 服务器支持两种认证方式:

  • 基本认证:使用base64编码的用户名:密码通过AUTH_TOKEN环境变量。
  • 基于Cookie的认证:使用会话Cookie通过COOKIE环境变量。

必须至少提供一种认证方法。

页面限制 默认显示100个项目,但你可以通过在Airflow的airflow.cfg文件中[api]部分使用maximum_page_limit选项来更改此设置。

📋 任务列表

  • [x] 首个API实现
  • [x] 解析OpenAPI规格
  • [x] 实现安全/不安全模式
  • [x] 允许会话认证
  • [ ] 使用list_tools解析正确的描述
  • [ ] 获取Airflow配置(特别是页面限制)
  • [ ] 环境变量的可选性(环境变量可能不适合Airflow插件)
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端