io.github.containers/kubernetes-mcp-server
A Model Context Protocol (MCP) server for Kubernetes and OpenShift
io.github.containers/kubernetes-mcp-server · Repository · version 0.0.66 · 2k stars · listed from registry
Install
The sweep installs into a clean prefix, but this is the command a user would run:
npx kubernetes-mcp-server
Results by platform
Linux
MCP handshake failed2026-08-16 · probed over npm1 recorded run, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
Error: unable to create kubernetes target provider: no current-context is set and no contexts are defined in kubeconfig.
Configure a context with 'kubectl config set-context <name>' and 'kubectl config use-context <name>'
Usage:
kubernetes-mcp-server [command] [options] [flags]
Examples:
# show this help
kubernetes-mcp-server -h
# shows version information
kubernetes-mcp-server --version
# start STDIO server
kubernetes-mcp-server
# start a SSE server on port 8080
kubernetes-mcp-server --port 8080
# start a SSE server on port 8443 with a public HTTPS host of example.com
kubernetes-mcp-server --port 8443 --sse-base-url https://example.com:8443
# start a SSE server on port 8080 with multi-cluster tools disabled
kubernetes-mcp-server --port 8080 --disable-multi-cluster
# start with explicit cluster provider strategy
kubernetes-mcp-server --cluster-provider kubeconfig
# start with kcp cluster provider for multi-workspace support
kubernetes-mcp-server --cluster-provider kcp
Flags:
--bind-address string Address to bind the HTTP server to (e.g. 127.0.0.1). Defaults to 0.0.0.0 (all interfaces)
--cluster-provider string Cluster provider strategy to use (one of: disabled, in-cluster, kcp, kubeconfig). If not set, the server will auto-detect based on the environment.
--config string Path of the config file.
--config-dir string Path to drop-in configuration directory (files loaded in lexical order). Defaults to conf.d relative to the config file if --config is set.
--disable-destructive If true, tools annotated with destructiveHint=true are disabled
--disable-multi-cluster Disable multi cluster tools. Optional. If true, all tools will be run against the default cluster/context.
-h, --help help for kubernetes-mcp-server
--kubeconfig string Path to the kubeconfig file to use for authentication
--list-output string Output format for resource list operations (one of: yaml, table). Defaults to table.
--log-file string Defines the server log file path. Required for logging in stdio mode; overrides stdout in HTTP mode. Set to "stderr" to log to the standard error stream.
--log-level int Set the log level (from 0 to 9)
--port string Start a streamable HTTP and SSE HTTP server on the specified port (e.g. 8080)
--read-only If true, only tools annotated with readOnlyHint=true are exposed
--require-tls Require TLS for server and all outbound connections
--sse-base-url string SSE public base URL to use when sending the endpoint message (e.g. https://example.com)
--stateless If true, run the MCP server in stateless mode (disables tool/prompt change notifications). Useful for container deployments and load balancing. Default is false (stateful mode)
--tls-cert string Path to TLS certificate file for HTTPS. Must be used together with --tls-key.
--tls-key string Path to TLS private key file for HTTPS. Must be used together with --tls-cert.
--toolsets strings Comma-separated list of MCP toolsets to use (available toolsets: config, core, helm, kcp, kiali, kubevirt, netobserv, tekton). Defaults to core, config.
--version Print version information and quit
macOS
MCP handshake failed2026-08-16 · probed over npm1 recorded run, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
Error: unable to create kubernetes target provider: no current-context is set and no contexts are defined in kubeconfig.
Configure a context with 'kubectl config set-context <name>' and 'kubectl config use-context <name>'
Usage:
kubernetes-mcp-server [command] [options] [flags]
Examples:
# show this help
kubernetes-mcp-server -h
# shows version information
kubernetes-mcp-server --version
# start STDIO server
kubernetes-mcp-server
# start a SSE server on port 8080
kubernetes-mcp-server --port 8080
# start a SSE server on port 8443 with a public HTTPS host of example.com
kubernetes-mcp-server --port 8443 --sse-base-url https://example.com:8443
# start a SSE server on port 8080 with multi-cluster tools disabled
kubernetes-mcp-server --port 8080 --disable-multi-cluster
# start with explicit cluster provider strategy
kubernetes-mcp-server --cluster-provider kubeconfig
# start with kcp cluster provider for multi-workspace support
kubernetes-mcp-server --cluster-provider kcp
Flags:
--bind-address string Address to bind the HTTP server to (e.g. 127.0.0.1). Defaults to 0.0.0.0 (all interfaces)
--cluster-provider string Cluster provider strategy to use (one of: disabled, in-cluster, kcp, kubeconfig). If not set, the server will auto-detect based on the environment.
--config string Path of the config file.
--config-dir string Path to drop-in configuration directory (files loaded in lexical order). Defaults to conf.d relative to the config file if --config is set.
--disable-destructive If true, tools annotated with destructiveHint=true are disabled
--disable-multi-cluster Disable multi cluster tools. Optional. If true, all tools will be run against the default cluster/context.
-h, --help help for kubernetes-mcp-server
--kubeconfig string Path to the kubeconfig file to use for authentication
--list-output string Output format for resource list operations (one of: yaml, table). Defaults to table.
--log-file string Defines the server log file path. Required for logging in stdio mode; overrides stdout in HTTP mode. Set to "stderr" to log to the standard error stream.
--log-level int Set the log level (from 0 to 9)
--port string Start a streamable HTTP and SSE HTTP server on the specified port (e.g. 8080)
--read-only If true, only tools annotated with readOnlyHint=true are exposed
--require-tls Require TLS for server and all outbound connections
--sse-base-url string SSE public base URL to use when sending the endpoint message (e.g. https://example.com)
--stateless If true, run the MCP server in stateless mode (disables tool/prompt change notifications). Useful for container deployments and load balancing. Default is false (stateful mode)
--tls-cert string Path to TLS certificate file for HTTPS. Must be used together with --tls-key.
--tls-key string Path to TLS private key file for HTTPS. Must be used together with --tls-cert.
--toolsets strings Comma-separated list of MCP toolsets to use (available toolsets: config, core, helm, kcp, kiali, kubevirt, netobserv, tekton). Defaults to core, config.
--version Print version information and quit
Windows
MCP handshake failed2026-08-16 · probed over npm1 recorded run, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
Error: unable to create kubernetes target provider: no current-context is set and no contexts are defined in kubeconfig.
Configure a context with 'kubectl config set-context <name>' and 'kubectl config use-context <name>'
Usage:
kubernetes-mcp-server [command] [options] [flags]
Examples:
# show this help
kubernetes-mcp-server -h
# shows version information
kubernetes-mcp-server --version
# start STDIO server
kubernetes-mcp-server
# start a SSE server on port 8080
kubernetes-mcp-server --port 8080
# start a SSE server on port 8443 with a public HTTPS host of example.com
kubernetes-mcp-server --port 8443 --sse-base-url https://example.com:8443
# start a SSE server on port 8080 with multi-cluster tools disabled
kubernetes-mcp-server --port 8080 --disable-multi-cluster
# start with explicit cluster provider strategy
kubernetes-mcp-server --cluster-provider kubeconfig
# start with kcp cluster provider for multi-workspace support
kubernetes-mcp-server --cluster-provider kcp
Flags:
--bind-address string Address to bind the HTTP server to (e.g. 127.0.0.1). Defaults to 0.0.0.0 (all interfaces)
--cluster-provider string Cluster provider strategy to use (one of: disabled, in-cluster, kcp, kubeconfig). If not set, the server will auto-detect based on the environment.
--config string Path of the config file.
--config-dir string Path to drop-in configuration directory (files loaded in lexical order). Defaults to conf.d relative to the config file if --config is set.
--disable-destructive If true, tools annotated with destructiveHint=true are disabled
--disable-multi-cluster Disable multi cluster tools. Optional. If true, all tools will be run against the default cluster/context.
-h, --help help for kubernetes-mcp-server
--kubeconfig string Path to the kubeconfig file to use for authentication
--list-output string Output format for resource list operations (one of: yaml, table). Defaults to table.
--log-file string Defines the server log file path. Required for logging in stdio mode; overrides stdout in HTTP mode. Set to "stderr" to log to the standard error stream.
--log-level int Set the log level (from 0 to 9)
--port string Start a streamable HTTP and SSE HTTP server on the specified port (e.g. 8080)
--read-only If true, only tools annotated with readOnlyHint=true are exposed
--require-tls Require TLS for server and all outbound connections
--sse-base-url string SSE public base URL to use when sending the endpoint message (e.g. https://example.com)
--stateless If true, run the MCP server in stateless mode (disables tool/prompt change notifications). Useful for container deployments and load balancing. Default is false (stateful mode)
--tls-cert string Path to TLS certificate file for HTTPS. Must be used together with --tls-key.
--tls-key string Path to TLS private key file for HTTPS. Must be used together with --tls-cert.
--toolsets strings Comma-separated list of MCP toolsets to use (available toolsets: config, core, helm, kcp, kiali, kubevirt, netobserv, tekton). Defaults to core, config.
--version Print version information and quit
Badge
Paste this into the project README to show the current result:
[](https://doesitinstall.com/s/io.github.containers__kubernetes-mcp-server.html)