Harvester MCP Server

Harvester MCP Server

site icon
2025.03.25 0
GoKubernetes 管理AI 助手集成开发效率
Harvester MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,专为 Harvester HCI 设计。它允许 AI 助手(如 Claude Desktop 和 Cursor)通过 MCP 协议与 Harvester 集群进行交互,执行 CRUD 操作。Harvester 集群本质上是带有 Harvester 特定 CRD 的 Kubernetes 集群。该服务器通过自然语言处理将用户请求转换为 Kubernetes 操作,并将结果格式化为适合 AI 助手展示的文本。
View on GitHub

Overview

基本能力

产品定位

Harvester MCP Server 是一个连接 AI 助手与 Harvester 集群的中间件,通过自然语言处理简化 Kubernetes 操作。

核心功能

  • Kubernetes 核心资源操作
  • Pods: 列表、获取、删除
  • Deployments: 列表、获取
  • Services: 列表、获取
  • Namespaces: 列表、获取
  • Nodes: 列表、获取
  • Custom Resource Definitions (CRDs): 列表

  • Harvester 特定资源操作

  • Virtual Machines: 列表、获取
  • Images: 列表
  • Volumes: 列表
  • Networks: 列表

  • 增强用户体验

  • 所有资源的人类可读格式化输出
  • 按命名空间或状态自动分组资源
  • 简洁的摘要信息
  • 详细的资源检查视图

适用场景

  • AI 助手(如 Claude Desktop 和 Cursor)与 Harvester 集群的交互
  • 通过自然语言执行 Kubernetes 操作
  • 简化复杂的 Kubernetes 操作流程

使用教程

使用依赖

  • Go 1.23+
  • 访问具有有效 kubeconfig 的 Harvester 集群

安装教程

从源代码安装

# 克隆仓库
git clone https://github.com/starbops/harvester-mcp-server.git
cd harvester-mcp-server

# 构建
make build

# 运行
./bin/harvester-mcp-server

使用 Go Install

go install github.com/starbops/harvester-mcp-server/cmd/harvester-mcp-server@latest

调试方式

使用特定 kubeconfig 文件运行:

harvester-mcp-server --kubeconfig=/path/to/kubeconfig.yaml

使用 KUBECONFIG 环境变量:

export KUBECONFIG=$HOME/config.yaml
harvester-mcp-server

启用调试日志:

harvester-mcp-server --log-level=debug

与 Claude Desktop 集成

  1. 安装 Claude Desktop
  2. 打开 Claude Desktop 配置文件(~/Library/Application\ Support/Claude/claude_desktop_config.json 或类似路径)
  3. mcpServers 部分添加 Harvester MCP 服务器配置:
{
  "mcpServers": {
    "harvester": {
      "command": "/path/to/harvester-mcp-server",
      "args": ["--kubeconfig", "/path/to/kubeconfig.yaml", "--log-level", "info"]
    }
  }
}
  1. 重启 Claude Desktop
  2. Harvester MCP 工具现在应该对 Claude 可用

示例查询

  • "我的 Harvester 集群中有多少个节点?"
  • "列出 cattle-system 命名空间中的所有 pod"
  • "显示 cattle-system 命名空间中名为 rancher-789c976c6-xbvmd 的 pod 的详细信息"
  • "列出 default 命名空间中的所有虚拟机"
  • "harvester-system 命名空间中运行了哪些服务?"

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。