Apache Airflow MCP 服务器是一个用于管理与 Apache Airflow 集成的第三方服务的实用工具。借助该服务器,用户能够轻松执行各类维护命令并处理相关任务,为 Airflow 的使用提供了更多便利。
MCP(Maintenance Command Processor)作为 Apache Airflow 的工具,专注于管理与 Airflow 集成的第三方服务。通过它,用户可执行多种维护命令并处理相关任务,提升 Airflow 的管理效率。
以下是 MCP 服务器支持的所有 API 组及其对应的接口:
| 分组 | 接口 |
|---|---|
| config | GET /api/v1/config |
| connections | GET, DELETE /api/v1/connections/{connection_id} |
| dag | GET, POST /api/v1/dags, GET, DELETE /api/v1/dags/{dag_id}, PATCH /api/v1/dags/{dag_id}/paused |
| dagrun | GET, POST /api/v1/dagruns, GET /api/v1/dagruns/{dag_run_id} |
| dagstats | GET /api/v1/dags/statistics |
| dataset | GET, DELETE /api/v1/datasets/{dataset_uri}, GET, DELETE /api/v1/datasets/{dataset_uri}/dag_runs/queued_events |
| eventlog | GET, DELETE /api/v1/event_logs/{event_log_id} |
| importerror | GET, DELETE /api/v1/import_errors/{import_error_id} |
| monitoring | GET /api/v1/health |
| plugin | GET /api/v1/plugins |
| provider | GET /api/v1/providers |
| taskinstance | GET, PATCH, DELETE /api/v1/task_instances/{task_instance_id}, GET /api/v1/dags/{dag_id}/task_instances |
| variable | GET, DELETE /api/v1/variables/{variable_key} |
| xcom | GET, DELETE /api/v1/xcoms/{xcom_key} |
该项目依赖于官方 Apache Airflow 客户端库 (apache-airflow-client),安装时会自动处理。
设置以下环境变量:
AIRFLOW_HOST=<你的-Airflow-主机>
AIRFLOW_USERNAME=<你的-Airflow-用户名>
AIRFLOW_PASSWORD=<你的-Airflow-密码>
将以下内容添加到 claude_desktop_config.json 文件中:
{
"mcpServers": {
"mcp-server-apache-airflow": {
"command": "uvx",
"args": ["mcp-server-apache-airflow"],
"env": {
"AIRFLOW_HOST": "https://你的-Airflow-主机",
"AIRFLOW_USERNAME": "你的用户名",
"AIRFLOW_PASSWORD": "你的密码"
}
}
}
}
使用 uv 的替代配置如下:
{
"mcpServers": {
"mcp-server-apache-airflow": {
"command": "uv",
"args": [
"--directory",
"/实际路径/mcp-server-apache-airflow",
"run",
"mcp-server-apache-airflow"
],
"env": {
"AIRFLOW_HOST": "https://你的-Airflow-主机",
"AIRFLOW_USERNAME": "你的用户名",
"AIRFLOW_PASSWORD": "你的密码"
}
}
}
}
请将 /实际路径/mcp-server-apache-airflow 替换为您实际克隆代码的位置。
通过 --apis 标志选择要使用的 API 组:
# 启用所有默认的 API 组
$ mcp-server-apache-airflow --apis default
# 启用特定的 API 组(例如:config, dag)
$ mcp-server-apache-airflow --apis config,dag
设置以下环境变量:
AIRFLOW_HOST:Airflow 服务器地址,默认为 http://localhost:8080AIRFLOW_USERNAME:登录用户名,默认为 adminAIRFLOW_PASSWORD:用户密码,默认为
在项目根目录下执行以下命令启动 MCP 服务器:
$ python -m mcp_server --apis default
GET /api/v1/config
GET /api/v1/connections
DELETE /api/v1/connections/{connection_id}
POST, GET /api/v1/dags
GET /api/v1/dags/{dag_id}
DELETE /api/v1/dags/{dag_id}
PATCH /api/v1/dags/{dag_id}/paused
POST, GET /api/v1/dagruns
GET /api/v1/dagruns/{dag_run_id}
POST, GET /api/v1/datasets
DELETE /api/v1/datasets/{dataset_uri}
GET /api/v1/datasets/{dataset_uri}/dag_runs/queued_events
DELETE /api/v1/datasets/{dataset_uri}/dag_runs/queued_events
GET /api/v1/event_logs/{event_log_id}
DELETE /api/v1/event_logs/{event_log_id}
GET /api/v1/import_errors/{import_error_id}
DELETE /api/v1/import_errors/{import_error_id}
GET /api/v1/health
GET /api/v1/plugins
GET /api/v1/providers
POST, GET /api/v1/task_instances
GET /api/v1/task_instances/{task_instance_id}
PATCH, DELETE /api/v1/task_instances/{task_instance_id}
GET /api/v1/dags/{dag_id}/task_instances
POST, GET /api/v1/variables
GET /api/v1/variables/{variable_key}
DELETE /api/v1/variables/{variable_key}
POST, GET /api/v1/xcoms
GET /api/v1/xcoms/{xcom_key}
DELETE /api/v1/xcoms/{xcom_key}
请在 Issues 中提交您遇到的问题。
[此处添加许可证信息]