argo-workflow-mcp-server
v1.0.2
Published
MCP Server for managing Argo Workflows via Argo Server API
Maintainers
Readme
Argo Workflow MCP Server
一个 Model Context Protocol (MCP) 服务器,为 AI Agent 提供管理 Argo Workflows 的能力。
功能特性
- 🚀 通过 Argo Server REST API 管理 Argo Workflows
- 📝 创建、查询、列出和删除 Workflow Templates
- ⚡ 提交、监控和管理 Workflow 实例
- 🔒 支持 Token 认证和 TLS 证书验证
- 🛠️ 完整的 MCP 协议支持
- 📦 易于安装和配置
安装
使用 npx(推荐)
无需安装,直接运行:
npx argo-workflow-mcp-server --argo-server https://argo-server.example.com --argo-token your-token全局安装
npm install -g argo-workflow-mcp-server使用方法
命令行参数
argo-workflow-mcp-server [options]
选项:
--argo-server <url> Argo Server 地址(必需)
--argo-token <token> Argo Server 认证 token(可选)
--argo-insecure 跳过 TLS 证书验证(用于自签名证书或开发环境)
--namespace <name> 默认命名空间(默认:argo)
--log-level <level> 日志级别:error, warn, info, debug(默认:info)
-h, --help 显示帮助信息
-V, --version 显示版本号示例
连接到生产环境 Argo Server
argo-workflow-mcp-server \
--argo-server https://argo-server.example.com \
--argo-token your-auth-token \
--namespace argo连接到本地开发环境(通过 port-forward)
首先设置 port-forward:
kubectl port-forward -n argo svc/argo-server 2746:2746然后启动 MCP Server:
argo-workflow-mcp-server \
--argo-server http://localhost:2746 \
--argo-insecure \
--namespace argo连接到使用自签名证书的 Argo Server
如果你的 Argo Server 使用自签名证书,会遇到 "self-signed certificate" 错误。使用 --argo-insecure 参数跳过证书验证:
argo-workflow-mcp-server \
--argo-server https://argo-server.example.com \
--argo-token your-auth-token \
--argo-insecure \
--namespace argo注意:--argo-insecure 会跳过 TLS 证书验证,仅在以下情况使用:
- 开发和测试环境
- 使用自签名证书的内部环境
- 通过 port-forward 连接本地环境
不推荐在生产环境使用,生产环境应使用有效的 TLS 证书。
AI Agent 配置
Kiro
在 .kiro/settings/mcp.json 中添加配置:
{
"mcpServers": {
"argo-workflow": {
"command": "npx",
"args": [
"-y",
"argo-workflow-mcp-server",
"--argo-server",
"https://argo-server.example.com",
"--argo-token",
"your-auth-token",
"--namespace",
"argo"
]
}
}
}其他 MCP 客户端
参考 MCP 文档 配置您的客户端。
可用工具
MCP Server 提供以下工具:
Workflow Template 管理
create_workflow_template- 创建新的 Workflow Templateget_workflow_template- 查询指定的 Workflow Templatelist_workflow_templates- 列出所有 Workflow Templatesdelete_workflow_template- 删除指定的 Workflow Template
Workflow 实例管理
submit_workflow- 从模板提交新的 Workflowget_workflow_status- 查询 Workflow 运行状态list_workflows- 列出所有 Workflowsdelete_workflow- 删除指定的 Workflow
获取 Argo Server 地址和 Token
获取 Argo Server 地址
如果 Argo Server 已暴露为 LoadBalancer 或 Ingress:
kubectl get svc -n argo argo-server如果使用 port-forward:
kubectl port-forward -n argo svc/argo-server 2746:2746
# 然后使用 http://localhost:2746获取认证 Token
创建 ServiceAccount 并获取 token:
# 创建 ServiceAccount
kubectl create sa argo-workflow-mcp -n argo
# 创建 RoleBinding(根据需要调整权限)
kubectl create rolebinding argo-workflow-mcp \
--clusterrole=argo-admin \
--serviceaccount=argo:argo-workflow-mcp \
-n argo
# 获取 token
kubectl create token argo-workflow-mcp -n argo --duration=8760h开发
构建
npm install
npm run build测试
npm test本地测试
npm run build
npm link
argo-workflow-mcp-server --help故障排查
自签名证书错误
错误信息:Failed to connect to Argo Server: self-signed certificate
解决方案:使用 --argo-insecure 参数跳过 TLS 证书验证
argo-workflow-mcp-server \
--argo-server https://your-argo-server \
--argo-token your-token \
--argo-insecure连接失败
- 确认 Argo Server 地址正确
- 检查网络连接
- 验证 token 是否有效
- 如果使用 HTTPS,确保证书有效或使用
--argo-insecure
权限错误
- 确认 ServiceAccount 有足够的权限
- 检查 RBAC 配置
- 验证 token 是否过期
更多帮助
查看 故障排查指南
许可证
MIT License - 详见 LICENSE 文件
贡献
欢迎提交 Issue 和 Pull Request!
