LogoMCP Store
icon of MCP K8S Go

MCP K8S Go

MCP K8S Go: A Golang-based MCP server connecting to Kubernetes, enabling resource management and integration with Claude.

Introduction

Golang-based MCP server connecting to Kubernetes

smithery badge MCP Package MCP Package Views

Features
  • 🗂️ resource: K8S contexts as read from kubeconfig configurations
  • 🤖 tool: list-k8s-contexts
  • 🤖 tool: list-k8s-namespaces in a given context
  • 🤖 tool: list-k8s-nodes in a given context
  • 🤖 tool: list-k8s-resources in a given context and namespace for specified resource kind
    • includes custom mappings for resources like pods, services, deployments
  • 🤖 tool: get-k8s-resource in a given context and namespace for specified name and resource kind
  • 🤖 tool: list-k8s-events in a given context and namespace
  • 🤖 tool: get-k8s-pod-logs in a given context and namespace for specified pod
  • 💬 prompt: list-k8s-namespaces in a given context
  • 💬 prompt: list-k8s-pods in current context and with given namespace
Browse With Inspector

To use latest published version with Inspector you can run this:

npx @modelcontextprotocol/inspector npx @strowk/mcp-k8s

or to use version built from sources, then in root folder of this project:

tools/inspector/run.sh
Use With Claude

To use this MCP server with Claude Desktop you would firstly need to install it.

You have several options for installation:

Smitherymcp-getPre-built NPMPre-built in GithubFrom sources
Claude SetupAutoAutoManualManualManual
PrerequisiteNode.jsNode.jsNode.jsNoneGolang
Using Smithery

To install MCP K8S Go for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @strowk/mcp-k8s --client claude
Using mcp-get

To install MCP K8S Go for Claude Desktop automatically via mcp-get:

npx @michaellatman/mcp-get@latest install @strowk/mcp-k8s
Manually with prebuilt binaries

Prebuilt from npm

Use this if you have npm installed and want to use pre-built binaries:

npm install -g @strowk/mcp-k8s

Then check version by running mcp-k8s --version and if this printed installed version, you can proceed to add configuration to claude_desktop_config.json file:

{
  "mcpServers": {
    "mcp_k8s": {
      "command": "mcp-k8s",
      "args": []
    }
  }
}

From GitHub releases

Head to GitHub releases and download the latest release for your platform.

Unpack the archive, which would contain binary named mcp-k8s-go, put that binary somewhere in your PATH and then add the following configuration to the claude_desktop_config.json file:

{
  "mcpServers": {
    "mcp_k8s": {
      "command": "mcp-k8s-go",
      "args": []
    }
  }
}
Building from source

You would need Golang installed to build this project:

go get github.com/strowk/mcp-k8s-go
go install github.com/strowk/mcp-k8s-go

, and then add the following configuration to the claude_desktop_config.json file:

{
  "mcpServers": {
    "mcp_k8s_go": {
      "command": "mcp-k8s-go",
      "args": []
    }
  }
}
Using from Claude Desktop

Now you should be able to run Claude Desktop and:

  • see K8S contexts available to attach to conversation as a resource
  • ask Claude to list contexts
  • ask Claude to list pods in a given context and namespace
  • ask Claude to list events in a given context and namespace
  • ask Claude to read logs of a given pod in a given context and namespace
Environment Variables and Command-line Options

The following environment variables are used by the MCP server:

  • KUBECONFIG: Path to your Kubernetes configuration file (optional, defaults to ~/.kube/config)

The following command-line options are supported:

  • --allowed-contexts=<ctx1,ctx2,...>: Comma-separated list of allowed Kubernetes contexts that users can access. If not specified, all contexts are allowed.
  • --help: Display help information
  • --version: Display version information
Contributing

Check out CONTRIBUTION.md for more information on how to contribute to this project.

Information

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates