article
README
🚀 Airflow MCP服务器
这是一个用于通过Airflow API控制Airflow的Model Context Protocol(MCP)服务器,借助它可方便地对Airflow进行操作与管理。
🚀 快速开始
演示视频
点击以下链接查看演示视频: 演示视频
📦 安装指南
使用Claude Desktop的配置方法
以下是Claude Desktop的配置示例:
{
"mcpServers": {
"airflow-mcp-server": {
"command": "uvx",
"args": [
"airflow-mcp-server"
],
"env": {
"AIRFLOW_BASE_URL": "http://<host:port>/api/v1",
// 使用AUTH_TOKEN进行基本认证
"AUTH_TOKEN": "<base64_encoded_username_password>",
// 或使用COOKIE进行基于Cookie的认证
"COOKIE": "<session_cookie>"
}
}
}
}
运行模式
服务器支持两种运行模式:
- 安全模式 (
--safe):只允许读取操作(GET请求),适合防止对Airflow实例进行任何修改的场景。 - 不安全模式 (
--unsafe):允许所有操作,包括修改,此为默认模式。
以安全模式启动:
airflow-mcp-server --safe
明确以不安全模式启动(尽管这是默认设置):
airflow-mcp-server --unsafe
考虑事项
MCP服务器期望以下环境变量已配置:
AIRFLOW_BASE_URL:Airflow API的基础URLAUTH_TOKEN:用于基本认证的base64编码用户名:密码(如果提供COOKIE则可选)COOKIE:用于基于Cookie认证的会话Cookie(如果提供AUTH_TOKEN则可选)OPENAPI_SPEC:OpenAPI规格文件的路径(默认为最新稳定版本)
认证方法 服务器支持两种认证方式:
- 基本认证:使用base64编码的用户名:密码通过
AUTH_TOKEN环境变量。 - 基于Cookie的认证:使用会话Cookie通过
COOKIE环境变量。
必须至少提供一种认证方法。
页面限制
默认显示100个项目,但你可以通过在Airflow的airflow.cfg文件中[api]部分使用maximum_page_limit选项来更改此设置。
📋 任务列表
- [x] 首个API实现
- [x] 解析OpenAPI规格
- [x] 实现安全/不安全模式
- [x] 允许会话认证
- [ ] 使用list_tools解析正确的描述
- [ ] 获取Airflow配置(特别是页面限制)
- [ ] 环境变量的可选性(环境变量可能不适合Airflow插件)
Scan to join WeChat group