项目简介

这是一个基于 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..."
  }
}

基本使用方法

  1. 配置完成后,重启您的MCP客户端
  2. 在AI助手对话中,您可以:
    • 要求"提交这个工作流到argo命名空间",并附上YAML清单
  3. 询问"列出argo命名空间中所有运行中的工作流"
  4. 查看特定工作流的状态:"显示工作流hello-world-abc123的日志"
  5. 管理工作流:"暂停工作流data-pipeline-xyz"
  6. 查看图表:"给我展示工作流complex-dag-123的图表"

连接模式说明

  • 直接Kubernetes API:适用于本地开发或未部署Argo Server的环境
  • Argo Server模式:提供完整功能支持,包括存档操作

信息

分类

开发者工具