Loading MCP server directory, please wait...
Runs a command in a throwaway Kubernetes pod and returns exit code, output and artifacts.
npx @getmcp/cli add io.github.inhuman/mcp-k8s-ephemeral-jobRequires Docker Engine. Community-contributed server. Review source before installing.
MCP_K8S_ALLOWED_IMAGESStrict image allowlist (CSV). Empty means every call is rejected, so this must be set.
Config file: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"io.github.inhuman/mcp-k8s-ephemeral-job": {
"command": "docker",
"args": [
"{kubeconfig_dir}:/kube:ro",
"ALL",
"no-new-privileges",
"256m",
"run",
"-i",
"--rm",
"-e",
"MCP_K8S_ALLOWED_IMAGES",
"-e",
"MCP_K8S_KUBECONFIG",
"-e",
"MCP_K8S_NAMESPACE",
"-e",
"MCP_K8S_TRANSPORT",
"-e",
"MCP_K8S_DEFAULT_TIMEOUT_S",
"-e",
"MCP_K8S_MAX_TIMEOUT_S",
"-e",
"MCP_K8S_MAX_OUTPUT_BYTES",
"-e",
"MCP_K8S_MAX_ARTIFACT_BYTES",
"-e",
"MCP_K8S_MAX_CONCURRENT",
"-e",
"MCP_K8S_DEFAULT_CPU",
"-e",
"MCP_K8S_DEFAULT_MEMORY",
"-e",
"MCP_K8S_SIDECAR_IMAGE",
"-e",
"MCP_K8S_CLONE_IMAGE",
"-e",
"MCP_K8S_CLONE_SECRET",
"-e",
"MCP_K8S_CACHE_PVC",
"-e",
"MCP_K8S_CACHE_MOUNT_PATH",
"-e",
"MCP_K8S_JOB_EXTRA_ENV",
"-e",
"MCP_K8S_AUTH_TOKEN",
"docker.io/idconstruct/mcp-k8s-ephemeral-job:v0.7.1"
],
"env": {
"MCP_K8S_ALLOWED_IMAGES": "",
"MCP_K8S_KUBECONFIG": "/kube/config",
"MCP_K8S_NAMESPACE": "mcp-ephemeral",
"MCP_K8S_TRANSPORT": "stdio",
"MCP_K8S_DEFAULT_TIMEOUT_S": "60",
"MCP_K8S_MAX_TIMEOUT_S": "600",
"MCP_K8S_MAX_OUTPUT_BYTES": "1048576",
"MCP_K8S_MAX_ARTIFACT_BYTES": "10485760",
"MCP_K8S_MAX_CONCURRENT": "10",
"MCP_K8S_DEFAULT_CPU": "1",
"MCP_K8S_DEFAULT_MEMORY": "512Mi",
"MCP_K8S_SIDECAR_IMAGE": "busybox:1.36",
"MCP_K8S_CLONE_IMAGE": "",
"MCP_K8S_CLONE_SECRET": "",
"MCP_K8S_CACHE_PVC": "",
"MCP_K8S_CACHE_MOUNT_PATH": "",
"MCP_K8S_JOB_EXTRA_ENV": "",
"MCP_K8S_AUTH_TOKEN": ""
}
}
}
}