G

mcp-k8s-go

...
Created 12/1/2024bystrowk

Language:

Go

Stars:

49

Forks:

8

Golang-based MCP server connecting to Kubernetes

MCP K8S Go

Features ⚙ Browse With Inspector ⚙ Use With Claude ⚙ Contributing

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

Demo Usage

Following chat with Claude Desktop demonstrates how it looks when selected particular context as a resource and then asked to check pod logs for errors in kube-system namespace:

Claude Desktop

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
            | Prerequisite | Node.js                                | Node.js                              | Node.js                                        | None                                                    | Golang                                           |

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

The following environment variables are used by the MCP server:

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

Contributing

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

Last updated: 3/2/2025

Publisher info

strowk's avatar

strowk

8
followers
0
following
52
repos

More MCP servers built with Go

mcp-server

learn to make some mcp servers

By yiGmMk1
linear-mcp-go

linear MCP server based on mcp-go

By geropl1
gomcptest

A proof-of-concept demonstrating a custom-built host implementing an OpenAI-compatible API with Google Gemini, function calling, and interaction with a dummy MCP server.

By owulveryck2