← Index

Kubernetes Ephemeral Job

io.github.inhuman/mcp-k8s-ephemeral-jobv0.7.1Kubernetes

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

In-path gate · all MCP tools

Using Kubernetes Ephemeral Job in Claude, Cursor, Gemini CLI, Cline, or Zed?

MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).

Install the mcpindex gate (one command)

Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less

uv tool install mcpindex-gate && mcpindex-config-wire
Trust verdict · v1 advisory · method
NOT YET SCREENEDno verdict on file

Verdict not yet evaluated for this tool. The semantic screen takes adversarial cases first; coverage rolls out as the corpus expands (15/150 labels to graduation). The deterministic conformance probe is built but has not yet run on the public corpus, so a recorded verdict here is REVIEW or UNVERIFIED, never a clearing ALLOW. Until a verdict is recorded, an agent should treat this tool as not-yet-cleared and fall back to its own checks. Method: the eval, four-state verdict, honest limits.

Own this server? Screen its description →

That verdict was true at screening time (snapshot 2026-07-21).

Contracts can change after screening, with no version bump. The gate pins Kubernetes Ephemeral Job’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.

See your first HOLD in 2 minutes →

Environment variables
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

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
secret

Optional X-MCP-AUTH token required on every request (http/sse transports only).

MCP quality score · maturity, not trust · methodology
freshness
25
completeness
15
installability
25
documentation
15
stability
5
Alternatives in Kubernetes