Token导航 LogoToken导航

MCP Server · AI代理

Apache Airflow

为Apache Airflow实现的模型上下文协议(MCP)服务器,提供标准化的API接口与DAG管理功能,适用于工作流自动化场景。

stdio官方级别未说明来源级核验工具 0
工作流自动化PythonClaudeClaude Desktop

快速开始

作者 / 组织
yangkyeongmo
提供方
yangkyeongmo
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

164

仓库热度

收录来源

2 个

MCP World

选型结论

Apache Airflow 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

AI代理

传输方式

stdio

认证方式

访问 Token

部署方式

支持远程部署

安装与配置

安装命令

uv run mcp-server-apache-airflow --apis dag --apis dagrun

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

MCP服务器-Apache Airflow

为Apache Airflow实现了一个模型上下文协议(MCP)服务器,使其能够与MCP客户端无缝集成。此项目提供了一种通过模型上下文协议与Apache Airflow进行交互的标准化方式。

关于

这个项目实施了一个 模型上下文协议 封装Apache Airflow REST API的服务器,使MCP客户端能够以标准化的方式与Airflow进行交互。它使用官方的Apache Airflow客户端库来确保兼容性和可维护性。

功能实现状态

功能API 路径状态
DAG管理(此处为空格或留白)
列出有向无环图(DAGs)/api/v1/dags✅(这个符号通常表示“已确认”或“正确”的意思,在中文语境中可以翻译为“√”或者直接保留原符号以表示确认)
获取DAG详细信息/api/v1/dags/{dag_id}✅(翻译为中文可表示为)对勾/正确
暂停DAG(有向无环图)/api/v1/dags/{dag_id}✅(可译为“对/正确”或根据上下文具体翻译为“确认”、“完成”等,此处为保持格式一致,直接保留符号并说明其含义)
恢复DAG(有向无环图)执行/api/v1/dags/{dag_id}✅(翻译为中文)✔️(这里用“✔️”作为符号的中文对应表示,原符号“✅”在中文中常无直接对应文字,但可理解为表示“正确”或“确认”的符号,故用“✔️”来近似表达其含义)
更新DAG(有向无环图)/api/v1/dags/{dag_id}✅(可翻译为:“已完成/确认” 或根据具体语境翻译为相应的确认标志)
删除DAG/api/v1/dags/{dag_id}✅翻译为中文是:√(或“正确”)
获取DAG源码/api/v1/dagSources/{file_token}✅(翻译为中文可保持原样,或根据语境解释为“✅”表示“已确认”或“正确”)
修补多个有向无环图(DAGs)/api/v1/dags✅翻译为中文是:√(对号)
重新解析DAG文件/api/v1/dagSources/{file_token}/reparse✅翻译为中文是:✅(此符号本身无特定中文含义,通常表示“正确”或“已确认”)
DAG 运行(此处为空白或未填写内容)
列出DAG运行实例/api/v1/dags/{dag_id}/dagRuns✅(翻译为中文可保持原样,或意译为“对勾”或“正确”)
创建DAG运行实例/api/v1/dags/{dag_id}/dagRuns✅(翻译为中文可保持原样,因为“✅”是一个表情符号,表示“对”或“正确”,在中文中也常直接使用,所以翻译结果仍为“✅”)
获取DAG运行详情/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}✅(可翻译为:“✅” 或 “正确符号”,具体翻译取决于上下文,此处保留原样以体现原文格式)
更新DAG运行状态/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}✅(译文:对勾)
删除DAG运行实例/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}✅翻译为中文是:√(或“正确”)
获取DAG运行批次/api/v1/dags/~/dagRuns/list✅(翻译为中文可以是)对勾(或“正确”、“已确认”等,具体含义根据上下文确定)
清除DAG运行/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/clear✅翻译为中文是:对勾(或“正确”、“已确认”)
设置DAG运行备注/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/setNote✅(翻译为中文可保持原样,表示“已确认”或“正确”的意思,若需文字说明,则可译为“✅ 已确认/正确”)
获取上游数据集事件/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents✅(这个符号在中文中可以表示“正确”或“已确认”的意思,但直接翻译为文字时,通常保持原样或根据上下文翻译为相应的中文表达,如“正确”、“已确认”等。在这里,由于是一个单独的符号,且没有上下文,所以直接保留其原样或解释为“正确/已确认”的意思。)
任务
列出DAG任务/api/v1/dags/{dag_id}/tasks✅翻译为中文是:对勾(或“正确”)
获取任务详情/api/v1/dags/{dag_id}/tasks/{task_id}✅(这个符号本身在中文中没有直接对应的翻译,但可以理解为表示“正确”或“确认”的意思,放在表格中可能代表某个项目或条目已被确认或正确无误。)
获取任务实例/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}✅(这个符号通常表示“正确”或“确认”,在中文中可以翻译为“✅”或保持原样,因为符号本身具有直观的含义)
列出任务实例/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances✅(译文:对勾)
更新任务实例/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}✅翻译为中文是:✔(正确/已确认)
获取任务实例日志/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number}✅(可译为“✅(勾选/正确)”或根据上下文简化为“✅”)
清除任务实例/api/v1/dags/{dag_id}/clearTaskInstances✅(翻译为中文可保持原样,表示“正确”或“已确认”,若需文字说明则为“正确”)
设置任务实例状态/api/v1/dags/{dag_id}/updateTaskInstancesState✅(翻译为中文可以是)正确(✅)
列出任务实例尝试/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries✅(翻译为中文)✅(保持原样,因为“✅”是通用的表情符号,表示正确或确认,无需翻译)
变量(此处可留空或根据上下文添加具体内容)
列出变量/api/v1/variables✅(译文:√(表示“正确”或“已确认”的符号))
创建变量/api/v1/variables✅(可译为:“已完成” 或根据具体语境译为其他合适的表述,如“成功”)
获取变量/api/v1/variables/{variable_key}✅翻译为中文是:对(√)
更新变量/api/v1/variables/{variable_key}✅(翻译为中文可保持原样,表示“已确认”或“正确”)
删除变量/api/v1/variables/{variable_key}✅(译文:对勾(或:正确))
联系/连接(此处为空白)(此处为空白)
列出连接/api/v1/connections✅(译文:✅(保持原样,因为符号本身无特定中文含义,表示确认或正确)
创建连接/api/v1/connections✅翻译为中文是:✅(对勾符号,表示正确或确认)
获取连接/api/v1/connections/{connection_id}✅翻译为中文是:✔(表示正确或确认的符号)
更新连接/api/v1/connections/{connection_id}✅(翻译为中文可保持原样,表示“正确”或“已确认”,若需解释性翻译则为“正确/已确认”)
删除连接/api/v1/connections/{connection_id}✅(中文可译为:“✅(对/正确)” 或根据上下文简化为“✅”)
测试连接/api/v1/connections/test✅(可翻译为)对/正确
游泳池(此处为空白或无内容)
列出池(或“列出资源池”)/api/v1/pools✅翻译为中文是:✅(确认/正确)
创建池/api/v1/pools✅(翻译为中文可表示为)对/正确
获取池(或“获取资源池”)/api/v1/pools/{pool_name}✅(译为中文可表示为:“对勾标志” 或 “确认标志”,具体根据上下文确定最贴切的翻译)
更新池(或更新集合)/api/v1/pools/{pool_name}✅(翻译为中文可保持原样,表示“正确”或“已确认”,若需解释性翻译可为“正确/已确认”)
删除池组/api/v1/pools/{pool_name}✅(译文:✔(或根据语境可译为“正确”等,表示正确或确认的意思)
XComs(通常指“X-Com”系列游戏,可译为“X战警”系列,但具体翻译需根据上下文确定,此处为直译)(此处可理解为一个空白或未填写的内容)
列出 XComs/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries✅(译文:✅(保持原样,因为符号本身无特定中文含义,此处仅为展示格式))
获取XCom条目/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}✅(翻译为中文可以是:“✅(表示正确或确认的符号)”或者根据上下文具体翻译为“正确”等,这里保留了符号的原样以体现其特定含义。)
数据集
列出数据集/api/v1/datasets✅(中文可译为:“已完成” 或根据上下文具体含义翻译,此处“✅”通常表示“已完成”或“正确”的意思)
获取数据集/api/v1/datasets/{uri}✅(译文:对)
获取数据集事件/api/v1/datasetEvents✅(这个符号组合在中文中没有直接对应的翻译,但可以理解为表示“已确认”或“正确”的意思,类似于英文中的“✅”符号。)
创建数据集事件/api/v1/datasetEvents✅(这个符号在中文里通常表示“正确”或“已确认”,但直接翻译为文字时,由于其本身是图形符号,所以可以解释为“正确”或根据上下文翻译为“确认”、“完成”等,但在这里保持原样以展示其作为符号的意义。)
获取DAG数据集排队事件/api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri}✅(翻译为中文可保持原样,或根据上下文意为“已确认”、“正确”等,此处直接保留符号以表示原文形式)
获取DAG数据集排队事件/api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents✅(译为中文)对勾
删除DAG数据集排队事件/api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri}✅对应的中文翻译是:✅(正确/勾选)
删除DAG数据集排队事件/api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents✅(可翻译为:“✔️” 或者 “对”,根据上下文选择更合适的表述)
获取数据集排队事件/api/v1/datasets/{uri}/dagRuns/queued/datasetEvents✅(翻译为中文可保持原样,或根据语境解释为“勾选/确认”)
删除数据集排队事件/api/v1/datasets/{uri}/dagRuns/queued/datasetEvents✅(可翻译为)✅(即:正确/勾选标记)
监测
获取健康信息/api/v1/health✅(翻译为中文可保持原样,因为“✅”是一个通用的表情符号,表示“正确”或“对”的意思,没有直接的中文对应词汇,所以在此处保留原样)
DAG Stats(有向无环图统计)
获取DAG统计信息/api/v1/dags/statistics✅(译文:对勾)
配置
获取配置/api/v1/config✅翻译为中文是:对
插件(此处为空白或未填写内容)
获取插件 /api/v1/plugins✅(翻译为中文可保持原样,表示“正确”或“已确认”,若需解释性翻译可为“正确/已确认”)
服务提供者
列出提供商/api/v1/providers✅(翻译为中文可保持原样,因为“✅”是一个表情符号,表示“对勾”或“正确”,在中文中常直接使用,无需翻译。如果非要解释,可以是“正确/对勾”)
事件日志
列出事件日志/api/v1/eventLogs✅(翻译为中文)✅(保持原样,因为符号本身无需翻译)
获取事件日志/api/v1/eventLogs/{event_log_id}✅(表示“正确”或“已确认”的符号,单独使用时可译为“正确”或根据上下文译为“已确认”等)
系统
获取导入错误/api/v1/importErrors✅(翻译为中文可以是:“正确” 或 “已完成”)
获取导入错误详情/api/v1/importErrors/{import_error_id}✅(翻译为中文可保持原样,表示“正确”或“已确认”的符号)
获取健康状态/api/v1/health✅翻译为中文是:对勾(表示正确或确认)
获取版本号 /api/v1/version✅(译文:对勾)

