Token导航 LogoToken导航TokenDH.com
Harvester MCP Server logo
开发工具HTTP官方级别未说明来源级核验

Harvester MCP Server

MCP Server

Model Context Protocol (MCP) server for Harvester HCI

工具数

0

提示词数

0

GitHub Stars

3

资源数

0
Kubernetes管理GoClaude自然语言处理Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

starbops

提供方

starbops

最后核验

2026/5/18 04:04

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

收割机MCP服务器

Harvester HCI的模型上下文协议(MCP)服务器,使Claude Desktop、Cursor和其他AI助手能够通过MCP协议与Harvester集群进行交互。

概述

工作流程

下图说明了Harvester MCP Server如何弥合AI助手和Harvester集群之间的差距:

graph LR;
    subgraph "AI Assistants"
        A[Claude Desktop] --> C[MCP Client];
        B[Cursor IDE] --> C;
    end
    
    subgraph "Harvester MCP Server"
        C --> D[MCP Server];
        D --> E[Resource Handler];
        E --> F[Formatter Registry];
        F -->|Get Formatter| G[Core Resource Formatters];
        F -->|Get Formatter| H[Harvester Resource Formatters];
    end
    
    subgraph "Kubernetes / Harvester"
        G --> I[Kubernetes API];
        H --> I;
        I --> J[Harvester Cluster];
    end
    
    style A fill:#f9f,stroke:#333,stroke-width:2px;
    style B fill:#f9f,stroke:#333,stroke-width:2px;
    style D fill:#bbf,stroke:#333,stroke-width:2px;
    style J fill:#bfb,stroke:#333,stroke-width:2px;

运作原理

  1. LLM集成:Claude Desktop和Cursor等AI助手通过MCP协议连接到Harvester MCP服务器。
  2. 请求处理MCP服务器接收来自AI助手的自然语言请求,并将其转换为特定的Kubernetes操作。
  3. 资源处理:资源处理程序标识所请求的资源类型和操作。
  4. 格式化程序选择:格式化程序注册表为资源类型选择适当的格式化程序。
  5. API交互:服务器与Harvester集群的Kubernetes API交互。
  6. 响应格式:结果被格式化为人类可读的文本,针对LLM消费进行了优化。
  7. 用户演示文稿:格式化的响应将返回给AI助手,以呈现给用户。

这种架构使AI助手能够通过自然语言与Harvester集群进行交互,使用户更容易访问复杂的Kubernetes操作。

特性

  • Kubernetes核心资源:

- Pod:列表、获取、删除 - 部署:列表,获取 - 服务:列表,获取 - 命名空间:列表,获取 - 节点:列表,获取 - 自定义资源定义(CRD):列表

  • 收割机专用资源:

- 虚拟机:列表,获取 - 图片:列表 - 卷:列表 - 网络:列表

  • 增强的用户体验:

- 所有资源的可读格式化输出 - 按命名空间或状态自动对资源进行分组 - 包含最相关信息的简明摘要 - 全面资源检查的详细视图

需求

  • 转到1.23+
  • 使用有效的kubeconfig访问Harvester集群

安装

来源

# Clone the repository
git clone https://github.com/starbops/harvester-mcp-server.git
cd harvester-mcp-server

# Build
make build

# Run
./bin/harvester-mcp-server

使用Go安装

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

配置

服务器会自动按以下顺序查找Kubernetes配置:

  1. 集群内配置(如果在Kubernetes集群内运行)
  2. 由指定的路径 --kubeconfig 旗帜
  3. 由指定的路径 KUBECONFIG 环境变量
  4. 默认位置为 ~/.kube/config

命令行标志

Usage:
  harvester-mcp-server [flags]

Flags:
  -h, --help                help for harvester-mcp-server
      --kubeconfig string   Path to the kubeconfig file (default is $KUBECONFIG or $HOME/.kube/config)
      --log-level string    Log level (debug, info, warn, error, fatal, panic) (default "info")

例子

使用特定的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. 安装克劳德桌面
  2. 打开Claude Desktop配置文件(~/Library/Application\ Support/Claude/claude_desktop_config.json 或类似)
  3. 将收割机MCP服务器添加到 mcpServers 章节:
{
  "mcpServers": {
    "harvester": {
      "command": "/path/to/harvester-mcp-server",
      "args": ["--kubeconfig", "/path/to/kubeconfig.yaml", "--log-level", "info"]
    }
  }
}
  1. 重新启动克劳德桌面
  2. 克劳德现在应该可以使用收割机MCP工具了

Claude Desktop查询示例

在Claude Desktop中配置Harvester MCP服务器后,您可以提出以下问题:

  • “我的Harvester集群中有多少节点?”
  • “列出牛系统命名空间中的所有Pod”
  • “显示牛系统命名空间中名为rancher-789c976c6-xbvmd的pod的详细信息”
  • “列出默认命名空间中的所有虚拟机”
  • “收割机系统命名空间中正在运行哪些服务?”

发展

项目结构

  • cmd/harvester-mcp-server:主要应用程序入口点
  • pkg/client:Kubernetes客户端实现
  • pkg/cmd:使用Cobra实现CLI命令
  • pkg/mcp:MCP服务器实现
  • pkg/kubernetes:Kubernetes资源的统一资源处理程序
  • pkg/tools:用于与收割机资源交互的传统工具实现

资源处理

该项目使用统一的方法来处理Kubernetes资源:

  1. pkg/kubernetes/resources.go 文件包含 ResourceHandler 为所有资源类型提供通用操作:

- 列出具有适当名称空间处理的资源 - 按名称获取资源详细信息 - 创建和更新资源 - 删除资源

  1. pkg/kubernetes/formatters*.go 文件包含不同资源类型的格式化程序:

- 每个格式化程序都将原始Kubernetes对象转换为人类可读的文本 - 以一致的方式提取和格式化特定于资源的详细信息 - 标准Kubernetes资源和特定于Harvester的资源都有自定义格式化程序

  1. pkg/kubernetes/types.go 文件将友好的资源类型名称映射到Kubernetes GroupVersionResource对象:

- 使通过代码中的简单名称引用资源变得容易 - 集中资源类型定义

添加新工具

要添加新工具,请执行以下操作:

  1. 如果是新的资源类型,请将其添加到 pkg/kubernetes/types.go
  2. 在其中一个格式化程序文件中实现资源的格式化程序
  3. 在中注册该工具 pkg/mcp/server.goregisterTools 使用统一资源处理程序的方法

格式化函数

每种资源类型都有两个格式化功能:

  1. formatXList -按命名空间分组,用简洁的信息格式化资源列表
  2. formatX -用详细信息格式化单个资源

许可证

此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。

致谢

目录标签

目录标签

Kubernetes管理GoClaude自然语言处理developer-toolskubernetesgolangmcpharvester-hci本地部署AI助手集成集群操作资源格式化

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

HTTP

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

HTTPnone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP