项目简介
这是一个基于 Model Context Protocol (MCP) 的服务器实现,专门为 Argo Workflows 设计。它允许 AI 助手如 Claude 通过标准化的工具与 Argo Workflows 进行交互,包括提交工作流、监控状态、查看日志、管理模板等功能。
主要功能
工作流生命周期管理
- 提交工作流:从YAML清单创建工作流
- 列出工作流:按状态或标签筛选查看工作流列表
- 获取工作流详情:查看特定工作流的详细信息
- 删除工作流:移除已完成或不需要的工作流
- 查看日志:获取工作流或Pod的详细日志信息
- 实时监控:流式获取工作流状态更新
- 等待完成:阻塞直到工作流达到终态
- 语法检查:在提交前验证工作流清单
工作流控制
- 暂停/恢复:临时停止或重新启动运行中的工作流
- 停止/终止:优雅停止或立即终止工作流
- 重试/重新提交:从失败步骤重试或基于现有工作流创建新工作流
可视化功能
- 渲染工作流图表:以Mermaid、ASCII、DOT或SVG格式显示工作流结构
- 清单预览:从YAML预览工作流结构而无需提交
模板管理
- 工作流模板:创建、查看、删除命名空间级模板
- 集群工作流模板:管理集群范围内的可复用工作流模板
- 定时工作流:创建和管理按计划执行的工作流
存档工作流(仅限Argo Server模式)
- 删除存档工作流:从存档中移除工作流
- 重提交存档工作流:基于存档的工作流创建新实例
安装步骤
下载预编译二进制文件
从GitHub Releases页面下载最新版本,根据您的操作系统选择对应的二进制文件,下载后赋予执行权限并移动到系统路径。
服务器配置
在您的MCP客户端(如Claude Desktop、Cursor等)配置中添加以下设置:
使用直接Kubernetes API连接:
{ "argo-workflows": { "command": "/usr/local/bin/mcp-for-argo-workflows", "args": ["--namespace", "argo"] }
使用Argo Server连接:
{ "argo-workflows": { "command": "/usr/local/bin/mcp-for-argo-workflows", "args": [ "--argo-server", "argo-server.argo:2746", "--namespace", "argo" ], "env": { "ARGO_TOKEN": "Bearer eyJhbGciOiJSUzI1NiIs..." } }
基本使用方法
- 配置完成后,重启您的MCP客户端
- 在AI助手对话中,您可以:
- 要求"提交这个工作流到argo命名空间",并附上YAML清单
- 询问"列出argo命名空间中所有运行中的工作流"
- 查看特定工作流的状态:"显示工作流hello-world-abc123的日志"
- 管理工作流:"暂停工作流data-pipeline-xyz"
- 查看图表:"给我展示工作流complex-dag-123的图表"
连接模式说明
- 直接Kubernetes API:适用于本地开发或未部署Argo Server的环境
- Argo Server模式:提供完整功能支持,包括存档操作
信息
分类
开发者工具