Kubernetes Ephemeral Job MCP Server

Runs a command in a throwaway Kubernetes pod and returns exit code, output and artifacts.

Local serverstdio

What is the Kubernetes Ephemeral Job MCP Server?

Kubernetes Ephemeral Job is an MCP integration. Runs a command in a throwaway Kubernetes pod and returns exit code, output and artifacts.

Packages and local setup

The published oci package is docker.io/idconstruct/mcp-k8s-ephemeral-job:v0.7.1. Its declared MCP transport is stdio.

The package declares MCP_K8S_ALLOWED_IMAGES (required): Strict image allowlist (CSV). Empty means every call is rejected, so this must be set.; MCP_K8S_KUBECONFIG: Path to the kubeconfig inside the container. Empty = use in-cluster credentials.; MCP_K8S_NAMESPACE: Namespace the ephemeral pods are created in. Needs a Role/RoleBinding for jobs and pods.; MCP_K8S_TRANSPORT: MCP transport: stdio | http | sse. Must be 'stdio' for direct docker/stdio use.; MCP_K8S_DEFAULT_TIMEOUT_S: Default wall-clock timeout per job, seconds.; MCP_K8S_MAX_TIMEOUT_S: Maximum wall-clock timeout a caller may request, seconds.; MCP_K8S_MAX_OUTPUT_BYTES: Cap on combined stdout/stderr before truncation.; MCP_K8S_MAX_ARTIFACT_BYTES: Cap on the total size of returned artifacts.; MCP_K8S_MAX_CONCURRENT: Maximum ephemeral pods running at the same time.; MCP_K8S_DEFAULT_CPU: Pod CPU request; limits come from the caller or the namespace LimitRange.; MCP_K8S_DEFAULT_MEMORY: Pod memory request; limits come from the caller or the namespace LimitRange.; MCP_K8S_SIDECAR_IMAGE: Helper image used to inject input files and collect artifacts.; MCP_K8S_CLONE_IMAGE: Image carrying git for the clone init container. Empty disables the clone field.; MCP_K8S_CLONE_SECRET: Secret with git tokens, mounted only on the cloner. Empty disables the clone field.; MCP_K8S_CACHE_PVC: Existing PVC mounted into every job pod as a shared cache. Empty = no cache.; MCP_K8S_CACHE_MOUNT_PATH: Where the cache PVC is mounted, e.g. /go/pkg/mod. Empty = no cache.; MCP_K8S_JOB_EXTRA_ENV: JSON object of env vars added to every job pod; caller keys win on collision.; MCP_K8S_AUTH_TOKEN: Optional X-MCP-AUTH token required on every request (http/sse transports only)..

This package has launch arguments in its registry record. Use the maintainer’s configuration for those arguments rather than launching it with only the package name.

Before connecting

Check the maintainer’s instructions for account access, authentication and the supported client configuration. Once connected, inspect the tools your client receives and try a small task that matches the server’s stated purpose. The registry description does not include a verified, complete tool list.

Project and source

View the publisher’s registry entry · Project repository. This profile uses version 0.7.1 from the registry. Registration identifies the publisher namespace; it does not establish that this is a first-party integration for every service it connects.

Browse related cloud & devops MCP servers for tools that cover the same kind of work.

Configuration

VariableDescriptionRequired
MCP_K8S_ALLOWED_IMAGESStrict image allowlist (CSV). Empty means every call is rejected, so this must be set.Yes
MCP_K8S_KUBECONFIGPath to the kubeconfig inside the container. Empty = use in-cluster credentials.Optional
MCP_K8S_NAMESPACENamespace the ephemeral pods are created in. Needs a Role/RoleBinding for jobs and pods.Optional
MCP_K8S_TRANSPORTMCP transport: stdio | http | sse. Must be 'stdio' for direct docker/stdio use.Optional
MCP_K8S_DEFAULT_TIMEOUT_SDefault wall-clock timeout per job, seconds.Optional
MCP_K8S_MAX_TIMEOUT_SMaximum wall-clock timeout a caller may request, seconds.Optional
MCP_K8S_MAX_OUTPUT_BYTESCap on combined stdout/stderr before truncation.Optional
MCP_K8S_MAX_ARTIFACT_BYTESCap on the total size of returned artifacts.Optional
MCP_K8S_MAX_CONCURRENTMaximum ephemeral pods running at the same time.Optional
MCP_K8S_DEFAULT_CPUPod CPU request; limits come from the caller or the namespace LimitRange.Optional
MCP_K8S_DEFAULT_MEMORYPod memory request; limits come from the caller or the namespace LimitRange.Optional
MCP_K8S_SIDECAR_IMAGEHelper image used to inject input files and collect artifacts.Optional
MCP_K8S_CLONE_IMAGEImage carrying git for the clone init container. Empty disables the clone field.Optional
MCP_K8S_CLONE_SECRETSecret with git tokens, mounted only on the cloner. Empty disables the clone field.Optional
MCP_K8S_CACHE_PVCExisting PVC mounted into every job pod as a shared cache. Empty = no cache.Optional
MCP_K8S_CACHE_MOUNT_PATHWhere the cache PVC is mounted, e.g. /go/pkg/mod. Empty = no cache.Optional
MCP_K8S_JOB_EXTRA_ENVJSON object of env vars added to every job pod; caller keys win on collision.Optional
MCP_K8S_AUTH_TOKENOptional X-MCP-AUTH token required on every request (http/sse transports only).Optional