mecatui container image (brood-box)
Every release includes a multi-architecture mecatui image for linux/amd64
and linux/arm64:
ghcr.io/stacklok/mecatl/mecatui:<VERSION>
The image also includes a
brood-box agent manifest, so you can
import it without writing a Dockerfile or wrapper. Use a release version for a
repeatable deployment; latest tracks the latest release.
It is signed with keyless cosign, includes an SPDX SBOM attestation, and carries SLSA build provenance. See the release workflow docs for how to verify a signed image.
Import into brood-box
bbox agents import ghcr.io/stacklok/mecatl/mecatui:latest
The included manifest configures:
command: ["mecatui"]as the image entry point.env_forwardofOPENROUTER_API_KEY,ANTHROPIC_API_KEY,OPENAI_API_KEY, andOPENCODE_API_KEY. Mecatl detects the provider from the available key.mcp.mode: envandegress_profile: standardwith egress allowed toapi.anthropic.com,openrouter.ai,api.openai.com, andopencode.aion port 443.
Customize the manifest when you need to pin one provider or apply a narrower egress policy.
Experimental ChatGPT Codex subscription
Embedded mecatui can use the experimental openai-codex provider with a
manual subscription token. The included brood-box manifest does not mount this
credential or allow egress to chatgpt.com. To enable it:
- Mount an owner-only
auth.yamlfile. - Pass
--api-key-fileand--default-provider openai-codex. - Allow HTTPS egress to
chatgpt.com.
This provider uses an undocumented private backend rather than public OpenAI API credit. It has no token refresh flow, so relaunch the container after replacing the token. Read the operator setup and same-UID plaintext boundary before adding the mount.
Runtime and sensitive local administration
Each embedded instance creates a private runtime directory. With --perf, it
uses an owner-private admin.sock in that directory. Multiple containers or
local instances therefore do not compete for a fixed port.
--perf-mcp requires a streaming HTTP URL. Set --perf-addr to an explicit
loopback address, or let mecatui choose an ephemeral loopback port and log the
endpoint. There is no standard input/output transport. Keep performance output
private because it can contain prompts, paths, and runtime details.
Building locally
task ko:build:mecatui # build into the local daemon (tagged under ko.local)
KO_DOCKER_REPO=ghcr.io/stacklok/mecatl/mecatui task ko:publish:mecatui
The image uses the brood-box Wolfi base because brood-box connects over SSH and
requires a shell. Taskfile builds stamp the welcome screen with a version from
Git. Set BUILD_ID to supply an explicit build identifier. A direct ko build
without a version uses embedded VCS metadata when available, or dev otherwise.
Next steps
- Run mecated standalone to connect
mecatuito a separate server. - Connect with gRPC or HTTP to understand the client transport.
- Permissions and guardrails to configure posture and workspace trust.