Runtimes
Three runtimes, one contract
Every runtime is driven the same way: mb agent create --runtime …, then git push mb main. The platform writes the Dockerfile from its base-image catalog, so builds are reproducible and patched by us. Your app listens for HTTP on $PORT.
LangChain agents
Push an agent.py that exports your LangGraph graph (graph, app, chain, agent or runnable). The built-in harness wraps it in an HTTP server.
- Endpoints
/invoke, /stream (server-sent events), /chat, /healthz
- Memory
- Conversations persist per thread in Postgres, so the agent remembers earlier turns across restarts.
- Chat
- A chat page on the agent's URL and a Chat tab in the dashboard.
Python apps
Any HTTP app: FastAPI, Flask, a webhook receiver, an MCP or tool server.
- Starts
main.py, app.py or server.py; or a Procfile web: line; or --start-command.
- Packages
requirements.txt
- Versions
- Python 3.10 to 3.13 (slim images), chosen by
.python-version or runtime.txt; 3.12 by default.
Go services
A go.mod module with a main package, compiled and copied onto a minimal image.
- Build
- Go 1.23 to 1.26, taken from the
go line in go.mod.
- Runs on
- Distroless static, as a non-root user. No shell, no package manager.
Custom Dockerfiles are not supported: the runtime always builds the image. If you need a system package or an extra build step, tell us and we'll consider adding it as a runtime option.
Compute and scaling
Pick a size, then let it scale
Each agent runs at one of three sizes. CPU is burstable, because an LLM agent idles while it waits for the model and then needs a burst to parse and stream the answer. Memory is reserved in full.
Per replica. Which sizes you can use depends on your plan.
| Size | CPU reserved | CPU burst up to | Memory |
| small | 0.1 vCPU | 0.5 vCPU | 256 MiB |
| medium | 0.5 vCPU | 1 vCPU | 1 GiB |
| large | 1 vCPU | 2 vCPU | 2 GiB |
Replicas
Run a fixed number of copies with --replicas, up to your plan's limit per agent. With more than one, updates roll out one copy at a time, so the agent stays up while it deploys.
Autoscaling
mb agent update --autoscale 1-5 lets CPU load move the agent between a minimum and a maximum. Scale-down waits five minutes, so a long conversation isn't cut off. Scaling on in-flight requests, a better signal for LLM agents, is planned.
Databases
Managed PostgreSQL, bound by name
Create a database in your workspace and bind it to any agent that needs it. The agent restarts with the connection string in the environment variable you choose. Unbind it and the variable is gone.
$ mb agent db create --name orders
$ mb agent db bind --slug support-bot --db orders --env-var DATABASE_URL
Separate from the control plane
Customer databases live on their own database cluster on AWS, apart from the database that runs the platform itself.
Scoped access
An agent sees only the databases bound to it. Where direct SQL access is enabled, it uses short-lived, per-person logins that require a reason, and every grant is recorded.
Secrets
Keys stay sealed, and you can see who read them
Model API keys, tokens and passwords are set per agent and arrive as environment variables. Values are piped in on stdin, so they never show up in your shell history or process list.
$ mb agent secret set --slug support-bot --key OPENAI_API_KEY --stdin
Encrypted at rest
AES-256-GCM envelope encryption under an AWS KMS key, bound to the agent and the key name. The platform refuses to start without the key.
Copy without revealing
mb agent secret copy moves a value between agents on the server side. Reading a value back needs the owner or a workspace admin, a reason, and lands in the agent's audit trail.
Domains and networking
Public when you want it, private when you don't
An HTTPS address from the first push
Every agent is served at https://<agent>.<workspace>.mesangebleue.io with a certificate managed for you.
Your own domain
mb agent alias add prints a TXT record that proves you own the domain. Point a CNAME at the agent, run alias verify, and a Let's Encrypt certificate is issued.
Private agents
A private agent has no public URL. Other agents in the same workspace call it at an internal address; nothing outside the workspace can reach it.
Locked-down by default
Agent pods accept traffic only from the ingress and the platform, and traffic between nodes is encrypted with WireGuard.
Observability
Watch it live, search it later
Application and build logs are collected for every agent and kept in object storage on AWS. Your queries only ever see your own agents.
Live tail
The Logs tab opens on a live view that follows the newest pod and re-attaches after restarts, with filter, pause and auto-scroll. From the terminal: mb agent logs -f.
Full-text search
Search app and build logs by text over a time range: mb agent logs --grep timeout --since 2h, or the dashboard's archive search. Lines arrive in the archive within a few minutes.
Security and supply chain
Scanned at build time, re-checked every day
- Base images come only from our catalog, mirrored into our registry and pinned by digest.
- Builds are unprivileged, hold no cloud credentials, and can only reach the package indexes they need.
- Trivy scans every image when it's built and re-checks running images daily. Findings never block a deploy.
- Fixes are proposed in the Security tab with the exact diff; nothing changes until you confirm.
- Scanning is on by default. Owners can opt an agent or a workspace out, with a recorded reason.
Read the full security overview
Workspaces and teams
Built for more than one person
A workspace holds your agents, databases and people. Each workspace gets its own subdomain.
Who can do what. "Manage" also covers everything in "Ship", and "Ship" everything in "Read".
| Access | Who has it | What it allows |
| Read | Every workspace member | See every agent, its status and logs |
| Ship | The agent's contributors | Push, rebuild, change settings and secrets |
| Manage | The agent's owner, workspace owners and admins | Delete, transfer, contributors, custom domains, database bindings, scan opt-out |
Invites and handover
Invite people by link; an invite can only be accepted by the email address it was sent to. When someone leaves, their agents pass to the workspace owner instead of being orphaned.
CI and automation
Workspace API clients sign in headlessly with mb service-login, so a pipeline can deploy without a person's credentials.
Plans
Start free, grow by agent
Every workspace starts on Free. Plans set how many agents you run, which sizes and runtimes they use, and how far they scale.
Limits as configured in the platform today; they may change before general availability.
| Feature | Free | Basic | Starter | Pro | Enterprise |
| Price per month | Free | Contact us | Contact us | Contact us | Contact us |
| Agents included | 1 | 1 | 3 | 10 | Custom |
| Most agents | 1 | 10 | 5 | 25 | No cap |
| Databases included | 0 | 1 | 2 | 5 | Custom |
| Runtimes | Python, Go | Python, Go | Python, Go, LangChain | Python, Go, LangChain | Python, Go, LangChain |
| Sizes | small | small, medium | small, medium | small to large | small to large |
| Replicas per agent | 1 | 1 | 2 | 5 | 10 |
| Custom domains | None | 1 | 3 | Unlimited | Unlimited |
| Support | Community | Email | Email | Priority | By agreement |
Every plan includes the security scanning, encrypted secrets, logs and team features described above. Prices are not published yet: ask us.