AA

abhishekbhakat/airflow-mcp-server

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

33 stars 10 forks 质量 56 趋势 11MIT

Apache Airflow 的 MCP 服务器

概览

MCP-name: io.github.abhishekbhakat/airflow-mcp-server 该MCP服务器由MCPHub认证。该认证确保airflow-mcp-server遵循模型上下文协议(Model Context Protocol)实现的最佳实践。 一个通过Airflow API控制气流的模型上下文协议服务器。 https://github.com/user-attachments/assets/f3e60fff-8680-4dd9-b08e-fa7db655a705 有关流行MCP客户端中IDE特有配置示例,请参见 CONFIG.md。 - 将base_url设置为根 Airflow URL(例如 http://localhost:8080).)- 在基础 URL 中包含 /api/v2。服务器会自动从 ${base_url}/openapi.json 获取 OpenAPI 规范。- 认证仅需 JWT 令牌。Airflow 3.0 不再支持 Cookie 和基本认证。 该服务器支持多种传输协议: 用于直接过程通信的标准输入/输出传输:

概述(AI 翻译)

MCP-name: io.github.abhishekbhakat/airflow-mcp-server

MCPHub认证

该MCP服务器由MCPHub认证。该认证确保airflow-mcp-server遵循模型上下文协议(Model Context Protocol)实现的最佳实践。

在Glama找到

概述

一个通过Airflow API控制气流的模型上下文协议服务器。

演示视频

https://github.com/user-attachments/assets/f3e60fff-8680-4dd9-b08e-fa7db655a705

布置

使用 Claude Desktop

城市交通(默认)

有关主流MCP客户端中IDE特有配置示例,请参见CONFIG.md。

HTTP 传输

注:

  • 将 base_url 设置为 Airflow 根 URL(例如 [http://localhost:8080)。
  • {[T4]]} 不要**在基础URL中包含。服务器会自动从 ${base_url}/openapi.json 获取 OpenAPI 规范。
  • 认证仅需 JWT 令牌。Airflow 3.0 不再支持 Cookie 和基础认证。

交通选择

该服务器支持多种传输协议:

城市交通(默认)

用于直接过程通信的标准输入/输出传输:

HTTP 传输

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

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

mcp-name: io.github.abhishekbhakat/airflow-mcp-server

MCPHub Certification

This MCP server is certified by MCPHub. This certification ensures that airflow-mcp-server follows best practices for Model Context Protocol implementation.

Find on Glama

Overview

A Model Context Protocol server for controlling Airflow via Airflow APIs.

Demo Video

https://github.com/user-attachments/assets/f3e60fff-8680-4dd9-b08e-fa7db655a705

Setup

Usage with Claude Desktop

Stdio Transport (Default)

{
    "mcpServers": {
        "airflow-mcp-server": {
            "command": "uvx",
            "args": [
                "airflow-mcp-server",
                "--base-url",
                "http://localhost:8080",
                "--auth-token",
                ""
            ]
        }
    }
}

See CONFIG.md for IDE-specific configuration examples across popular MCP clients.

HTTP Transport

{
    "mcpServers": {
        "airflow-mcp-server-http": {
            "command": "uvx",
            "args": [
                "airflow-mcp-server",
                "--http",
                "--port",
                "3000",
                "--base-url",
                "http://localhost:8080",
                "--auth-token",
                ""
            ]
        }
    }
}

Note:

  • Set base_url to the root Airflow URL (e.g., http://localhost:8080).
  • Do not include /api/v2 in the base URL. The server will automatically fetch the OpenAPI spec from ${base_url}/openapi.json.
  • Only JWT token is required for authentication. Cookie and basic auth are no longer supported in Airflow 3.0.

Transport Options

The server supports multiple transport protocols:

Stdio Transport (Default)

Standard input/output transport for direct process communication:

airflow-mcp-server --safe --base-url http://localhost:8080 --auth-token 

HTTP Transport

Uses Streamable HTTP for better scalability and web compatibility:

airflow-mcp-server --safe --http --port 3000 --base-url http://localhost:8080 --auth-token 

Note: SSE transport is deprecated. Use --http for new deployments as it provides better bidirectional communication and is the recommended approach by FastMCP.

Operation Modes

The server supports two operation modes:

  • Safe Mode (--safe): Only allows read-only operations (GET requests). This is useful when you want to prevent any modifications to your Airflow instance.
  • Unsafe Mode (--unsafe): Allows all operations including modifications. This is the default mode.

To start in safe mode:

在 GitHub 查看完整 README

安装

uvx airflow-mcp-server --base-url http://localhost:8080 --auth-token <jwt_token>
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "airflow-mcp-server": { "command": "uvx", "args": [ "airflow-mcp-server", "--base-url", "http://localhost:8080", "--auth-token", "<jwt_token>" ] } } }