# mcp-k8s-go

**Author:** strowk  
**Description:** Golang-based Model-Context-Protocol (MCP) server that exposes Kubernetes clusters as a set of chat-accessible resources and tools (list/get/create/modify resources, fetch logs, exec, etc.).  
**Stars:** 330  
**Forks:** 41  
**License:** MIT License  
**Category:** Open Source

[GitHub](https://github.com/strowk/mcp-k8s-go) [Website](https://www.npmjs.com/package/@strowk/mcp-k8s) [Documentation](https://github.com/strowk/mcp-k8s-go#readme) [NPM](https://www.npmjs.com/package/@strowk/mcp-k8s)

## Overview

## Transform Your Kubernetes Development with Augment Code + MCP-K8s-Go

Turn Augment Code into your ultimate Kubernetes development companion with this powerful MCP server that connects your AI assistant directly to your K8s clusters. No more context switching between your IDE, terminal, and kubectl commands—Augment can now manage your entire Kubernetes workflow while you focus on writing code.

## Seamless K8s Integration in Your Coding Flow

With MCP-K8s-Go configured in Augment Code, your AI assistant gains direct access to your Kubernetes environments. Ask Augment to "check if my microservice pods are healthy in the staging namespace" and watch it query your cluster, analyze pod status, and even pull logs to identify issues—all without leaving your coding session. When debugging a deployment issue, simply tell Augment "show me the recent events and logs for the failing pods" and it will gather comprehensive diagnostics from your cluster in seconds.

The real power emerges during active development: as you modify your application code, Augment can simultaneously check resource utilization, validate configurations, execute commands in running pods, and even create new resources based on your code changes. Whether you're troubleshooting a memory leak by examining pod metrics, testing API endpoints by exec'ing into containers, or scaling deployments based on load patterns, Augment becomes your intelligent Kubernetes operator that understands both your code and your infrastructure.

## Configuration for Augment Code

Install the server via npm and add this to your Augment Code settings:

```json
{
  "mcpServers": {
    "k8s": {
      "command": "npx",
      "args": ["@strowk/mcp-k8s"],
      "env": {
        "KUBECONFIG": "/path/to/your/.kube/config"
      }
    }
  }
}
```

For production environments, use the `--allowed-contexts` and `--readonly` flags to restrict Augment's cluster access while maintaining powerful debugging capabilities. Now you can code with confidence knowing your AI assistant has full visibility into your Kubernetes infrastructure.

## Installation

1. **Prerequisites**  
   • Go 1.22 or later installed  
   • Access to a Kubernetes cluster and a valid kubeconfig (~/.kube/config)  
   • (Optional) Docker if you prefer container deployment

2. **Get the source & build from GitHub**  
   
   ```bash
   git clone https://github.com/strowk/mcp-k8s-go.git
   cd mcp-k8s-go
   go build -o mcp-k8s ./cmd/server
   ```  
   
   Or install directly:  
   
   ```bash
   go install github.com/strowk/mcp-k8s-go/cmd/server@latest
   ```

3. **Install via NPM (Node.js wrapper / CLI convenience)**  
   
   ```bash
   npm install -g @strowk/mcp-k8s
   ```  
   
4. **Container image (quick start)**  
   
   ```bash
   docker pull ghcr.io/strowk/mcp-k8s-go:latest
   docker run -p 8080:8080 -v $HOME/.kube:/root/.kube ghcr.io/strowk/mcp-k8s-go:latest
   ```  
   
5. **Basic configuration**  
   
   The server looks for the following environment variables (use a .env file or your CI/CD secrets):  
   • KUBECONFIG – path to kubeconfig (defaults to ~/.kube/config)  
   • MCP_PORT – port to expose the MCP HTTP interface (default 8080)  
   • LOG_LEVEL – debug | info | warn | error (default info)

6. **Start the server**  
   
   ```bash
   MCP_PORT=8080 ./mcp-k8s
   ```

7. **Verify**  
   
   Open http://localhost:8080/healthz – returns 200 OK when the MCP server is healthy and able to reach the Kubernetes API.

## Available Tools

1. **List Kubernetes contexts**  
   Return the list of kubeconfig contexts available to the server  
2. **List Kubernetes namespaces**  
   Return the namespaces present in the selected Kubernetes context  
3. **List, get, create and modify any Kubernetes resources**  
   Full CRUD operations for arbitrary Kubernetes resources, including custom mappings for pods, services, deployments, etc.  
4. **List Kubernetes nodes**  
   Return the nodes in the current Kubernetes cluster  
5. **List Kubernetes pods**  
   Return pod objects within the chosen namespace  
6. **Get Kubernetes events**  
   Retrieve event objects from the Kubernetes API  
7. **Get Kubernetes pod logs**  
   Fetch log output for a specified pod/container  
8. **Run command in Kubernetes pod**  
   Execute an arbitrary command inside a running pod

**License:** MIT License  
**Updated:** 7/30/2025

### Table of Contents
