mcp-k8s-ephemeral-job
Kubernetes Ephemeral Job
Runs a command in a throwaway Kubernetes pod and returns exit code, output and artifacts.
Package Details
docker.io/idconstruct/mcp-k8s-ephemeral-job:v0.7.1
Runtime Arguments
Named
{kubeconfig_dir}:/kube:roMount the kubeconfig directory read-only so the server can reach the cluster.ALLDrop all Linux capabilities.no-new-privilegesBlock privilege escalation.256mMemory limit for the server process itself.Environment Variables
Strict image allowlist (CSV). Empty means every call is rejected, so this must be set.
/kube/configPath to the kubeconfig inside the container. Empty = use in-cluster credentials.
mcp-ephemeralNamespace the ephemeral pods are created in. Needs a Role/RoleBinding for jobs and pods.
stdioMCP transport: stdio | http | sse. Must be 'stdio' for direct docker/stdio use.
60Default wall-clock timeout per job, seconds.
600Maximum wall-clock timeout a caller may request, seconds.
1048576Cap on combined stdout/stderr before truncation.
10485760Cap on the total size of returned artifacts.
10Maximum ephemeral pods running at the same time.
1Pod CPU request; limits come from the caller or the namespace LimitRange.
512MiPod memory request; limits come from the caller or the namespace LimitRange.
busybox:1.36Helper image used to inject input files and collect artifacts.
Image carrying git for the clone init container. Empty disables the clone field.
Secret with git tokens, mounted only on the cloner. Empty disables the clone field.
Existing PVC mounted into every job pod as a shared cache. Empty = no cache.
Where the cache PVC is mounted, e.g. /go/pkg/mod. Empty = no cache.
JSON object of env vars added to every job pod; caller keys win on collision.
Optional X-MCP-AUTH token required on every request (http/sse transports only).