README
🚀 MCP Argo 服务器
MCP Argo 服务器是一款符合 MCP 标准的轻量级 CLI 工具,采用 Golang 编写,用于运行 Argo Workflows。它借助 JSON - RPC 协议在 STDIN 和 STDOUT 上实现通信。
🚀 快速开始
MCP Argo 服务器利用 Foxy Contexts 处理 RPC 请求,同时借助 client - go 与 Kubernetes 和 Argo 工作流资源进行交互。该项目提供了启动工作流、检查工作流状态以及获取结果的工具。
📦 安装指南
此项目配置为在开发容器中运行。您只需在支持远程容器的代码编辑器(例如 VS Code Remote - Containers)中打开该仓库,所有依赖项便会自动安装。
若您更倾向于在本地运行,可克隆仓库并执行以下命令:
go mod tidy
💻 使用示例
基础用法
将项目打开到开发容器中。
运行 make cluster 命令,该命令会安装 k3d 集群并在 Argo 上进行设置。
您可以通过输入 kubectl cluster-info 检查是否正常工作。
您可以运行一个测试工作流,通过输入 argo submit -n argo --watch ./kube/argo-hello-world.yaml。
您可以在 https://localhost:2746/workflows/argo/ 访问 Argo 界面。
您可以通过运行 make run 检查应用程序是否正在构建以及 MCP 是否正常工作。
高级用法
该项目包含一个 Python 测试客户端,用于演示如何与 MCP Argo 服务器交互。测试客户端位于 python/test_with_autogen.py 中,展示了以下功能:
- 提交 Argo 工作流
- 检查工作流状态
- 等待工作流完成
- 获取工作流结果
要运行 Python 测试,可按以下步骤操作:
- 确保已安装 Python 依赖项:
cd python
make install
- 运行测试脚本:
python test_with_autogen.py
或者直接调试,逐步执行。
该脚本将:
- 连接到 MCP Argo 服务器
- 迭代工具并打印它们
- 提交来自
kube/argo-hello-world.yaml的示例工作流 - 监视工作流状态直到完成
- 显示工作流结果
🤝 贡献
欢迎贡献!请打开问题并提交拉取请求。在提交更改之前,请确保遵循项目的编码指南,并且所有测试都通过。
📄 许可证
此项目根据 MIT 许可证分发。有关详细信息,请参阅 LICENSE 文件。
微信扫一扫