{
  "markdown": "# sandbox-as-a-service-mcp\n\nAn [MCP](https://modelcontextprotocol.io) server that gives an agent a real Linux virtual machine it\ncan break.\n\nEleven tools: create a sandbox, run shell commands in it, write and read files, list what a run\nproduced, expose a port on a public preview URL, extend the lifetime, destroy it, and check what it\nall cost.\n\nEach sandbox is a dedicated VM with its own kernel — not a container sharing a host with other\npeople's code. It is never reused between accounts and is destroyed when it expires, whether or not\nanything remembered to ask.\n\n## Use it\n\nMaintained by the operator of [Sandbox as a Service](https://sandbox-as-a-service.com).\n\n### Hosted MCP (no local package)\n\nFor a client that supports Streamable HTTP, connect to:\n\n```text\nhttps://sandbox-as-a-service.com/v1/mcp\n```\n\nSend your own API key on each request as `Authorization: Bearer <your-api-key>`\nor `x-api-key: <your-api-key>`. Get it at\n[Dashboard → API keys](https://sandbox-as-a-service.com/dashboard/keys).\nNever put an API key in the URL or share one through a registry.\n\nThe hosted server exposes **12 tools**: the eleven account/execution tools below\nplus `get_service_info`. Anonymous `initialize`, `tools/list`, and\n`get_service_info` work for free hosted discovery; account and execution calls\nstill require your key. The local stdio server (including the current downloadable\n`mcp.tgz` v1.1.0) exposes the eleven account/execution tools. Use the hosted endpoint\nfor keyless service information. A GET-only check is not a connection test: this\nendpoint uses MCP POST requests and SSE responses.\n\nOn [Smithery](https://smithery.ai/servers/florian-standhartinger/sandbox-as-a-service),\nset `apiKey` to your own raw key; it maps to the `x-api-key` header.\n[Connection documentation](https://sandbox-as-a-service.com/docs/mcp).\n\n### Local stdio (current hosted package)\n\n```bash\nAAS_API_KEY=aas_sk_... npx -y https://sandbox-as-a-service.com/mcp.tgz\n```\n\nGet a key at [sandbox-as-a-service.com](https://sandbox-as-a-service.com) — new accounts start with\nfree credit and no card.\n\n### Claude Desktop / Claude Code\n\n```json\n{\n  \"mcpServers\": {\n    \"sandbox\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"https://sandbox-as-a-service.com/mcp.tgz\"],\n      \"env\": { \"AAS_API_KEY\": \"aas_sk_...\" }\n    }\n  }\n}\n```\n\n## The tools\n\n| Tool | What it does |\n|---|---|\n| `create_sandbox` | Creates a VM and returns its id once it is ready. |\n| `run_command` | Runs a shell command as an unprivileged user. Returns stdout, stderr, exit code. |\n| `write_file` | Writes a file. Content travels out of band, so quotes and binary survive. |\n| `read_file` | Reads a file back — how an agent gets at what its code produced. |\n| `list_files` | Lists a directory tree, so an agent can find what a run produced. |\n| `expose_port` | Gives a server inside the sandbox a public https URL to share. |\n| `get_sandbox` | Status, size and expiry. |\n| `list_sandboxes` | Everything on the account, newest first — useful for finding strays. |\n| `extend_sandbox` | Pushes the expiry out when a job outgrows its timeout. |\n| `destroy_sandbox` | Destroys it and stops billing. |\n| `get_usage` | Remaining credit and recent usage. |\n\n## Notes for agents\n\n- Code runs as an unprivileged user. There is no `sudo`, so `apt-get` will not work; use\n  `pip install --user --break-system-packages` or `npm install`, both of which do.\n- `run_command` waits for the command to finish. Start a server with `&` or it will hold the call\n  open until the timeout.\n- A sandbox is destroyed when its timeout expires whether or not `destroy_sandbox` is called, so a\n  forgotten sandbox costs minutes, not money forever. Calling it anyway returns the minutes you were\n  not going to use.\n\n## Environment\n\n| Variable | |\n|---|---|\n| `AAS_API_KEY` | Required. Your API key. |\n| `AAS_BASE_URL` | Optional. Defaults to `https://sandbox-as-a-service.com`. Use the origin only, without `/v1`; the client adds that API prefix. |\n\nMIT licensed. The service it talks to is at\n[sandbox-as-a-service.com](https://sandbox-as-a-service.com);\n[docs](https://sandbox-as-a-service.com/docs/mcp).\n",
  "bytes": 4138,
  "sha": "d98f2242ff644b8c857977cb31fb91ec0e64cd57aa968f8eafb8d023a83e1f93",
  "repo_slug": "fstandhartinger/sandbox-as-a-service-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_sandbox_as_a_service_mcp_2feb4687/readme"
}