# microsandbox
**Repository Path**: njxisang/microsandbox
## Basic Information
- **Project Name**: microsandbox
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-04-16
- **Last Updated**: 2026-04-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
—— every agent deserves its own computer ——
**Microsandbox** spins up **lightweight VMs in milliseconds** from our SDKs. Runs locally on your machine. No server to set up. No lingering daemon. It is all embedded and rootless!
##
-
**Hardware Isolation**: Hardware-level isolation with microVM technology.
-
**Instant Startup**: Average boot times under 100 milliseconds.
-
**Embeddable**: Spawn VMs right within your code. No setup server. No long-running daemon.
-
**Secrets That Can't Leak**: Unexploitable secret keys that never enter the VM.
-
**OCI Compatible**: Runs standard container images from Docker Hub, GHCR, or any OCI registry.
-
**Long-Running**: Sandboxes can run in detached mode. Great for long-lived sessions.
-
**Agent-Ready**: Your agents can create their own sandboxes with our [Agent Skills](https://github.com/superradcompany/skills) and [MCP server](https://github.com/superradcompany/microsandbox-mcp).
## 
Getting Started
####
Install the SDK
> ```sh
> cargo add microsandbox # 🦀 Rust
> ```
> ```sh
> uv add microsandbox # 🐍 Python
> ```
> ```sh
> npm i microsandbox # 🟦 TypeScript
> ```
####
Install the CLI **(Optional)**
> ```sh
> curl -fsSL https://install.microsandbox.dev | sh
> ```
##
> **Requirements**: Linux with KVM enabled, or macOS with Apple Silicon.
> **Warning**: Microsandbox is still **beta software**. Expect breaking changes, missing features, and rough edges.
## 
SDK
The SDK lets you create and control sandboxes directly from your application. `Sandbox::builder("...").create()` boots a microVM as a child process. No infrastructure required.
####
Run Code in a Sandbox
> ```rs
> use microsandbox::Sandbox;
>
> #[tokio::main]
> async fn main() -> Result<(), Box> {
> let sandbox = Sandbox::builder("my-sandbox")
> .image("python")
> .cpus(1)
> .memory(512)
> .create()
> .await?;
>
> let output = sandbox
> .exec("python", ["-c", "print('Hello from a microVM!')"])
> .await?;
> println!("{}", output.stdout()?);
>
> sandbox.stop_and_wait().await?;
> Ok(())
> }
> ```
>
>
> Python Example →
>
> ```python
> import asyncio
> from microsandbox import Sandbox
>
> async def main():
> sandbox = await Sandbox.create(
> "my-sandbox",
> image="python",
> cpus=1,
> memory=512,
> )
>
> output = await sandbox.exec("python", ["-c", "print('Hello from a microVM!')"])
> print(output.stdout_text)
>
> await sandbox.stop_and_wait()
>
> asyncio.run(main())
> ```
>
>
>
>
> TypeScript Example →
>
> ```typescript
> import { Sandbox } from "microsandbox";
>
> const sandbox = await Sandbox.create({
> name: "my-sandbox",
> image: "python",
> cpus: 1,
> memoryMib: 512,
> });
>
> const output = await sandbox.exec("python", ["-c", "print('Hello from a microVM!')"]);
> console.log(output.stdout());
>
> await sandbox.stopAndWait();
> ```
>
>
> The first call to `create()` pulls the image if it isn't cached locally, so it may take longer depending on your connection. Subsequent runs reuse the cache.
## 
CLI
The `msb` CLI provides a complete interface for managing sandboxes, images, and volumes.
####
Run a Command
> ```sh
> msb run python -- python3 -c "print('Hello from a microVM!')"
> ```
####
Named Sandboxes
> ```sh
> # Create and start a named sandbox
> msb create --name my-app python
> ```
>
> ```sh
> # Execute commands
> msb exec my-app -- python -c "import this"
> msb exec my-app -- curl https://example.com
> ```
>
> ```sh
> # Lifecycle
> msb stop my-app
> msb start my-app
> msb rm my-app
> ```
####
Image Management
> ```sh
> msb pull python # Pull an image
> msb image ls # List cached images
> msb image rm python # Remove an image
> ```
####
Install & Uninstall Sandboxes
> ```sh
> msb install ubuntu # Install ubuntu sandbox as 'ubuntu' command
> ubuntu # Opens Ubuntu in a microVM
> ```
> ```sh
> msb install --name nodebox node # Custom command name
> msb install --tmp alpine # Ephemeral: fresh sandbox every run
> msb install --list # List installed commands
> msb uninstall nodebox # Remove an installed command
> ```
####
Status & Inspection
> ```sh
> msb ls # List all sandboxes
> msb ps my-app # Show sandbox status
> msb inspect my-app # Detailed sandbox info
> msb metrics my-app # Live CPU/memory/network stats
> ```
> [!TIP]
>
> Run `msb --tree` to see all available commands and their options.
## 
AI Agents
Give your AI agents the ability to create and manage their own sandboxes.
####
Agent Skills
> Teach any AI coding agent how to use microsandbox by installing the [Agent Skills](https://github.com/superradcompany/skills). Works with Claude Code, Cursor, Codex, Gemini CLI, GitHub Copilot, and more.
>
> ```sh
> npx skills add superradcompany/skills
> ```
####
MCP Server
> Connect any MCP-compatible agent to microsandbox with the [MCP server](https://github.com/superradcompany/microsandbox-mcp). Provides structured tool calls for sandbox lifecycle, command execution, filesystem access, volumes, and monitoring.
>
> ```sh
> # Claude Code
> claude mcp add --transport stdio microsandbox -- npx -y microsandbox-mcp
> ```
## 
Documentation
For guides, API references, and examples, visit the [microsandbox documentation](https://docs.microsandbox.dev).
## 
Contributing
Interested in contributing to `microsandbox`? Check out our [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines and [DEVELOPMENT.md](./DEVELOPMENT.md) for build, test, and release instructions.
## 
License
This project is licensed under the [Apache License 2.0](./LICENSE).
## 
Acknowledgements
Special thanks to all our contributors, testers, and community members who help make microsandbox better every day! We'd like to thank the following projects and communities that made `microsandbox` possible: [libkrun](https://github.com/containers/libkrun) and [smoltcp](https://github.com/smoltcp-rs/smoltcp)