项目简介

Helm MCP 服务器是 Model Context Protocol (MCP) 服务器系列中的一员,专注于提供与 Kubernetes 包管理器 Helm 的交互能力。它允许大语言模型 (LLM) 客户端以结构化、标准化的方式访问 Helm 的功能,例如部署、升级、列出和搜索 Helm Chart 及 Release。

主要功能点

  • Chart 和 Release 管理: 支持 Helm Chart 的安装、升级和 Release 的卸载操作(需要服务器启用写模式)。
  • Release 信息查询: 能够列出已部署的 Helm Release 及其状态信息。
  • Chart 搜索: 支持在 ArtifactHub 或指定仓库中搜索 Helm Chart,并提供详细信息。
  • 资源访问: 提供对 Helm 最佳实践、工作流指南等文档资源的访问。
  • 多集群支持: 通过 kubeconfig 文件、上下文或 AWS EKS 集群名称指定操作目标集群。
  • 安全考虑: 内置危险命令模式检查,防止潜在的命令注入风险。
  • 灵活配置: 支持通过参数传递复杂的 Values、Values 文件或额外的 Helm CLI 参数。

安装步骤

本项目是一个 Python 应用,依赖 Helm CLI。

  1. 安装 Python: 确保系统已安装 Python (推荐 3.8+)。
  2. 安装 Helm CLI: 根据 Helm 官方文档安装 Helm 命令行工具,并确保其在系统的 PATH 中。
  3. 克隆仓库: 将 CloudBrain MCP 仓库克隆到本地。
    git clone https://github.com/structbinary/cloudbrain-mcp.git
    cd cloudbrain-mcp
  4. 安装依赖: 使用 poetry 或 pip 安装 Helm MCP 服务器的依赖。
    # 使用 poetry (推荐)
    poetry install --only helm-mcp-server
    # 或使用 pip
    pip install -r src/helm-mcp-server/requirements.txt # 假设存在 requirements.txt 或根据 setup.py 构建
  5. 配置 Kubernetes 访问: 确保运行服务器的环境能够访问目标 Kubernetes 集群(例如设置 KUBECONFIG 环境变量或配置 ~/.kube/config)。

服务器配置

MCP 客户端需要以下信息来启动并连接到 Helm MCP 服务器进程。这个配置通常以 JSON 格式提供给客户端。

{
  "server name": "helm-mcp-server",
  "command": "python",
  "args": [
    "src/helm-mcp-server/helm_mcp_server/server.py"
  ],
  "args_description": {
    "--allow-write": "启用写模式,允许执行安装、升级、卸载等会修改集群的操作(默认为禁用,只允许读操作如列出和搜索)。"
  }
}

配置说明:

  • 'server name': 服务器的唯一标识符,客户端用此名称引用服务器。
  • 'command': 用于启动服务器进程的命令,这里是 'python' 可执行文件。
  • 'args': 传递给 'command' 的参数列表。第一个参数是服务器主程序的路径。
  • 'args_description': (可选)描述 'args' 列表中参数的用途,方便用户理解和配置,例如 '--allow-write' 参数的说明。

根据需要执行写操作(安装、升级、卸载),可能需要在 'args' 列表中添加 '--allow-write' 参数。例如:

{
  "server name": "helm-mcp-server",
  "command": "python",
  "args": [
    "src/helm-mcp-server/helm_mcp_server/server.py",
    "--allow-write"
  ],
  "args_description": {
    "--allow-write": "启用写模式,允许执行安装、升级、卸载等会修改集群的操作(默认为禁用,只允许读操作如列出和搜索)。"
  }
}

基本使用方法

MCP 服务器由兼容的 LLM 客户端(如 LiteLLM、或其他支持 MCP 的应用)自动管理和调用。作为用户或 MCP 客户端开发者,您可以通过以下方式与服务器交互:

  1. 连接客户端: 使用上述提供的配置信息启动您的 MCP 客户端,使其能够发现并连接到 Helm MCP 服务器进程。
  2. 访问资源: 客户端可以通过服务器声明的 URI 访问静态资源,例如读取 Helm 最佳实践 ('helm://best_practices')。
  3. 调用工具: 客户端可以通过服务器声明的工具名称调用 Helm 操作,例如调用 'list_releases' 工具获取当前集群中的 Release 列表,或调用 'install_chart' 工具部署新的应用。客户端需要按照工具定义提供相应的参数。

请参考您的 MCP 客户端文档,了解如何加载此服务器配置并调用其提供的功能。

信息

分类

开发者工具