项目简介
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。
- 安装 Python: 确保系统已安装 Python (推荐 3.8+)。
- 安装 Helm CLI: 根据 Helm 官方文档安装 Helm 命令行工具,并确保其在系统的 PATH 中。
- 克隆仓库: 将 CloudBrain MCP 仓库克隆到本地。
git clone https://github.com/structbinary/cloudbrain-mcp.git cd cloudbrain-mcp - 安装依赖: 使用 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 构建 - 配置 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 客户端开发者,您可以通过以下方式与服务器交互:
- 连接客户端: 使用上述提供的配置信息启动您的 MCP 客户端,使其能够发现并连接到 Helm MCP 服务器进程。
- 访问资源: 客户端可以通过服务器声明的 URI 访问静态资源,例如读取 Helm 最佳实践 ('helm://best_practices')。
- 调用工具: 客户端可以通过服务器声明的工具名称调用 Helm 操作,例如调用 'list_releases' 工具获取当前集群中的 Release 列表,或调用 'install_chart' 工具部署新的应用。客户端需要按照工具定义提供相应的参数。
请参考您的 MCP 客户端文档,了解如何加载此服务器配置并调用其提供的功能。
信息
分类
开发者工具