WhiteCapData MCP Server

Operate a k3s / Kubernetes cluster from your AI agent — safe-by-default MCP server.

Local serverstdioPython

What is the WhiteCapData MCP server?

WhiteCapData MCP server is a locally run integration for AI assistants that speak the Model Context Protocol. Operate a k3s / Kubernetes cluster from your AI agent — safe-by-default MCP server.

What you get

An MCP server that lets an agent (Claude Code, Claude Desktop, Cursor, …) inspect and operate a Kubernetes / k3s cluster — your homelab box, a dev cluster, whatever your kubeconfig points at — without shelling out to kubectl. It talks to the Kubernetes API directly using your existing kubeconfig (or an in-cluster service account).

  • 🩺 One-call health. cluster_summary gives node + pod totals and the unhealthy pods, so the agent starts triage with real data
  • 🔒 Safe by default. Mutations are blocked unless the namespace is on your allowlist; flip HOMELAB_MCP_READONLY=1 to make the whole server read-only
  • 🧰 The operations you actually do. Pods, deployments, events, logs, node health, rollout-restart, scale, delete-pod
  • 🪶 No bespoke backend. Uses the standard Kubernetes API + your kubeconfig — nothing to deploy server-side
  • Tested. Pure logic is unit-tested with fakes; guard logic is tested against a mocked API. No cluster needed to run the suite

Setting it up

The server ships on PyPI as whitecapdata-dev, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

What the assistant can call

Once WhiteCapData is connected, these are the calls the assistant has available:

  • cluster_summary — read
  • list_pods — read
  • list_deployments — read
  • list_events — read
  • pod_logs — read
  • node_health — read
  • restart_deploymentwrite
  • scale_deploymentwrite
  • delete_podwrite
  • server_info — read

Configuration and credentials

You will need 2 environment variables: HOMELAB_MCP_MUTABLE_NAMESPACES, HOMELAB_MCP_READONLY. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • A reachable cluster and a working kubeconfig (the same one kubectl uses), or run it in-cluster with a service account. - Python 3.11+ (or just uvx).

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 10 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch WhiteCapData.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the whitecapdata mcp server does with a few real requests.

Choosing this one

Plenty of cloud and infrastructure servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. WhiteCapData's toolset — cluster_summary, list_pods, list_deployments and 7 more — is a fair guide to whether it matches your workflow. It is maintained by Michael-WhiteCapData; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
cluster_summaryread
list_podsread
list_deploymentsread
list_eventsread
pod_logsread
node_healthread
restart_deployment**write**
scale_deployment**write**
delete_pod**write**
server_inforead

How to install the WhiteCapData MCP server

{
  "mcpServers": {
    "homelab": {
      "command": "uvx",
      "args": ["whitecapdata-dev"],
      "env": {
        "HOMELAB_MCP_MUTABLE_NAMESPACES": "default,apps,monitoring",
        "HOMELAB_MCP_READONLY": "0"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • A reachable cluster and a working kubeconfig (the same one kubectl uses), or run it in-cluster with a service account. - Python 3.11+ (or just uvx).
VariableDescriptionRequired
HOMELAB_MCP_MUTABLE_NAMESPACESConfiguration value read at startup.Optional
HOMELAB_MCP_READONLYConfiguration value read at startup.Optional

Example prompts to try

  • Use WhiteCapData to cluster summary.
  • Use WhiteCapData to list pods.
  • Use WhiteCapData to list deployments.

Frequently asked questions

It connects WhiteCapData to MCP-compatible AI assistants such as Claude and Cursor, exposing 10 tools (cluster_summary, list_pods, list_deployments, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with WhiteCapData directly.