设置

依赖项

这个项目依赖于官方的Apache Airflow客户端库(apache-airflow-client)。 当你安装这个包时,它会自动安装。

环境变量

设置以下环境变量:

AIRFLOW_HOST=        # Optional, defaults to http://localhost:8080
AIRFLOW_API_VERSION=v1                  # Optional, defaults to v1
READ_ONLY=true                          # Optional, enables read-only mode (true/false, defaults to false)
认证

选择以下认证方法之一:

基本身份验证(默认):

AIRFLOW_USERNAME=
AIRFLOW_PASSWORD=

JWT令牌认证:

AIRFLOW_JWT_TOKEN=

要获取JWT令牌,您可以使用Airflow的认证端点:

ENDPOINT_URL="http://localhost:8080"  # Replace with your Airflow endpoint
curl -X 'POST' \
  "${ENDPOINT_URL}/auth/token" \
  -H 'Content-Type: application/json' \
  -d '{ "username": "", "password": "" }'
注如果同时提供了JWT令牌和基本身份验证凭据,则以JWT令牌为准。

与Claude桌面版的使用

添加到您的 claude_desktop_config.json:

基本认证:

{
  "mcpServers": {
    "mcp-server-apache-airflow": {
      "command": "uvx",
      "args": ["mcp-server-apache-airflow"],
      "env": {
        "AIRFLOW_HOST": "https://your-airflow-host",
        "AIRFLOW_USERNAME": "your-username",
        "AIRFLOW_PASSWORD": "your-password"
      }
    }
  }
}

