Sandbox as a Service

Give an agent a real Linux VM: run commands, move files, expose a preview URL, destroy it.

OtherJavaScriptv1.1.0

sandbox-as-a-service-mcp

An MCP server that gives an agent a real Linux virtual machine it can break.

Eleven tools: create a sandbox, run shell commands in it, write and read files, list what a run produced, expose a port on a public preview URL, extend the lifetime, destroy it, and check what it all cost.

Each sandbox is a dedicated VM with its own kernel — not a container sharing a host with other people's code. It is never reused between accounts and is destroyed when it expires, whether or not anything remembered to ask.

Use it

Maintained by the operator of Sandbox as a Service.

Hosted MCP (no local package)

For a client that supports Streamable HTTP, connect to:

https://sandbox-as-a-service.com/v1/mcp

Send your own API key on each request as Authorization: Bearer <your-api-key> or x-api-key: <your-api-key>. Get it at Dashboard → API keys. Never put an API key in the URL or share one through a registry.

The hosted server exposes 12 tools: the eleven account/execution tools below plus get_service_info. Anonymous initialize, tools/list, and get_service_info work for free hosted discovery; account and execution calls still require your key. The local stdio server (including the current downloadable mcp.tgz v1.1.0) exposes the eleven account/execution tools. Use the hosted endpoint for keyless service information. A GET-only check is not a connection test: this endpoint uses MCP POST requests and SSE responses.

On Smithery, set apiKey to your own raw key; it maps to the x-api-key header. Connection documentation.

Local stdio (current hosted package)

AAS_API_KEY=aas_sk_... npx -y https://sandbox-as-a-service.com/mcp.tgz

Get a key at sandbox-as-a-service.com — new accounts start with free credit and no card.

Claude Desktop / Claude Code

{
  "mcpServers": {
    "sandbox": {
      "command": "npx",
      "args": ["-y", "https://sandbox-as-a-service.com/mcp.tgz"],
      "env": { "AAS_API_KEY": "aas_sk_..." }
    }
  }
}

The tools

ToolWhat it does
create_sandboxCreates a VM and returns its id once it is ready.
run_commandRuns a shell command as an unprivileged user. Returns stdout, stderr, exit code.
write_fileWrites a file. Content travels out of band, so quotes and binary survive.
read_fileReads a file back — how an agent gets at what its code produced.
list_filesLists a directory tree, so an agent can find what a run produced.
expose_portGives a server inside the sandbox a public https URL to share.
get_sandboxStatus, size and expiry.
list_sandboxesEverything on the account, newest first — useful for finding strays.
extend_sandboxPushes the expiry out when a job outgrows its timeout.
destroy_sandboxDestroys it and stops billing.
get_usageRemaining credit and recent usage.

Notes for agents

  • Code runs as an unprivileged user. There is no sudo, so apt-get will not work; use pip install --user --break-system-packages or npm install, both of which do.
  • run_command waits for the command to finish. Start a server with & or it will hold the call open until the timeout.
  • A sandbox is destroyed when its timeout expires whether or not destroy_sandbox is called, so a forgotten sandbox costs minutes, not money forever. Calling it anyway returns the minutes you were not going to use.

Environment

Variable
AAS_API_KEYRequired. Your API key.
AAS_BASE_URLOptional. Defaults to https://sandbox-as-a-service.com. Use the origin only, without /v1; the client adds that API prefix.

MIT licensed. The service it talks to is at sandbox-as-a-service.com; docs.

Setup from the maintainer

This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.

Package

https://github.com/fstandhartinger/sandbox-as-a-service-mcp/releases/download/mcp-v1.1.0/sandbox-as-a-service-mcp-1.1.0.tgzother

Compatible MCP Clients

Sandbox as a Service works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More