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

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

本地服务
pypi.org数据与分析3354 周前更新

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

airflow-mcp-server 是一个用于通过 Airflow API 控制 Apache Airflow 的 MCP 服务。它面向需要让 AI 助手查看或管理 Airflow 实例的用户,并提供只读的安全模式。

主要功能

  1. 01通过 Airflow API 控制 Airflow 3
  2. 02--safe 模式仅允许只读操作
  3. 03支持 stdio 与 HTTP 传输
  4. 04可通过 --resources-dir 提供本地 Markdown 资源

适用场景

  1. 01让 AI 助手只读查看 DAG 与任务状态
  2. 02在受限的只读模式下检查 Airflow 实例
  3. 03为 agent 提供本地 Airflow 操作文档

MCP 相关

该项目是 MCP 服务,向 MCP 客户端提供 Airflow 相关工具,并可将本地 Markdown 文件作为只读资源暴露。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"airflow": {
"command": "uvx",
"args": [
"airflow-mcp-server"
],
"env": {
"AIRFLOW_BASE_URL": "<AIRFLOW_BASE_URL>",
"AUTH_TOKEN": "<AUTH_TOKEN>"
}
}
}
}
启动命令uvx airflow-mcp-server
需要配置的环境变量
AIRFLOW_BASE_URLThe base URL for the Airflow API (e.g., http://localhost:8080)
AUTH_TOKEN密钥The JWT authentication token for Airflow API access

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiairflow-mcp-server0.9.0
pypiairflow-mcp-server0.8.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

airflow-mcp-server:用于控制 Airflow 3 的 MCP 服务

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

MCPHub 认证

此 MCP 服务已通过 MCPHub 认证。该认证确保 airflow-mcp-server 遵循 Model Context Protocol 的最佳实践。

在 Glama 上查找
README 配图

概览

一个通过 Airflow API 控制 Airflow 的 Model Context Protocol 服务。

演示视频

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

设置

在 Claude Desktop 中使用
Stdio 传输(默认)
{
    "mcpServers": {
        "airflow-mcp-server": {
            "command": "uvx",
            "args": [
                "airflow-mcp-server",
                "--base-url",
                "http://localhost:8080",
                "--auth-token",
                "<jwt_token>"
            ]
        }
    }
}

请参阅 CONFIG.md,了解适用于常见 MCP 客户端的 IDE 特定配置示例。

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

注意:

  • 将 base_url 设置为 Airflow 根 URL(例如,http://localhost:8080)。
  • 请勿在基础 URL 中包含 /api/v2。服务会自动从 ${base_url}/openapi.json 获取 OpenAPI 规范。
  • 身份验证仅需要 JWT 令牌。Airflow 3.0 不再支持 Cookie 和基本身份验证。
传输选项

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

Stdio 传输(默认)

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

airflow-mcp-server --safe --base-url http://localhost:8080 --auth-token <jwt>
HTTP 传输

使用 Streamable HTTP,以获得更好的可扩展性和 Web 兼容性:

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

注意: SSE 传输已弃用。新部署请使用 --http,它可提供更好的双向通信,也是 FastMCP 推荐的方式。

操作模式

该服务支持两种操作模式:

  • 安全模式(--safe):仅允许只读操作(GET 请求)。如果你想阻止对 Airflow 实例进行任何修改,此模式很有用。
  • 不安全模式(--unsafe):允许所有操作,包括修改操作。这是默认模式。

以安全模式启动:

airflow-mcp-server --safe

显式以不安全模式启动(尽管这是默认模式):

airflow-mcp-server --unsafe
工具发现模式

该服务支持两种工具发现方式:

  • 分层发现(默认):按类别组织工具(DAG、任务、连接等)。先浏览类别,再选择具体工具。对于大型 API,这种方式更易于管理。
  • 静态工具(--static-tools):所有工具都可立即使用。更适合编程访问,但可能令人难以应对。

使用静态工具:

airflow-mcp-server --static-tools
命令行选项
Usage: airflow-mcp-server [OPTIONS]

  MCP server for Airflow

Options:
  -v, --verbose      Increase verbosity
  -s, --safe         Use only read-only tools
  -u, --unsafe       Use all tools (default)
  --static-tools     Use static tools instead of hierarchical discovery
  --base-url TEXT    Airflow API base URL
  --auth-token TEXT  Authentication token (JWT)
  --http             Use HTTP (Streamable HTTP) transport instead of stdio
  --sse              Use Server-Sent Events transport (deprecated, use --http
                     instead)
  --port INTEGER     Port to run HTTP/SSE server on (default: 3000)
  --host TEXT        Host to bind HTTP/SSE server to (default: localhost)
  --help             Show this message and exit.
使用资源

如果你希望 Agent 参考本地文档,可以将服务指向包含 Markdown 指南的文件夹:

airflow-mcp-server --base-url http://localhost:8080 --auth-token <jwt> --resources-dir ~/airflow-resources
  • 每个顶层 .md/.markdown 文件都会成为只读资源(file:///<slug>),并显示在 MCP 客户端中。
  • 如果文件中存在第一个 # Heading,则将其用作资源标题;否则使用文件名(不含扩展名)。
  • 如果你更喜欢使用基于环境变量的配置,请设置 AIRFLOW_MCP_RESOURCES_DIR=/path/to/docs。
  • 更新磁盘上的文件并重启服务,即可刷新资源列表。
注意事项

身份验证

  • Airflow 3.0 仅支持 JWT 身份验证。你必须提供有效的 AUTH_TOKEN。

页面上限

默认值为 100 项,但你可以在 airflow.cfg 文件的 [api] 部分中使用 maximum_page_limit 选项进行更改。

传输选择

  • 直接进程通信请使用 stdio 传输(默认)
  • Web 部署、多个客户端或需要更好的可扩展性时,请使用 HTTP 传输
  • 请避免使用 SSE 传输,因为它已弃用,建议改用 HTTP 传输

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。