mcp-服务器-apache-airflow
Apache Airflow 的模型上下文协议 (MCP) 服务器实现,可与 MCP 客户端无缝集成。该项目提供了一种通过模型上下文协议与 Apache Airflow 交互的标准化方式。
关于
该项目实现了一个模型上下文协议 (MCP)服务器,它封装了 Apache Airflow 的 REST API,允许 MCP 客户端以标准化的方式与 Airflow 交互。它使用官方的 Apache Airflow 客户端库来确保兼容性和可维护性。
功能实现状态
特征 | API 路径 | 地位 |
---|---|---|
DAG 管理 | ||
列出 DAG | /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} | ✅ |
修补多个 DAG | /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}/clearTaskInstances | ✅ |
设置任务实例状态 | /api/v1/dags/{dag_id}/updateTaskInstancesState | ✅ |
变量 | ||
列出变量 | /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 | ||
列出 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 统计数据 | ||
获取 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
)。安装此软件包时,它将自动安装。
环境变量
设置以下环境变量:
与 Claude Desktop 一起使用
添加到您的claude_desktop_config.json
:
使用uv
替代配置:
将/path/to/mcp-server-apache-airflow
替换为您克隆存储库的实际路径。
选择 API 组
您可以通过设置--apis
标志来选择要使用的 API 组。
默认使用所有 API。
允许的值为:
- 配置
- 连接
- 达格
- 达格伦
- 达格统计
- 数据集
- 事件日志
- 导入错误
- 监控
- 插件
- 水池
- 提供者
- 任务实例
- 多变的
- 幽浮
手动执行
您也可以手动运行服务器:
make run
接受以下选项:
选项:
--port
:监听 SSE 的端口(默认值:8000)--transport
:传输类型(stdio/sse,默认值:stdio)
或者,您可以直接运行 sse 服务器,它接受相同的参数:
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Apache Airflow MCP 服务器:
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
执照
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
为 MCP 客户端提供与 Apache Airflow 的 REST API 交互的标准化方式,支持 DAG 管理和监控 Airflow 系统健康状况等操作。
Related Resources
Related MCP Servers
- -securityAlicense-qualityMCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.Last updated -132TypeScriptMIT License
- -securityAlicense-qualityA Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.Last updated -239PythonMIT License
- AsecurityAlicenseAqualityhttps://github.com/abhishekbhakat/airflow-mcp-serverLast updated -8913PythonMIT License
- AsecurityFlicenseAqualityAn MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.Last updated -3928