st-k8s MCP Server

st-k8s MCP Server

Exposes Kubernetes cluster management tools to LLMs, enabling querying pods, deployments, logs, metrics, and managing port forwards via natural language.

Category
Visit Server

README

<a id="top"></a> StayTuned

ST-K8s

Build Test Playwright Tests Coverage

View and chat to your Kubernetes cluster and container log files.

brew tap bhf/st-k8s
brew install st-k8s
st-k8s

Features a dashboard (with a K9s inspired dark theme and keyboard navigation), REST API, port forwarding management, resource monitoring, and MCP server. In browser AI chat powered by the Copilot SDK, any OpenAI API compatible provider, or local WebLLM models (requires WebGPU support).

Chat Context in chat Chat history

Uses Github Projects for planning and tracking.

Keyboard Navigation

The dashboard supports K9s-style keyboard navigation. Press : to open the command palette and navigate between resources using commands or aliases:

  • :pods or :po
  • :deployments or :deploy
  • :services or :svc
  • ...and many more standard K8s shortcuts.

Command Pallette

Log Viewer

View, copy and download streaming logs.

Log view

Port Forwarding

Manage Kubernetes port forwarding sessions directly from the dashboard or through AI chat. Supports both Pods and Services.

  • Dynamic Config: Specify target ports and local interface bindings.
  • Service Mapping: Automatically resolves Service targets to active Pods.
  • Agentic Control: Start or stop forwards using natural language through the Copilot integration or MCP server.

Port Forwarding

Resource Monitoring

Monitor CPU and memory usage for Nodes and Pods directly in the dashboard using interactive charts. Requires that your cluster has metrics server installed.

  • Real-time Data: Fetches live metrics from the Kubernetes Metrics Server.
  • Node Metrics: View cluster-wide resource utilization across all nodes.
  • Pod Metrics: Inspect resource consumption for individual pods in any namespace.
  • Visual Charts: Interactive Recharts-based visualizations for easier performance analysis.

Hardware Acceleration & WebGPU

ST-K8s supports local AI models running directly in your browser using WebLLM. This requires WebGPU and hardware acceleration to be enabled.

Google Chrome / Chromium

  1. Ensure you are on a recent version of Chrome.
  2. Enable WebGPU: Paste chrome://flags/#enable-unsafe-webgpu into your address bar and set it to Enabled.
  3. Enable Vulkan (Linux/Windows): Paste chrome://flags/#enable-vulkan and set it to Enabled.
  4. Relaunch Chrome.

Mozilla Firefox

  1. Type about:config in the address bar.
  2. Search for dom.webgpu.enabled and set it to true.
  3. Search for gfx.webgpu.force-enabled and set it to true if WebGPU doesn't work by default.
  4. MacOS users may also need to ensure gfx.webrender.all is true.

Verification

You can verify WebGPU support by visiting webgpu.github.io/webgpu-samples. If the samples run, ST-K8s will be able to load local models.

Table of Contents

How to Run

Using Homebrew (macOS/Linux)

The easiest way to install and run st-k8s is via Homebrew:

brew tap bhf/st-k8s
brew install st-k8s
st-k8s

From Source

To use the browser based chat feature make sure you install the Copilot CLI.

git clone https://github.com/bhf/st-k8s
cd st-k8s
npm run build
npm run start

Using the st-k8s CLI

You can install the project as a global CLI to run the app using the st-k8s command.

# From the repo root — install globally (or publish and install from a registry)
npm install -g .

# During development, link the local package to make `st-k8s` available globally
npm link

# Then launch the app with the CLI (it will build if no build exists)
st-k8s

Notes:

  • npm install -g . requires appropriate permissions (use sudo on some systems).
  • npm link is useful when iterating locally — run it once from the repo root.
  • The st-k8s command will attempt to use a Next.js standalone server if present (from next build), otherwise it runs npm run start.

Running Tests

This project uses Vitest for testing.

# Run all tests
npm test

# Run tests in watch mode
npm test -- --watch

# Run tests with coverage
npm run test:coverage

End-to-End Tests

This project uses Playwright for End-to-End testing.

# Run E2E tests
npm run test:e2e

Back to Top

API

Swagger spec available at http://localhost:3000/openapi.json after starting the server or from the public folder.

Back to Top

Model Context Protocol (MCP) Server

This project includes an MCP server that exposes Kubernetes tools to LLMs over stdio. Here are some example uses:

  • List of pods
  • Rank containers by their memory requests and limits
  • Summary of the last events in the namespace
  • Get the last 100 lines of logs for a specific pod

img_1.png

img_2.png

Back to Top

Features

Exposes read-only Kubernetes operations as tools:

  • list_namespaces
  • list_pods
  • list_deployments
  • list_services
  • list_daemonsets
  • list_replicasets
  • list_statefulsets
  • list_ingresses
  • list_endpoints
  • list_events
  • list_pvcs
  • list_nodes
  • list_configmaps
  • list_jobs
  • list_cronjobs
  • list_serviceaccounts
  • list_roles
  • list_rolebindings
  • get_pod_logs
  • list_port_forwards
  • start_port_forward
  • stop_port_forward
  • get_node_metrics
  • get_pod_metrics

Back to Top

Running the MCP Server

Make sure to auth your kubectl context in your preferred way before running the MCP server.

You can run the MCP server directly using:

npm run mcp

You can also run it from VSCode or any MCP-compatible client by configuring it as shown below.

Back to Top

Configuring for VSCode

Add the following to your mcp.json

{
  "servers": {
    "k8s-tools": {
      "command": "npm",
      "args": ["run", "mcp"],
      "cwd": "/absolute/path/to/st-k8s",
      "disabled": false,
      "autoApprove": [] 
    }
  }
}

Make sure to replace /absolute/path/to/st-k8s with the actual path to this repository on your machine.

Back to Top

LLM Integration Techniques

This project uses several LLM-based techniques to enhance the development lifecycle and user experience. These artifacts are located in the .github directory:

Back to Top

High Level Architecture

alt text

Back to Top

Accessibility

We are committed to making the dashboard accessible to all users. Please refer to our Accessibility Statement and Guidelines for details on current status, findings, and remediation plans.

Security

We take security seriously. Please refer to our Security Review for details on our security posture, findings, and recommendations.

Back to Top

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured