
Research
Security News
The Growing Risk of Malicious Browser Extensions
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
kubernetes-mcp-server
Advanced tools
Model Context Protocol (MCP) server for Kubernetes and OpenShift
β¨ Features | π Getting Started | π₯ Demos | βοΈ Configuration | π οΈ Tools | π§βπ» Development
https://github.com/user-attachments/assets/be2b67b3-fc1c-4d11-ae46-93deba8ed98e
A powerful and flexible Kubernetes Model Context Protocol (MCP) server implementation with support for Kubernetes and OpenShift.
.kube/config
or in-cluster configuration.Unlike other Kubernetes MCP server implementations, this IS NOT just a wrapper around kubectl
or helm
command-line tools.
It is a Go-based native implementation that interacts directly with the Kubernetes API server.
There is NO NEED for external dependencies or tools to be installed on the system. If you're using the native binaries you don't need to have Node or Python installed on your system.
If you have npm installed, this is the fastest way to get started with kubernetes-mcp-server
on Claude Desktop.
Open your claude_desktop_config.json
and add the mcp server to the list of mcpServers
:
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": [
"-y",
"kubernetes-mcp-server@latest"
]
}
}
}
Install the Kubernetes MCP server extension in VS Code Insiders by pressing the following link:
Alternatively, you can install the extension manually by running the following command:
# For VS Code
code --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'
# For VS Code Insiders
code-insiders --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'
Goose CLI is the easiest (and cheapest) way to get rolling with artificial intelligence (AI) agents.
If you have npm installed, this is the fastest way to get started with kubernetes-mcp-server
.
Open your goose config.yaml
and add the mcp server to the list of mcpServers
:
extensions:
kubernetes:
command: npx
args:
- -y
- kubernetes-mcp-server@latest
Demo showcasing how Kubernetes MCP server is leveraged by Claude Desktop to automatically diagnose and fix a deployment in OpenShift without any user assistance.
https://github.com/user-attachments/assets/a576176d-a142-4c19-b9aa-a83dc4b8d941
In this demo, I walk you through the process of Vibe Coding a simple game using VS Code and how to leverage Podman MCP server and Kubernetes MCP server to deploy it to OpenShift.
In this demo, I'll show you how to set up Kubernetes MCP server in VS code just by clicking a link.
The Kubernetes MCP server can be configured using command line (CLI) arguments.
You can run the CLI executable either by using npx
, uvx
, or by downloading the latest release binary.
# Run the Kubernetes MCP server using npx (in case you have npm and node installed)
npx kubernetes-mcp-server@latest --help
# Run the Kubernetes MCP server using uvx (in case you have uv and python installed)
uvx kubernetes-mcp-server@latest --help
# Run the Kubernetes MCP server using the latest release binary
./kubernetes-mcp-server --help
Option | Description |
---|---|
--sse-port | Starts the MCP server in Server-Sent Event (SSE) mode and listens on the specified port. |
--log-level | Sets the logging level (values from 0-9). Similar to kubectl logging levels. |
--kubeconfig | Path to the Kubernetes configuration file. If not provided, it will try to resolve the configuration (in-cluster, default location, etc.). |
--read-only | If set, the MCP server will run in read-only mode, meaning it will not allow any write operations (create, update, delete) on the Kubernetes cluster. This is useful for debugging or inspecting the cluster without making changes. |
--disable-destructive | If set, the MCP server will disable all destructive operations (delete, update, etc.) on the Kubernetes cluster. This is useful for debugging or inspecting the cluster without accidentally making changes. This option has no effect when --read-only is used. |
configuration_view
Get the current Kubernetes configuration content as a kubeconfig YAML
Parameters:
minified
(boolean
, optional, default: true
)
true
, keeps only the current-context and relevant configuration piecesfalse
, returns all contexts, clusters, auth-infos, and usersevents_list
List all the Kubernetes events in the current cluster from all namespaces
Parameters:
namespace
(string
, optional)
helm_install
Install a Helm chart in the current or provided namespace with the provided name and chart
Parameters:
chart
(string
, required)
./my-chart.tgz
or https://example.com/my-chart.tgz
values
(object
, optional)
{"key": "value"}
name
(string
, optional)
namespace
(string
, optional)
helm_list
List all the Helm releases in the current or provided namespace (or in all namespaces if specified)
Parameters:
namespace
(string
, optional)
all_namespaces
(boolean
, optional)
true
, will list Helm releases from all namespacesfalse
, will list Helm releases from the specified namespacehelm_uninstall
Uninstall a Helm release in the current or provided namespace with the provided name
Parameters:
name
(string
, required)
namespace
(string
, optional)
namespaces_list
List all the Kubernetes namespaces in the current cluster
Parameters: None
pods_delete
Delete a Kubernetes Pod in the current or provided namespace with the provided name
Parameters:
name
(string
, required)
namespace
(string
, required)
pods_exec
Execute a command in a Kubernetes Pod in the current or provided namespace with the provided name and command
Parameters:
command
(string[]
, required)
["ls", "-l", "/tmp"]
name
(string, required)
namespace
(string, required)
container
(string
, optional)
pods_get
Get a Kubernetes Pod in the current or provided namespace with the provided name
Parameters:
name
(string
, required)
namespace
(string
, required)
pods_list
List all the Kubernetes pods in the current cluster from all namespaces
Parameters:
labelSelector
(string
, optional)
pods_list_in_namespace
List all the Kubernetes pods in the specified namespace in the current cluster
Parameters:
namespace
(string
, required)
labelSelector
(string
, optional)
pods_log
Get the logs of a Kubernetes Pod in the current or provided namespace with the provided name
Parameters:
name
(string
, required)
namespace
(string
, required)
container
(string
, optional)
pods_run
Run a Kubernetes Pod in the current or provided namespace with the provided container image and optional name
Parameters:
image
(string
, required)
namespace
(string
, required)
name
(string
, optional)
port
(number
, optional)
projects_list
List all the OpenShift projects in the current cluster
resources_create_or_update
Create or update a Kubernetes resource in the current cluster by providing a YAML or JSON representation of the resource
Parameters:
resource
(string
, required)
Common apiVersion and kind include:
resources_delete
Delete a Kubernetes resource in the current cluster
Parameters:
apiVersion
(string
, required)
v1
, apps/v1
, networking.k8s.io/v1
)kind
(string
, required)
Pod
, Service
, Deployment
, Ingress
)name
(string
, required)
namespace
(string
, optional)
resources_get
Get a Kubernetes resource in the current cluster
Parameters:
apiVersion
(string
, required)
v1
, apps/v1
, networking.k8s.io/v1
)kind
(string
, required)
Pod
, Service
, Deployment
, Ingress
)name
(string
, required)
namespace
(string
, optional)
resources_list
List Kubernetes resources and objects in the current cluster
Parameters:
apiVersion
(string
, required)
v1
, apps/v1
, networking.k8s.io/v1
)kind
(string
, required)
Pod
, Service
, Deployment
, Ingress
)namespace
(string
, optional)
labelSelector
(string
, optional)
Compile the project and run the Kubernetes MCP server with mcp-inspector to inspect the MCP server.
# Compile the project
make build
# Run the Kubernetes MCP server with mcp-inspector
npx @modelcontextprotocol/inspector@latest $(pwd)/kubernetes-mcp-server
FAQs
Model Context Protocol (MCP) server for Kubernetes and OpenShift
The npm package kubernetes-mcp-server receives a total of 693 weekly downloads. As such, kubernetes-mcp-server popularity was classified as not popular.
We found that kubernetes-mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
Research
Security News
An in-depth analysis of credential stealers, crypto drainers, cryptojackers, and clipboard hijackers abusing open source package registries to compromise Web3 development environments.
Security News
pnpm 10.12.1 introduces a global virtual store for faster installs and new options for managing dependencies with version catalogs.