Harvester HCI MCP server

Enables management of Harvester HCI clusters through a Go-based server that provides tools for handling both standard Kubernetes and Harvester-specific resources with human-readable output formatting.
Back to servers
Provider
starbops
Release date
Mar 11, 2025
Language
Go

Harvester MCP Server is a bridge that enables AI assistants like Claude Desktop and Cursor to interact with Harvester clusters through natural language. It implements the Model Context Protocol (MCP) to allow these AI tools to perform operations on Kubernetes clusters with Harvester-specific resources, making complex cluster management more accessible.

Installation Options

From Source

# 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

Using Go Install

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

Configuration

The server looks for Kubernetes configuration in the following order:

  1. In-cluster configuration (if running inside a Kubernetes cluster)
  2. Path specified by the --kubeconfig flag
  3. Path specified by the KUBECONFIG environment variable
  4. Default location at ~/.kube/config

Command-Line Flags

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")

Configuration Examples

Using a specific kubeconfig file:

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

Using the KUBECONFIG environment variable:

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

With debug logging:

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

Setting Up with Claude Desktop

  1. Install Claude Desktop
  2. Open Claude Desktop configuration file (~/Library/Application\ Support/Claude/claude_desktop_config.json or similar)
  3. Add the Harvester MCP server to the mcpServers section:
{
  "mcpServers": {
    "harvester": {
      "command": "/path/to/harvester-mcp-server",
      "args": ["--kubeconfig", "/path/to/kubeconfig.yaml", "--log-level", "info"]
    }
  }
}
  1. Restart Claude Desktop
  2. The Harvester MCP tools should now be available to Claude

Supported Features

Kubernetes Core Resources

  • Pods: List, Get, Delete
  • Deployments: List, Get
  • Services: List, Get
  • Namespaces: List, Get
  • Nodes: List, Get
  • Custom Resource Definitions (CRDs): List

Harvester-Specific Resources

  • Virtual Machines: List, Get
  • Images: List
  • Volumes: List
  • Networks: List

Example Queries

Once your Harvester MCP server is configured with Claude Desktop, you can ask questions like:

  • "How many nodes are in my Harvester cluster?"
  • "List all pods in the cattle-system namespace"
  • "Show me the details of the pod named rancher-789c976c6-xbvmd in cattle-system namespace"
  • "List all virtual machines in the default namespace"
  • "What services are running in the harvester-system namespace?"

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later