Skills/npm/mcp-server-kubernetes

mcp-server-kubernetes@4.2.2

VERIFIED· startup only

Publisher claims: "MCP server for interacting with Kubernetes clusters via kubectl" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher flux159 · publishing for 704 daysInstalls 74,247Last detonated 4d ago
$claude mcp add mcp-server-kubernetes -- npx -y mcp-server-kubernetes
WatchReport an issue

Coverage

Startup only; authenticated tool behavior not tested.
Tested
server startup over stdio (initialize sent) · every file read, file written and host contacted by what ran
Not tested
the tool list (the server exited before answering) · what the tools do when called with real credentials

What this means for the label: Verified here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.

Before you give it your token

It will ask for
K8S_TOKENMASK_SECRETSMCP_AUTH_TOKENConfiguration, not credentials: ALLOW_KUBECTL_UNSAFE_FLAGS, ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS, ALLOW_ONLY_READONLY_TOOLS, ALLOWED_TOOLS, DNS_REBINDING_ALLOWED_HOST, DNS_REBINDING_PROTECTION, ENABLE_TELEMETRY, ENABLE_UNSAFE_SSE_TRANSPORT, ENABLE_UNSAFE_STREAMABLE_HTTP_TRANSPORT, K8S_CA_DATA, K8S_CONTEXT, K8S_NAMESPACE, K8S_SERVER, K8S_SKIP_TLS_VERIFY, KUBECONFIG, KUBECONFIG_JSON, KUBECONFIG_PATH, KUBECONFIG_YAML, OTEL_CAPTURE_RESPONSE_METADATA, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_RESOURCE_ATTRIBUTES, OTEL_SERVICE_NAME, OTEL_SERVICE_VERSION, OTEL_TRACES_SAMPLER, OTEL_TRACES_SAMPLER_ARG, SPAWN_MAX_BUFFER
Where it talks to
no vendor host named in the code
What the honeypot saw
no credential files read · no network
What we could not test
the tool list (the server exited before answering) · what the tools do when called with real credentials

Connect it with a scoped credential, under the guard. It asks for K8S_TOKEN, MASK_SECRETS, MCP_AUTH_TOKEN and talks to its vendor. Give the credential to the guard, not the server: the value never enters the server's environment and only travels to the host you bind. What the tools do with a real credential was not observed.

$vet-skills run --net declared -- npx -y mcp-server-kubernetes

Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; startup only; authenticated tool behavior not tested) on 2026-11-11 and scored it 80/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 48 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
27sprocessdependency install exit 0
47sclaimedstartup only: exited (0) before answering · code: 'ERR_MODULE_NOT_FOUND', url: 'file:///tmp/ks-detonate-h1n100/task/home/work/acme-api/.claude/skills/mcp-server-kubernetes/dist/middleware/telemetry-middleware.js' } Node.js v22.23.4
47sprocessscript backend runs setup only
47sprocessno install scripts to re-run

Static findings

HIGH
Access to sensitive file pathsdist/security/kubectl-flags.d.ts:31 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* reachable as a raw "--from-file=leak=/etc/passwd" token. Under stdio that isFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsdist/security/kubectl-flags.js:122 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// attached ("-f/etc/passwd") and clustered ("-Rf/etc/passwd") forms are caughtFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsdist/security/kubectl-flags.js:147 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// `format` is the full -o value, e.g. "templatefile=/etc/passwd" or justFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsdist/tools/kubectl-create.js:193 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// fromFileContent key of "x=/etc/passwd,y" would add a second source thatFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File type combined with upload actiondist/tools/kubectl-patch.js:92 · File type combined with upload action — agent may exfiltrate local data filestempFile = writeTempFile("patch.json", JSON.stringify(input.patchData));Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
HIGH
Access to sensitive file pathsdist/security/kubectl-flags.js:123 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// alongside the split one ("-f", "/etc/passwd").Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Destructive file system command detecteddist/tools/kubectl-create.js:34 · Destructive file system command detected// which an enum cannot express. kubectlCreate checks the formatFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathsdist/security/kubectl-flags.js:355 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* reachable as a raw "--from-file=leak=/etc/passwd" token. Under stdio that isFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packagepackage.json:26 · npx invocation of non-well-known package — may execute untrusted code"chat": "npx mcp-chat --server \"./dist/index.js\"",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File permission modification commandpackage.json:19 · File permission modification command — agent changes file ownership/permissions"build": "tsc && shx chmod +x dist/*.js",Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05

Cost to the agent

Instructions loaded
≈56 tok
1 file · 81 in bundle
Tool list per prompt
≈0 tok
0 tools · 0 per tool
Handshake
no reply
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 0

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for mcp-server-kubernetes@4.2.2 as of 4d ago. This is the package itself, not its dependencies.