Argo工作流MCP服务器

用于与Argo工作流交互的模型上下文协议(MCP)服务器,使Claude Desktop和Claude Code能够直接管理和监控Argo工作流。

  • by Heapy
  • Kotlin
  • 混合部署
  • 2 星标
  • 更新于
在 GitHub 查看 Heapy/argo-workflows-mcp

使用说明

Argo工作流MCP服务器

用于与Argo工作流交互的模型上下文协议(MCP)服务器。该服务器使Claude Desktop和Claude Code能够直接管理和监控Argo工作流。

特性

  • 列出并监控工作流
  • 管理工作流模板
  • 处理cron工作流
  • 查询工作流状态和日志
  • 使用可配置的权限执行工作流操作

建筑

# Build the application
./gradlew installDist

# Run tests
./gradlew test

运行MCP服务器

此项目作为HTTP/SSE MCP服务器运行。它不是stdio服务器,因此MCP 进程启动后,客户端必须连接到其URL。

./gradlew installDist

ARGO_MCP_HOST=127.0.0.1 \
ARGO_MCP_PORT=8080 \
ARGO_MCP_DB_PATH=./argo-workflows-mcp.db \
./build/install/argo-workflows-mcp/bin/argo-workflows-mcp

打开web UI http://localhost:8080/connectionsMCP SSE端点为 可用的 http://localhost:8080/.

从web UI添加Argo连接,或先连接MCP服务器并使用 这 add_connection 工具。连接详细信息存储在SQLite数据库中 由以下人员选择 ARGO_MCP_DB_PATH.

使用Claude代码进行配置

Claude Code可以直接连接到服务器的SSE端点:

claude mcp add --transport sse argo-workflows http://localhost:8080/

对于项目配置,请使用 .mcp.json:

{
  "mcpServers": {
    "argo-workflows": {
      "type": "sse",
      "url": "http://localhost:8080/"
    }
  }
}

使用Claude Desktop进行配置

Claude Desktop远程MCP支持取决于您的桌面版本和计划。如果 您的桌面版本支持远程连接器,请添加指向的自定义连接器 http://localhost:8080/.

对于仅启动stdio命令的桌面设置,请桥接本地SSE服务器 随着 mcp-remote:

{
  "mcpServers": {
    "argo-workflows": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "http://localhost:8080/"
      ]
    }
  }
}

更改Claude Desktop配置后,完全退出并重新打开Claude 桌面,以便重新加载MCP服务器列表。

Docker使用

使用已发布的图像

图片由CI发布到GitHub容器注册表:

  • ghcr.io/heapy/argo-workflows-mcp:main --最新版本从 main
  • ghcr.io/heapy/argo-workflows-mcp:<git-sha> --每次提交不可变构建
docker run -it --rm \
  -p 127.0.0.1:8080:8080 \
  -e ARGO_MCP_DB_PATH=/app/data/argo-workflows-mcp.db \
  -v "$HOME/.argo-workflows-mcp:/app/data" \
  ghcr.io/heapy/argo-workflows-mcp:main

在当地建设

# Build the application first
./gradlew installDist

# Build Docker image
docker build -t argo-workflows-mcp:latest .

# Run with docker-compose
docker-compose up

# Or run directly
docker run -it --rm \
  -p 127.0.0.1:8080:8080 \
  -e ARGO_MCP_DB_PATH=/app/data/argo-workflows-mcp.db \
  -v "$(pwd)/data:/app/data" \
  argo-workflows-mcp:latest

然后打开 http://localhost:8080/connections 并添加Argo服务器URL, 命名空间、令牌或基本凭据以及TLS选项。

如果为另一台主机颁发了TLS证书,请设置连接的TLS UI中的服务器名称或 add_connection 工具,以便客户端呈现 预期SNI值。

环境变量

服务器配置

  • ARGO_MCP_HOST -HTTP绑定地址(默认值: 0.0.0.0)
  • ARGO_MCP_PORT -HTTP端口(默认值: 8080)
  • ARGO_MCP_DB_PATH -SQLite数据库路径(默认值: argo-workflows-mcp.db)

Argo工作流连接

Argo连接设置不是从环境变量中读取的。配置 它们位于web UI中 /connections,或致电 add_connection 主控程序 工具。存储的连接包括:

  • Argo工作流API URL
  • 默认 Kubernetes 命名空间
  • 承载令牌或基本身份验证凭据
  • TLS验证和TLS服务器名称选项
  • 请求超时

权限

权限设置存储在SQLite数据库中,可以从以下位置更改 web用户界面位于 /settings.

日志记录

应用程序日志被写入stdout。工具审核记录存储在 SQLite数据库,显示在web UI中 /audit.

安全说明

  • 默认情况下,服务器以只读模式运行
  • 仅当MCP服务器绑定到时,才启用突变或破坏性操作 一个可信的接口。
  • 在启用突变之前,使用“设置”页面查看权限标志。
  • 工具调用将写入审核日志表。

发展

本项目使用:

  • Kotlin与协程
  • 等级9.2.0
  • Java 25
  • MCP Kotlin SDK
  • 从OpenAPI规范生成Argo工作流客户端

看 代理商.md 发展指南。