JWT令牌认证:

{
  "mcpServers": {
    "mcp-server-apache-airflow": {
      "command": "uvx",
      "args": ["mcp-server-apache-airflow"],
      "env": {
        "AIRFLOW_HOST": "https://your-airflow-host",
        "AIRFLOW_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}

对于只读模式(为安全起见,建议使用):

基本身份验证:

{
  "mcpServers": {
    "mcp-server-apache-airflow": {
      "command": "uvx",
      "args": ["mcp-server-apache-airflow"],
      "env": {
        "AIRFLOW_HOST": "https://your-airflow-host",
        "AIRFLOW_USERNAME": "your-username",
        "AIRFLOW_PASSWORD": "your-password",
        "READ_ONLY": "true"
      }
    }
  }
}

JWT令牌认证:

{
  "mcpServers": {
    "mcp-server-apache-airflow": {
      "command": "uvx",
      "args": ["mcp-server-apache-airflow", "--read-only"],
      "env": {
        "AIRFLOW_HOST": "https://your-airflow-host",
        "AIRFLOW_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}

使用替代配置 uv:

基本认证:

{
  "mcpServers": {
    "mcp-server-apache-airflow": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-server-apache-airflow",
        "run",
        "mcp-server-apache-airflow"
      ],
      "env": {
        "AIRFLOW_HOST": "https://your-airflow-host",
        "AIRFLOW_USERNAME": "your-username",
        "AIRFLOW_PASSWORD": "your-password"
      }
    }
  }
}

JWT Token 认证:

{
  "mcpServers": {
    "mcp-server-apache-airflow": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-server-apache-airflow",
        "run",
        "mcp-server-apache-airflow"
      ],
      "env": {
        "AIRFLOW_HOST": "https://your-airflow-host",
        "AIRFLOW_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}

替换 /path/to/mcp-server-apache-airflow 以及你克隆仓库的实际路径。

选择API组

您可以通过设置来选择您想要使用的API组 --apis 旗帜。

uv run mcp-server-apache-airflow --apis dag --apis dagrun

默认使用所有API。

允许的值为:

  • 配置
  • 连接
  • 白天
  • “dagrun”可以翻译为“日常运行”或“日常任务”,具体含义取决于上下文。如果是指计算机或系统领域的术语,可能指的是系统的日常运行流程或任务安排。在更广泛的语境中,它也可以理解为日常的、常规的活动或工作
  • “dagstats”可以翻译为“每日统计”。不过,这个词汇并不是一个标准的中文表达,它可能是根据英文原词直译过来的。在中文中,我们更常用“每日统计数据”或“日统计”来描述类似的概念。
  • 数据集
  • 事件日志
  • 导入错误
  • 监测
  • 插件
  • 泳池
  • 提供者
  • 任务实例
  • 变量
  • XCOM(通常指《XCOM》系列游戏,一款经典的策略类游戏)

只读模式

你可以通过使用以下方法以只读模式运行服务器: --read-only 通过设置标志或通过设置 READ_ONLY=true 环境变量。这将仅暴露执行读取操作(GET 请求)的工具,并排除任何创建、更新或删除资源的工具。

使用命令行标志:

uv run mcp-server-apache-airflow --read-only

使用环境变量:

READ_ONLY=true uv run mcp-server-apache-airflow

在只读模式下,服务器将仅提供以下工具:

  • 列出有向无环图(DAGs)、DAG运行、任务、变量、连接等。
  • 获取特定资源的详细信息
  • 读取配置并监控信息
  • 测试连接(非破坏性)

在只读模式下,无法执行创建、更新、删除DAG(有向无环图)、变量、连接,以及触发DAG运行等写入操作。

您可以将只读模式与API组选择结合使用:

uv run mcp-server-apache-airflow --read-only --apis dag --apis variable

手动执行

你也可以手动运行服务器:

make run

make run 接受以下选项:

选项:

  • --port用于SSE监听的端口(默认:8000)
  • --transport传输类型(stdio/sse/http,默认:stdio)

或者,您可以直接运行 SSE 服务器,它接受相同的参数:

make run-sse

此外,您可以直接使用以下方式启动服务 uv 如下命令所示:

uv run src --transport http --port 8080

通过Smithery进行安装

通过自动方式为Claude Desktop安装Apache Airflow MCP服务器 Smithery(注:此词在标准英语中并不常见,可能是特定语境或行业内的术语,直译为“史密斯工坊”或“史密斯制造”可能不完全准确,具体含义需根据上下文确定。若作为专有名词或品牌名,可保持原样或根据品牌官方译名翻译。):

npx -y @smithery/cli install @yangkyeongmo/mcp-server-apache-airflow --client claude

发展

设置开发环境

  1. 克隆仓库:
git clone https://github.com/yangkyeongmo/mcp-server-apache-airflow.git
cd mcp-server-apache-airflow
  1. 安装开发依赖项:
uv sync --dev
  1. 创建一个 .env 环境变量文件(开发时可选):
touch .env
注运行测试不需要设置任何环境变量 AIRFLOW_HOST 默认为 http://localhost:8080 用于开发和测试目的。

运行测试

该项目使用 pytest 进行测试,可用命令如下:

# Run all tests
make test

代码质量

# Run linting
make lint

# Run code formatting
make format

持续集成

该项目包含一个GitHub Actions工作流(.github/workflows/test.yml)自动地:

  • 在 Python 3.10、3.11 和 3.12 上运行测试
  • 使用 ruff 执行代码规范检查
  • 在每次推送和拉取请求时运行 main 分支

CI(持续集成)流水线确保在任何更改合并之前,代码质量和兼容性都能在所有支持的Python版本上得到保证。

做出贡献

欢迎贡献!请随时提交拉取请求。

当项目版本(project.version)更新时,该包会自动部署到PyPI pyproject.toml。 遵循语义化版本控制(SemVer)进行版本管理。

请在拉取请求(PR)中包含版本更新,以便将更改应用于核心逻辑。

许可证

麻省理工学院许可证(MIT License)

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

工作流自动化Python本地部署API网关DAG管理Airflow集成任务编排

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Apache Airflow

MCP World · 本页

0stdio有2 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Apache Airflow 怎么安装?

公开资料给出的安装命令是 uv run mcp-server-apache-airflow --apis dag --apis dagrun,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Apache Airflow 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Apache Airflow 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Apache Airflow 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Apache Airflow 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP