使用说明
Apache气流MCP服务器
这 Apache气流MCP服务器 使用户能够使用自然语言编排和管理Airflow工作流,由 克劳德桌面所有源代码都是容器化的,便于部署和集成。该解决方案允许用户通过对话式提示与Airflow DAG、资产和管理工具进行交互,简化工作流程自动化和监控。
🚀 特性
- 自然语言工作流编排: 使用简明英语控制和查询气流。
- 容器化架构: 所有组件都在Docker中运行,以实现可移植性和可重复性。
- Claude桌面集成: MCP服务器和Claude Desktop之间的无缝通信。
- Visual Code Studio: MCP服务器和Visual Code Studio之间的无缝通信。
- 自动发现工具: 注册的气流工具在Claude Desktop中自动可用。
- 轻松设置: 最低的先决条件和简单的配置。
🛠 先决条件
- Docker桌面 -用于构建和运行Docker化应用程序的一体化容器运行时
- Docker Compose –用于管理多容器应用程序
- 克劳德桌面 –用于本地LLM互动
- (可选)Python 3.10+用于本地开发
- 正在运行的Apache Airflow实例(本地或远程)
⚡ 快速开始
1.克隆存储库
git clone https://github.com/BShraman/apache-airflow-mcp-server.git
cd apache-airflow-mcp-server
2.构建Docker镜像
docker build -t airflow-mcp-server .
3.本地启动气流实例
docker-compose up -d
4.访问气流UI
打开 http://localhost:8080 在您的浏览器中。
5.配置
克劳德桌面
要将Claude Desktop连接到MCP服务器,请执行以下步骤:
- 打开克劳德桌面
- 启动Claude Desktop应用程序。
- 导航到“设置”
- 点击 设置 图标(通常是齿轮⚙️) 在侧边栏中。
- 转到开发人员部分
- 在Settings(设置)菜单中,向下滚动并选择 开发者.
- 编辑配置
- 点击 编辑配置 在内置编辑器中打开配置文件。
- 添加MCP服务器条目
- 在配置文件中,找到
"claude_desktop_config.json"文件。 - 插入以下块(如果需要,更新图像名称):
{
"mcpServers": {
"airflow-custom-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"airflow-custom-mcp"
]
}
}
}
- 保存更改
- 点击 保存 应用您的更改。
- 重新启动克劳德桌面
- 重新启动Claude Desktop以确保加载新的MCP服务器配置。
有关更多详细信息,请参阅 Claude桌面文档.
Visual Studio Code
要将Visual Studio代码连接到MCP服务器,请执行以下步骤:
- 创建MCP配置文件
- 在项目根目录中,创建一个名为
.vscode/mcp.json.
- 添加MCP服务器配置
- 打开
mcp.json并添加以下配置(如果需要,更新映像名称或命令):
{
"mcpServers": {
"airflow-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"airflow-mcp-server"
]
}
}
}
- 保存配置
- 保存
mcp.json项目目录中的文件。
- 重新启动Visual Studio代码
- 关闭并重新打开Visual Studio代码,以确保加载了新的MCP配置。
- 验证MCP服务器连接
- 使用命令选项板(
Cmd+Shift+P或Ctrl+Shift+P)搜索MCP相关命令。 - 现在,您应该能够从Visual Studio代码中与MCP服务器进行交互。
提示:
如果需要传递环境变量或使用自定义Docker镜像,请调整 "args" 数组在你的 .json 因此。
💬 在Claude Desktop或Visual Studio代码中使用MCP
连接后,您可以通过输入以下提示直接在Claude Desktop中列出所有可用的气流工具: List available MCP tools.Claude Desktop将显示注册的工具及其说明。
ClaudeDesktop会将您的请求发送到MCP服务器,后者会将其转换为Airflow API调用,并以对话方式返回结果。这使得直观的工作流管理和监控成为可能,而无需编写代码或使用Airflow UI。
示例提示:
List all Airflow DAGsGet details for dag_id example_bash_operatorShow all workflow assetsTrigger the daily_report DAGWhat is the status of the example_bash_operator DAG?
它是如何工作的:
- 应用程序将您的提示发送到MCP服务器。
- MCP服务器将您的请求转换为Airflow的REST API。
- 结果在请求的应用程序中以对话方式返回。
🧩 高级用法
- 注册自定义工具: 将Python模块添加到
/tools目录以扩展MCP功能。 - 环境变量: 在中配置Airflow API URL、凭据和MCP服务器设置
.env. - 安全: 使用专用的Airflow凭据,并根据需要限制网络访问。
测试
📝 故障排除
- 找不到MCP工具: 确保MCP服务器正在运行且配置正确。
- 身份验证错误: 在
.env文件。 - Docker问题: 使用
docker logs查看错误消息。