Package, distribute, and deploy AI agents as isolated capsules.
Declare capabilities once. Run anywhere.
Write a manifest
The WASM sandbox enforces what's declared. The agent can't reach outside it regardless of what the LLM attempts. The manifest is the permission grant, the runtime is the enforcer.
Write a manifest
Pinning an artifact locks it to one exact build, forever. A manifest pinned to coding-capsule@1.0.0 assembles the same environment today as it will six months from now. No silent upgrades.
Write a manifest
No hidden defaults. The manifest is the complete description of what the capsule does and how it behaves under edge conditions, readable, version-controllable, reviewable in a PR.
Install it
mur install reads the manifest, pulls every declared .mur.zip artifact from your registry in parallel, validates each one, and stores it locally.
Run it
mur run reads the manifest, assembles the execution environment on demand, and runs the trace. Same behavior every time.
1name: coding-capsule2version: 1.0.03 4artifacts:5 - name: murmur-driver-anthropic6 version: "1.0.0" # this exact driver, always7 runtime: driver8 - name: murmur-tool-editor9 version: "1.0.0"10 runtime: tool11 - name: coding-conventions12 version: "1.4.1" # this exact skill, always13 runtime: skill14 15capabilities:16 shell:17 allow: [git, cargo] # bash not listed = blocked18 network:19 allow:20 - https://api.anthropic.com # everything else = blocked at runtime21 22inference:23 transport: http24 endpoint: https://api.anthropic.com25 model: claude-opus-4-826 api_key: ${ANTHROPIC_API_KEY}27 driver:28 artifact: murmur-driver-anthropic29 compaction:30 threshold: 0.6531 model: claude-haiku-4-532 system_prompt_file: instructions.md33 max_turns: 2534 35context:36 max_tokens: 100000037 38lifecycle:39 task_acceptance: queue # long-running40 queue_depth: 141 after_task: sleep42 43observability:44 otel_endpoint: http://localhost:431845eval:46 scorers:47 - type: max_turns48 - name: turn_limit49 - max: 25Murmur packages your agent as a single capsule, with its inference, tools, skills, and configuration all declared in one manifest. It runs on your own infrastructure, with nothing calling out except what you declared. And because everything is explicit, you get a lot for free: you can read exactly what the agent does, pin it so every run behaves the same, share it so your whole team runs an identical environment, and trust that it can never reach beyond what you granted.
| Dimension | |||
|---|---|---|---|
| Self-hostable end to end | Yes | Partial | No |
| Model | Any — pluggable / any provider | Proprietary (Claude, API-only) | Proprietary (GPT, API-only) |
| Deployable unit | Self-contained capsule, open spec (.mur.zip + manifest), no container required | None — npm library, no container required | None — SDK + sandbox client, container required |
| Portability | Any machine with the mur binary | macOS + Linux only | Anywhere, swap the sandbox client |
| Isolation | WASM sandbox, no container | OS-level (Seatbelt / bubblewrap), no container | Container-based (Docker, E2B, Modal, …) |
| Capability enforcement | Declared in manifest, runtime-enforced | Declared in config, OS-enforced | Declared in code, enforced by sandbox client |
| License | Apache 2.0 | Apache 2.0 | MIT |
Everything an agent needs ships as a single capsule. Declared by a manifest, isolated in a sandbox, with its own endpoint and filesystem. No container. No image registry. Yet runs anywhere, securely and contained.