Back to MCP directory
publicPublicdnsLocal runtime

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

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client