The idea

The surfaces fall into two groups. A control plane creates, stops and configures machines: dashboard, REST or gRPC API, SDKs, CLI, and increasingly an MCP server an AI assistant can call. An execution plane gets inside: SSH, a web terminal, a desktop, a file API.

A dashboard that can create a sandbox is not the same as a product that gives you an agent. Several providers can create a machine with a button and still expect a command to do anything useful with it. Others document a prompt to paste into Claude Code or Cursor as the intended no-code path.

MCP is the newest surface and the easiest to misread. A hosted MCP server that manages sandboxes is a control plane. An MCP server running inside the sandbox is a tool surface for the agent. They are different products with the same name.

Where providers split

The claim on the left, the provider's own words on the right

Dashboard-first and CLI-first

InstaBox, Lizard, Runtime, Blaxel and Morph document creating a machine from a dashboard. boxd and Boat are CLI-first: every guide starts with an install command, and the dashboard is a viewer for machines you already made. E2B and Vercel are SDK-first.

The practical test is whether the first machine can be created without a terminal. At InstaBox and Lizard it can. At boxd and Boat it cannot.

SSH is not universal

boxd, Boat and Sandboxer expose real SSH. Agent 37 tunnels SSH over a WebSocket, E2B proxies it, InstaBox routes it through a gateway, and Runtime carries it over its API. Lizard has no SSH protocol at all: its shell is over the provider's transport, so scp and port forwarding do not work. Vercel does not publish an SSH endpoint.

Two kinds of MCP

Sandboxer, Runtime, Lizard and Blaxel document a hosted MCP server that can create and drive sandboxes from Claude or ChatGPT. E2B has an MCP gateway inside the sandbox and a docs MCP, but a sandbox-management MCP is not established. Agent 37, InstaBox and boxd publish no control-plane MCP; Boat publishes a docs MCP only.

That distinction decides whether an assistant can start a machine for you or only read the manual.

What to watch for

The details that decide the answer in practice

  1. 01

    Whether the first machine can be created without a terminal.

  2. 02

    Whether the API is REST or gRPC, and whether an SDK exists for your language.

  3. 03

    Whether SSH is a real port, a tunnel, a gateway, or absent.

  4. 04

    Whether the MCP server manages sandboxes or runs inside one.

  5. 05

    Whether there is a desktop you can watch and take over.

Compare all twelve

Docs read 28 October 2026

Dashboard, API, SDK, CLI, MCP, SSH, desktop. A provider can have all seven and still be unusable without a terminal, or have three and be genuinely click-driven.
ProviderDoes it?What that means
Agent 37YesREST on two planes, a Python SDK, the npx agent37 CLI, tunnelled SSH, a web terminal on port 7681 and a desktop in some templates. No control-plane MCP.
“A shell in the container (browser)”
Agent 37docs-confirmed
BlaxelYesPython, TypeScript and Go SDKs, an HTTP API, a per-sandbox MCP server, a console terminal and a CLI.
“Python, TypeScript, and Go SDKs for Blaxel”
Blaxeldocs-confirmed
BoatYesREST, Python and TypeScript SDKs, a CLI, SSH and SCP, a 60 fps desktop and a dashboard. The MCP server is for documentation, not for managing sandboxes.
“boat new, then boat prompt bx_23456789 "add tests"”
Boatdocs-confirmed
boxdPartlygRPC is the only wire API; there is no REST. TypeScript and Python SDKs, a CLI, real SSH on a dedicated port, a console terminal and a browser desktop.
“Service. boxd.api.v1.BoxdApi.”
boxddocs-confirmed
E2BYesPython and JavaScript SDKs, a CLI, SSH through a WebSocket proxy, a desktop SDK, an MCP gateway inside the sandbox and lifecycle webhooks.
“Connect to your sandbox via SSH using a WebSocket proxy”
E2Bdocs-confirmed
InstaBoxPartlyREST, a TypeScript SDK, a CLI, SSH and mosh through a gateway, a web terminal and a VNC desktop. No control-plane MCP is published.
“In the dashboard, Create machine on the Machines page does what instabox create does.”
InstaBoxdocs-confirmed
LizardPartlyREST, TypeScript and Python SDKs, a CLI, a hosted MCP server and a dashboard terminal. There is no SSH protocol and no public VNC port.
“SSH protocol access is not available; lizard sandbox ssh opens an interactive shell with your CLI credentials.”
Lizarddocs-confirmed
MorphPartlySDKs and a CLI, SSH, a devbox API, a configurable remote desktop, and a tmux API for agents. No first-party MCP server or webhooks are documented.
“Devboxes expose a full tmux API, which lets you programmatically manage coding agents like OpenAI Codex or Claude Code.”
Morphdocs-confirmed
RuntimeYesREST, JavaScript, Python, Go, Ruby and Java SDKs, a CLI, a hosted MCP server, SSH over the API, a desktop, webhooks and OpenTelemetry.
“The endpoint is https://api.withruntime.com/mcp, over MCP Streamable HTTP.”
Runtimedocs-confirmed
SandboxerYesREST, TypeScript and Python SDKs, a static CLI binary, a hosted MCP server, SSH and SCP, a VNC desktop and a browser terminal.
“sbx is one static binary for Linux, macOS and Windows”
Sandboxerdocs-confirmed
SpritesPartlyA CLI and interactive console, SDKs and agent integrations, and SSH only after installing a server and proxying it. No managed desktop or browser-control product.
“Open an interactive shell”
Spritesdocs-confirmed
Vercel SandboxPartlyCLI, JavaScript and Python SDKs, and a dashboard that can stop or delete a sandbox and shows a lifecycle activity log. No SSH or desktop is published.
“Manage sandboxes through the CLI, JS SDK, or Python SDK.”
Vercel Sandboxdocs-confirmed

Part of Running it. Next: put two or three providers side by side.