MCP server
by feiskyer
Manage Kubernetes clusters in real-time using kubectl commands for seamless resource administration directly within conv
Provides direct CLI-level access to Kubernetes clusters for managing resources, debugging pods, and monitoring cluster state. Uses your existing kubeconfig to connect to any K8s cluster.
Kubernetes is a community-built MCP server published by feiskyer that provides AI assistants with tools and capabilities via the Model Context Protocol. Manage Kubernetes clusters in real-time using kubectl commands for seamless resource administration directly within conv It is categorized under cloud infrastructure, developer tools.
You can install Kubernetes in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
Apache-2.0
Kubernetes is released under the Apache-2.0 license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Share your MCP server with the developer community
Kubernetes has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
Strong directory entry: Kubernetes surfaces stars and publisher context so we could sanity-check maintenance before adopting.
Strong directory entry: Kubernetes surfaces stars and publisher context so we could sanity-check maintenance before adopting.
Useful MCP listing: Kubernetes is the kind of server we cite when onboarding engineers to host + tool permissions.
I recommend Kubernetes for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
Kubernetes reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
I recommend Kubernetes for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
I recommend Kubernetes for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
Strong directory entry: Kubernetes surfaces stars and publisher context so we could sanity-check maintenance before adopting.
Kubernetes has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
showing 1-10 of 74
The mcp-kubernetes-server is a server implementing the Model Context Protocol (MCP) to enable AI assistants (such as Claude, Cursor, and GitHub Copilot) to interact with Kubernetes clusters. It acts as a bridge, translating natural language requests from these assistants into Kubernetes operations and returning the results.
It allows AI assistants to:
The mcp-kubernetes-server acts as an intermediary between AI assistants (that support the Model Context Protocol) and your Kubernetes cluster. It receives natural language requests from these assistants, translates them into kubectl commands or direct Kubernetes API calls, and executes them against the target cluster. The server then processes the results and returns a structured response, enabling seamless interaction with your Kubernetes environment via the AI assistant.

Before installing mcp-kubernetes-server, ensure you have the following:
kubeconfig file correctly configured to access your Kubernetes cluster (the server requires this file for interaction).kubectl command-line tool installed and in your system's PATH (used by the server to execute many Kubernetes commands).helm command-line tool installed and in your system's PATH (used by the server for Helm chart operations).uvx (without Docker).Get your kubeconfig file for your Kubernetes cluster and setup in the mcpServers (replace src path with your kubeconfig path):
{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount", "type=bind,src=/home/username/.kube/config,dst=/home/mcp/.kube/config",
"ghcr.io/feiskyer/mcp-kubernetes-server"
]
}
}
}
To run the server using uvx (a tool included with uv, the Python packager), first ensure uv is installed:
Install uv if it's not installed yet and add it to your PATH, e.g. using curl:
# For Linux and MacOS
curl -LsSf https://astral.sh/uv/install.sh | sh
</details>
<details>
<summary>Install kubectl</summary>
Install kubectl if it's not installed yet and add it to your PATH, e.g.
# For Linux
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
# For MacOS
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
</details>
<details>
<summary>Install helm</summary>
Install helm if it's not installed yet and add it to your PATH, e.g.
curl -sSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
</details>
<br/>
Config your MCP servers in Claude Desktop, Cursor, ChatGPT Copilot, Github Copilot and other supported AI clients, e.g.
{
"mcpServers": {
"kubernetes": {
"command": "uvx",
"args": [
"mcp-kubernetes-server"
],
"env": {
"KUBECONFIG": "<your-kubeconfig-path>"
}
}
}
}
Environment variables:
KUBECONFIG: Path to your kubeconfig file, e.g. /home/<username>/.kube/config.Command-line Arguments:
usage: main.py [-h] [--disable-kubectl] [--disable-helm] [--disable-write]
[--disable-delete] [--transport {stdio,sse,streamable-http}]
[--host HOST] [--port PORT]
MCP Kubernetes Server
options:
-h, --help show this help message and exit
--disable-kubectl Disable kubectl command execution
--disable-helm Disable helm command execution
--disable-write Disable write operations
--disable-delete Disable delete operations
--transport {stdio,sse,streamable-http}
Transport mechanism to use (stdio or sse or streamable-http)
--host HOST Host to use for sse or streamable-http server
--port PORT Port to use for sse or streamable-http server
</details>
Once the mcp-kubernetes-server is installed and configured in your AI client (using the JSON snippets provided in the 'How to install' section for Docker or UVX), you can start interacting with your Kubernetes cluster through natural language. For example, you can ask:
What is the status of my Kubernetes cluster?
What is wrong with my nginx pod?
Verifying the server: If you're running the server with stdio transport (common for uvx direct execution), the AI client will typically start and manage the server process. For sse or streamable-http transports, the server runs independently. You would have started it manually (e.g., uvx mcp-kubernetes-server --transport sse) and should see output in your terminal indicating it's running (e.g., INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)). You can also check for any error messages in the server terminal if the AI client fails to connect.
The mcp-kubernetes-server provides a comprehensive set of tools for interacting with Kubernetes clusters, categorized by operation type:
<details> <summary>Command Tools</summary>These tools provide general command execution capabilities:
| Tool | Description | Parameters |
|---|---|---|
| kubectl | Run any kubectl command and return the output | command (string) |
| helm | Run any helm command and return the output | command (string) |
These tools provide read-only access to Kubernetes resources:
| Tool | Description | Parameters |
|---|---|---|
| k8s_get | Fetch any Kubernetes object (or list) as JSON string | resource (string), name (string), namespace (string) |
| k8s_describe | Show detailed information about a specific resource or group of resources | resource_type (string), name (string, optional), namespace (string, optional), selector (string, optional), all_namespaces (boolean, optional) |
| k8s_logs | Print the logs for a container in a pod | pod_name (string), container (string, optional), namespace (string, optional), tail (integer, optional), previous (boolean, optional), since (string, optional), timestamps (boolean, optional), follow (boolean, optional) |
| k8s_events | List events in the cluster | namespace (string, optional), all_namespaces (boolean, optional), field_selector (string, optional), resource_type (string, optional), resource_name (string, optional), sort_by (string, optional), watch (boolean, optional) |
| k8s_apis | List all available APIs in the Kubernetes cluster | none |
| k8s_crds | List all Custom Resource Definitions (CRDs) in the Kubernetes cluster | none |
| k8s_top_nodes | Display resource usage (CPU/memory) of nodes | sort_by (string, optional) |
| k8s_top_pods | Display resource usage (CPU/memory) of pods | namespace (string, optional), all_namespaces (boolean, optional), sort_by (string, optional), selector (string, optional) |
| k8s_rollout_status | Get the status of a rollout for a deployment, daemonset, or statefulset | resource_type (string), name (string), namespace (string, optional) |
| k8s_rollout_history | Get the rollout history for a deployment, daemonset, or statefulset | resource_type (string), name (string), namespace (string, optional), revision (string, optional) |
| k8s_auth_can_i | Check whether an action is allowed | verb (string), resource (string), subresource (string, optional), namespace (string, optional), name (string, optional) |
| k8s_auth_whoami | Show the subject that you are currently authenticated as | none |
These tools provide create, update or patch operations to Kubernetes resources:
| Tool | Description | Parameters |
|---|---|---|
| k8s_create | Create a Kubernetes resource from YAML/JSON content | yaml_content (string), namespace (string, optional) |
| k8s_apply | Apply a configuration to a resource by filename or stdin | yaml_content (string), namespace (string, optional) |
| k8s_expose | Expose a resource as a new Kubernetes service | resource_type (string), name (string), port (integer), target_port (integer, optional), namespace (string, optional), protocol (string, optional), service_name (string, optional), labels (object, optional), selector (string, optional), type (string, optional) |
| k8s_run | Create and |
Prerequisites
Time Estimate
15-60 minutes depending on server complexity
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
Compatibility
✓ Use when
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid when
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.